Php 如何将Amazon MWS响应变量传递给另一个API调用?

Php 如何将Amazon MWS响应变量传递给另一个API调用?,php,amazon-mws,Php,Amazon Mws,我正在尝试使用Amazon MWS PHP客户端库中的GetMatchingProductForId函数来匹配UPC和ASIN。匹配后,我从XML响应中检索ASIN值。然后,我尝试将ASIN变量传递给getLowsTofferForasin函数。我不知道该怎么做。我对发展和奋斗还不熟悉。我读过关于静态变量、全局变量和函数参数的书,但不确定在本例中可以使用哪种(如果有的话)。下面是我代码的一部分: 函数invokeGetMachingProductForId(MarketplaceWebServi

我正在尝试使用Amazon MWS PHP客户端库中的GetMatchingProductForId函数来匹配UPC和ASIN。匹配后,我从XML响应中检索ASIN值。然后,我尝试将ASIN变量传递给getLowsTofferForasin函数。我不知道该怎么做。我对发展和奋斗还不熟悉。我读过关于静态变量、全局变量和函数参数的书,但不确定在本例中可以使用哪种(如果有的话)。下面是我代码的一部分:

函数invokeGetMachingProductForId(MarketplaceWebServiceProducts_接口$service,$request) { $response=$service->GetMatchingProductForId($request)

//这将为我正在搜索的UPC代码返回正确的ASIN值。然后我将尝试在下面的函数中使用此ASIN值作为参数

$request = new MarketplaceWebServiceProducts_Model_GetLowestOfferListingsForASINRequest();
$request->setSellerId(MERCHANT_ID);
$request->setMarketplaceId(MARKETPLACE_ID);
$asinList = new MarketplaceWebServiceProducts_Model_ASINListType();
$asinList = $ASIN;
$asinList->setASIN(array($ASIN));
$request->setASINList($asinList);
$request->setItemCondition('Used');
invokeGetLowestOfferListingsForASIN($service, $request);
/** *获取ASIN Action示例的最低报价列表 *获取由标识的产品的竞争性定价和相关信息 *MarketplaceId和ASIN。 *@param MarketplaceWebServiceProducts_接口$MarketplaceWebServiceProducts_接口的服务实例 *@param mixed$request MarketplaceWebServiceProducts_Model_GetLowstofferistingsFarasin 或参数数组 */

(“=========================================================================================================================\n”)

任何帮助都将不胜感激

谢谢


Eric

你并不是说你会犯什么样的错误,但对对象层次结构的社会经济背景的深入研究让我明白了这一点:

$asinList = new MarketplaceWebServiceProducts_Model_ASINListType();
$asinList = $ASIN;
$asinList->setASIN(array($ASIN));

第二行用一个简单的无产阶级字符串替换了StupidlyLongAmazonClassNameHere的精彩实例。这可能是因为后者被视为上层阶级公民而受到冒犯,因此拒绝调用其setASIN方法。

感谢您的建议和帮助。我将这三行代码放在代码中,得到了错误消息对非对象上的成员函数setASIN()的调用-object@MusaddiqKhan我回答的全部要点是这三行导致了问题。我想你需要删除第二行才能工作,但还没有尝试。
function invokeGetLowestOfferListingsForASIN(MarketplaceWebServiceProducts_Interface $service, $request)

  {
      try {
        $response = $service->GetLowestOfferListingsForASIN($request);
        echo ("Service Response\n");
        echo 
$dom = new DOMDocument();
$dom->loadXML($response->toXML());
$dom->preserveWhiteSpace = false;
$dom->formatOutput = true;
echo $dom->saveXML();
echo("ResponseHeaderMetadata: " . $response->getResponseHeaderMetadata() . "\n");


} catch (MarketplaceWebServiceProducts_Exception $ex) {
echo("Caught Exception: " . $ex->getMessage() . "\n");
echo("Response Status Code: " . $ex->getStatusCode() . "\n");
echo("Error Code: " . $ex->getErrorCode() . "\n");
echo("Error Type: " . $ex->getErrorType() . "\n");
echo("Request ID: " . $ex->getRequestId() . "\n");
echo("XML: " . $ex->getXML() . "\n");
echo("ResponseHeaderMetadata: " . $ex->getResponseHeaderMetadata() . "\n");
}
}
$asinList = new MarketplaceWebServiceProducts_Model_ASINListType();
$asinList = $ASIN;
$asinList->setASIN(array($ASIN));