我想給eBay api打個電話,並通過關鍵字查找產品。隨着eBay documentation和其他在線資源的幫助下,我想出了這個代碼:如何使用PHP對Ebay API進行肥皂調用?
$client = new \SoapClient('http://developer.ebay.com/webservices/finding/latest/FindingService.wsdl');
$soap_headers = array(
new \SoapHeader('X-EBAY-SOA-OPERATION-NAME', 'findItemsByKeywords'),
new \SoapHeader('X-EBAY-SOA-SERVICE-VERSION', '1.3.0'),
new \SoapHeader('X-EBAY-SOA-REQUEST-DATA-FORMAT', 'XML'),
new \SoapHeader('X-EBAY-SOA-GLOBAL-ID', 'EBAY-US'),
new \SoapHeader('X-EBAY-SOA-SECURITY-APPNAME', '<there would be the key>'),
);
$client->__setSoapHeaders($soap_headers);
// Call wsdl function
$result = $client->__soapCall("findItemsByKeywords", array("keywords" => "Potter"));
但是,此代碼導致錯誤: 「服務操作是未知的, 500內部服務器錯誤 - 的SOAPFault」
我試圖改變的第一行到這個(不知道爲什麼它應該有所作爲,但我看到它的地方):
$client = new \SoapClient(NULL, array(
"location" => 'http://svcs.sandbox.ebay.com/services/search/FindingService/v1',
'uri' => 'http://svcs.sandbox.ebay.com/services/search/FindingService/v1')
);
一第二,現在這個結果在此錯誤:缺少SOA業務名頭, 500內部服務器錯誤 - 的SOAPFault
有誰知道是什麼原因導致出現這些錯誤,以及如何解決這些問題?
謝謝,邁克!
嗨Alejadro。我試過了,代碼在身份驗證中失敗了,所以我發現有必要在頭文件之間添加逗號。無論如何,現在有和以前一樣的錯誤:「服務操作findItemsByKeywords,是未知的」,它在_soapCall(..)方法上失敗。 – Mike
@Mike是的,由於逗號,該服務正在嘗試查找'findItemsByKeywords',現在。刪除逗號。標題應該用換行符分隔。查看更新的答案 – alepeino