【发布时间】:2013-11-23 19:51:35
【问题描述】:
我编写了一个简单的 PHP 脚本,用于从 eBay 检索商品。我正在使用 PHP 和 SOAP。我可以通过其他电话获得物品。但是,我需要使用findItemsAdvanced 电话从卖家那里获取商品,但我无法让它工作。
这是我目前所拥有的:
function call_ebay_id_api($itemID){
$location = 'http://svcs.ebay.com/services/search/FindingService/v1?SECURITY-APPNAME=****8&OPERATION-NAME=findItemsAdvanced&itemFilter(0).name=Seller&itemFilter(0).value=****';
$clientebay = new SoapClient(
"http://developer.ebay.com/webservices/Finding/latest/FindingService.wsdl",
array(
"exceptions" => 0,
"trace" => 1,
"location"=> $location
)
);
$requestebay = array("itemFilter" => array("name" => "Seller", "value" => "****"));
$xmlresultsebay = $clientebay->__soapCall('findItemsAdvanced', array($requestebay));
echo "REQUEST HEADERS:\n<pre>" . htmlentities($clientebay->__getLastRequestHeaders()) . "</pre>\n";
echo "REQUEST:\n<pre>" . htmlentities($clientebay->__getLastRequest()) . "</pre>\n";
echo "RESPONSE:\n<pre>" . htmlentities($clientebay->__getLastResponse()) . "</pre>\n";
echo 'd';
return $xmlresultsebay;
来自这里的 XML 请求是:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.ebay.com/marketplace/search/v1/services">
<SOAP-ENV:Body>
<ns1:findItemsAdvancedRequest>
<itemFilter>
<name>Seller</name>
<value>*seller name here*</value>
</itemFilter>
</ns1:findItemsAdvancedRequest>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
这看起来像他们在API's page 上的示例
但是,我得到的回复是错误的。它说我需要指定关键字或类别 ID。当我这样做时,我得到了成功,但 itemFilter 没有被应用。
谁能帮帮我?
【问题讨论】: