Проблема при доступе к сервису Sharepoint из Flex - PullRequest
1 голос
/ 20 августа 2010

Я пытаюсь получить доступ к методу getListItems службы списков Sharepoint из Flex с помощью WebService.

Работает нормально, когда я опускаю запрос и узлы viewFields в запросе xml.Но если я добавляю какой-либо запрос или FieldRef в Viewfields, он выдает ошибку из сервиса.

Ниже приведен код.

<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>

1 Ответ

1 голос
/ 20 августа 2010

Я не могу сказать наверняка, не увидев образец фактического сообщения SOAP, передаваемого по сети, но я полагаю, что вам не хватает некоторых элементов, содержащихся в запросе.быть структурированным как:

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

Обратите внимание на случай содержащего <query>.Та же песня, другой стих для ViewFields:

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

QueryOptions также должен содержаться в элементе <queryOptions>.Сумасшедший SharePoint!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...