0

PHP から SharePoint が提供する分類 Web サービスにアクセスしようとしていますが、これまでのところうまくいきません。

リストWebサービスで動作させることができましたが、このサービスははるかに困難です.

このサービスの違いの 1 つは出力パラメーターであり、その処理方法がわかりません。

これが私が使用しているコアコードです。

$params = array('sharedServiceIds' => '<termStoreId>66e3f3ae-573a-4dab-b86a-5175f01ca3b5</termStoreId>',
                    'termSetIds' => '<termSetId>e7df9a5c-a760-4247-96ed-e4c125fad54a</termSetId>',
                    'lcid' => 1033,
                    'clientTimeStamps' => '<timeStamp>633992461437070000</timeStamp>',
        'clientVersions' => 1,
                    );



//echo file_get_contents($wsdl, FILE_TEXT, stream_context_create(array('http' => array('timeout' => 1))), 0, 1);

$rawXMLresponse = null;
try{
    $rawXMLresponse = $soapClient->GetTermSets($params);//->GetListItemsResult->any;
}
catch(SoapFault $fault){
    echo 'Fault code: '.$fault->faultcode;
    echo 'Fault string: '.$fault->faultstring;
}

echo "Printing response<br>\n";
print_r($rawXMLresponse);

次の障害コードとメッセージが表示されます

Fault code: soap:ServerFault string: Server was unable to process request. ---> Data at the root level is invalid. Line 1, position 1.

SharePoint ログにこのエラーが表示されるようになりました

TaxonomyClientService: Get term sets failed: System.Xml.XmlException: Data
 at the root level is invalid. Line 1, position 1.    
 at System.Xml.XmlTextReaderImpl.Throw(Exception e)    
 at System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace()    
 at System.Xml.XmlTextReaderImpl.ParseDocumentContent()    
 at Microsoft.SharePoint.Taxonomy.Internal.CommonUtilities.GetIntsFromXml(String ints)    
 at Microsoft.SharePoint.Taxonomy.WebServices.TaxonomyClientService.GetTermSets(String sharedServiceIds, String termSetIds, Int32 lcid, String clientTimeStamps, String clientVersions, String& serverTermSetTimeStampXml)

これは ac# デスクトップ アプリケーションで動作しているので、サービスが動作していることがわかります。

これをphpから機能させるために何をすべきかわかりません。

4

1 に答える 1

0

さて、私はこの問題に1日以上費やして、clientVersionsパラメーターを正しくフォーマットしなかったことに気づきました。

'clientVersions' => 1,

する必要があります

'clientVersions' => '<version>1</version>',
于 2012-10-02T20:45:02.163 に答える