Я тестирую образец API API-интерфейса Amazon MWS для PHP. Когда я запускаю коды в образце GetMyPriceForASIN, он не возвращает никакого ответа даже на ответ об ошибке.GetMyPriceForASIN на Amazon MWS API не работает
$ret = 'ASINList.ASIN.0.=000001ASS&ASINList.ASIN.1.=B00002YHY&ASINList.ASIN.2.=B01112Z4VW';
$request = new MarketplaceWebServiceProducts_Model_GetMyPriceForASINRequest();
$request->setSellerId(MERCHANT_ID);
$request->setASINList($ret);
invokeGetMyPriceForASIN($service, $request);
function invokeGetMyPriceForASIN(MarketplaceWebServiceProducts_Interface $service, $request){
try {
$response = $service->GetMyPriceForASIN($request);
$dom1 = new DOMDocument();
$dom1->loadXML($response->toXML());
$dom1->preserveWhiteSpace = false;
$dom1->formatOutput = true;
echo $dom1->saveXML();
} catch (MarketplaceWebServiceProducts_Exception $ex1) {
echo("Caught Exception: " . $ex1->getMessage() . "\n");
echo("Response Status Code: " . $ex->getStatusCode() . "\n");
echo("Error Code: " . $ex1->getErrorCode() . "\n");
echo("Error Type: " . $ex1->getErrorType() . "\n");
echo("Request ID: " . $ex1->getRequestId() . "\n");
echo("XML: " . $ex1->getXML() . "\n");
echo("ResponseHeaderMetadata: " . $ex1->getResponseHeaderMetadata() . "\n");
}
}
, как я пытаюсь отлаживать это сам я не застрял до этого набора кодов
public function getMyPriceForASIN($request){
if (!($request instanceof MarketplaceWebServiceProducts_Model_GetMyPriceForASINRequest)) {
require_once (dirname(__FILE__) . '/Model/GetMyPriceForASINRequest.php');
$request = new MarketplaceWebServiceProducts_Model_GetMyPriceForASINRequest($request);
}
$parameters = $request->toQueryParameterArray();
$parameters['Action'] = 'GetMyPriceForASIN';
$httpResponse = $this->_invoke($parameters);
require_once (dirname(__FILE__) . '/Model/GetMyPriceForASINResponse.php');
$response = MarketplaceWebServiceProducts_Model_GetMyPriceForASINResponse::fromXML($httpResponse['ResponseBody']);
$response->setResponseHeaderMetadata($httpResponse['ResponseHeaderMetadata']);
return $response;
}
на этом коде я обнаружил ошибку
$parameters = $request->toQueryParameterArray();
он не возвращает массив и я не знаю, где найти функцию. Я также задаюсь вопросом, возможно, что мой формат списка ASIN был неправильным, это формат.
ASINList.ASIN.0.=000001ASS&ASINList.ASIN.1.=B00002YHY&ASINList.ASIN.2.=B01112Z4VW
Что такое, что функция 'test1'? Можете ли вы исправить это, потому что теперь он использует неопределенные переменные '$ response',' $ x', ничего не возвращает, если исключение не поймано ... Это делает что-то странное. Или исключите его, если это не имеет отношения к вопросу. –