我正在使用微软商务服务器,最近学习了如何使用 xml Web 服务。我需要使用“updateitems”方法更新一些产品。
SOAP 信封如下所示:
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateItems xmlns="http://schemas.microsoft.com/CommerceServer/2006/06/CatalogWebService">
<catalogName>string</catalogName>
<searchClause>string</searchClause>
<propertyName>string</propertyName>
<replacementValue />
<classTypes>None or CategoryClass or ProductVariantClass or ProductClass or ProductFamilyClass or ProductFamilyForVariantsClass or ProductVariantsForFamilyClass or AllClassTypesClass</classTypes>
<language>string</language>
</UpdateItems>
</soap:Body>
</soap:Envelope>
我使用 nuSoap 的请求如下所示:
$client = new nusoap_client($wsdl, TRUE);
$client->setCredentials('', '', 'ntlm');
$client->setUseCurl(true);
$client->useHTTPPersistentConnection();
$client->setCurlOption(CURLOPT_USERPWD, *);
$m = array(
'catalogName' => 'cat',
'propertyName => 'itemdesc',
'replacementValue' => 'somevalue'
);
$resp = ($client->call('UpdateItems', $m));
我不明白的是searchClause。我不知道任何表或列的名称是什么,并且由于我正在处理敏感数据以及很多数据,因此我不想通过反复试验进行测试。我想在搜索子句中执行类似“ProductID = 159999”的操作,但它没有。