从PHP访问SharePoint 2010分类法web服务
我正在尝试从PHP访问SharePoint提供的分类web服务,但到目前为止运气不太好 我设法让它与列表Web服务一起工作,但这项服务要困难得多 这个服务的区别之一是输出参数,我不知道如何处理这个问题 下面是我正在使用的核心代码从PHP访问SharePoint 2010分类法web服务,php,web-services,sharepoint-2010,Php,Web Services,Sharepoint 2010,我正在尝试从PHP访问SharePoint提供的分类web服务,但到目前为止运气不太好 我设法让它与列表Web服务一起工作,但这项服务要困难得多 这个服务的区别之一是输出参数,我不知道如何处理这个问题 下面是我正在使用的核心代码 $params = array('sharedServiceIds' => '<termStoreId>66e3f3ae-573a-4dab-b86a-5175f01ca3b5</termStoreId>',
$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);
现在在我的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)
我在一个c#桌面应用程序中使用了这个功能,因此我知道该服务正在运行
我不知道该怎么做才能从php实现这个功能。好的,所以我花了一整天的时间来解决这个问题,结果发现我没有正确设置clientVersions参数的格式
'clientVersions' => 1,
应该是
'clientVersions' => '<version>1</version>',
'clientVersions'=>'1',
'clientVersions' => '<version>1</version>',