2011-02-15 75 views
2

这是例外:CAML查询扔SoapServerException

Exception of type 'Microsoft.SharePoint.SoapServer.SoapServerException' was thrown. 

这里的CAML代码:

<Query> 
<Where> 
    <And> 
    <And> 
    <And> 
     <And> 
     <And> 
      <And> 
      <And> 
       <Contains> 
       <FieldRef Name="Title"> 
        <Value Type="Text">password</Value> 
       </FieldRef> 
       </Contains> 
       <Contains> 
       <FieldRef Name="Answer"> 
        <Value Type="Note">pass</Value> 
       </FieldRef> 
       </Contains> 
      </And> 
      <Eq> 
       <FieldRef Name="PubDestination1"> 
       <Value Type="Text">PCOM</Value> 
       </FieldRef> 
      </Eq> 
      </And> 
      <Eq> 
      <FieldRef Name="PubDestination2"> 
       <Value Type="Text">2</Value> 
      </FieldRef> 
      </Eq> 
     </And> 
     <Eq> 
      <FieldRef Name="FaqCategory"> 
      <Value Type="Text">Autenticação</Value> 
      </FieldRef> 
     </Eq> 
     </And> 
     <Eq> 
     <FieldRef Name="PublicComponent"> 
      <Value Type="Boolean">1</Value> 
     </FieldRef> 
     </Eq> 
    </And> 
    <Geq> 
     <FieldRef Name="PubStartDate"> 
     <Value Type="DateTime" IncludeTimeValue="TRUE">2011-02-07T00:00:00Z</Value> 
     </FieldRef> 
    </Geq> 
    </And> 
    <Leq> 
    <FieldRef Name="PubStartDate"> 
     <Value Type="DateTime" IncludeTimeValue="TRUE">2011-02-25T00:00:00Z</Value> 
    </FieldRef> 
    </Leq> 
    </And> 
</Where> 
</Query> 

代码工作的时候,不指定任何过滤器...

回答

2

价值元素不应该在FieldRef元素中。您应该将FieldRef和Value都放入一个父元素(如Contains)中:

<Contains> 
    <FieldRef Name="Title"/> 
    <Value Type="Text">password</Value> 
    </Contains> 
+0

对于其他比较运算符是否适用于gt或eq? – 2011-02-15 15:12:29