2010-08-20 4 views
1

WebService를 사용하여 Flex에서 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> 

ViewField가 없어도 정상적으로 작동합니다.

Flex에서 ViewFields 및 쿼리를 사용할 수 있습니까?

또한이 서비스를 사용하여 특정 조건을 충족하는 항목의 합계를 얻을 수있는 방법이 있습니까?


새로운 형식이 적용됩니다. 하지만 여전히 던지는 오류.

피들러에서 캡처 한 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

+0

고맙습니다 CBono . 나는 format = "xml"과 그것의 작동을 추가했다. –

답변

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가 메시지에서 자동 포맷을한다고 생각한다. 이게 문제 야? 자동 서식을 피할 수있는 방법이 있습니까? –

관련 문제