2010-08-20 39 views
1

我想從Flex使用WebService訪問Sharepoint的Lists服務的getListItems方法。從Flex中訪問Sharepoint服務的問題

當我在請求xml中省略查詢和viewFields節點時,它工作正常。 但是,如果我在Viewfields中添加任何查詢或FieldRef,它將從服務中引發錯誤。

以下是代碼。

<mx:WebService id="ws2" wsdl="{url}/_vti_bin/Lists.asmx?WSDL" result="ws2result(event)" fault="ws2fault(event)" showBusyCursor="true">  
     <mx:operation name="GetListItems" resultFormat="e4x"> 
      <mx:request xmlns="http://schemas.microsoft.com/sharepoint/soap/"> 
       <listName>{listId}</listName> 
       <viewName>{viewId}</viewName> 
       <ViewFields><FieldRef Name='Locations'/></ViewFields> 
      </mx:request> 
     </mx:operation> 
    </mx:WebService> 

它沒有ViewFields工作正常。

我們可以使用ViewFields和flex查詢嗎?

還有什麼辦法可以使用此服務獲得滿足特定競價的項目總和嗎?


應用了新的格式。但仍然是拋出錯誤。

從提琴手捕獲的SOAP消息。

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <SOAP-ENV:Body> 
    <tns:GetListItems xmlns:tns="http://schemas.microsoft.com/sharepoint/soap/"> <tns:listName>{0A1C8CDA-E738-46B7-923D-1D2C599D960F}</tns:listName> 
    <tns:viewFields> 
    <tns:Name>ID</tns:Name> 
    </tns:viewFields> 
    </tns:GetListItems> 
    </SOAP-ENV:Body> 
    </SOAP-ENV:Envelope> 

但是,操作標籤中的消息傳遞如下。

<mx:operation name="GetListItems" > 
      <mx:request xmlns="http://schemas.microsoft.com/sharepoint/soap/"> 
       <listName>\{0A3C3DCA-E744-46C7-916D-1D2C539A960F\}</listName> 
     <viewFields> 
      <ViewFields> 
       <FieldRef Name="ID" /> 
      </ViewFields> 
     </viewFields> 
    </mx:request> 
</mx:operation> 
+0

嘗試向請求元素添加'format'屬性:' CBono 2010-08-24 13:14:56

+0

非常感謝CBono 。我添加了format =「xml」,現在就開始工作。 – 2010-08-26 04:48:15

回答

1

我不能確定沒有看到實際的SOAP消息通過線路的樣本,但我相信你在請求中缺少一些包含元素。

您所查詢的,它需要被構造爲:

<query> 
    <Query> 
    <{CAML QUERY HERE}> 
    </Query> 
</query> 

注含有<query>的情況。同一首歌,不同的詩爲ViewFields:

<viewFields> 
    <ViewFields> 
    <FieldRef Name="foo" /> 
    </ViewFields> 
</viewFields> 

QueryOptions也必須包含在<queryOptions>元素。瘋狂的SharePoint!

+0

謝謝CBono。 我試過新的格式。它仍然是錯誤的。我用提琴檢查了SOAP消息。它顯示了一些與實際格式不同的區別。我編輯了這個問題來添加當前的SOAP消息。 我認爲flex會對消息進行一些自動格式化。這是問題嗎?有什麼辦法可以避免自動格式化? – 2010-08-24 05:16:06