Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Amazon MWS产品源未提交_Php_Amazon Mws - Fatal编程技术网

Php Amazon MWS产品源未提交

Php Amazon MWS产品源未提交,php,amazon-mws,Php,Amazon Mws,我正在开发AmazonAPI。我想在amazon帐户上提交产品提要 我已经通过Amazon Scratch Pad验证了XML文件(产品提要),我得到了提要已提交的响应,但是当我运行脚本时,要按脚本提交相同的提要,我没有得到任何响应 这是我的密码: $req = new MarketplaceWebService_Model_SubmitFeedRequest(); $req->setMerchant(MERCHANTID); $req->setMarketplaceIdList(M

我正在开发AmazonAPI。我想在amazon帐户上提交产品提要

我已经通过Amazon Scratch Pad验证了XML文件(产品提要),我得到了提要已提交的响应,但是当我运行脚本时,要按脚本提交相同的提要,我没有得到任何响应

这是我的密码:

$req = new MarketplaceWebService_Model_SubmitFeedRequest();
$req->setMerchant(MERCHANTID);
$req->setMarketplaceIdList(MARKETPLACEID);
$req->setFeedType('_POST_PRODUCT_DATA_');
$req->setContentMd5(base64_encode(md5(stream_get_contents($fh), true)));
rewind($fh);
$req->setPurgeAndReplace(true);
$req->setFeedContent($fh);
$res = $mws->submitFeed($request);
echo $res;
当我回显
$res
时,无法获得响应


我已经更改了
$res=$mws->submitFeed($request)
$res=$mws->submitFeed($req)。仍然没有成功提交提要。我没有收到亚马逊在提交提要时返回的任何响应标题

代码如下所示:

$req = new MarketplaceWebService_Model_SubmitFeedRequest();
$fh = fopen('feed.xml', 'r');
$req->setMerchant(MERCHANTID);
$req->setMarketplaceIdList(MARKETPLACEID);
$req->setFeedType('_POST_PRODUCT_DATA_');
$req->setContentMd5(base64_encode(md5(stream_get_contents($fh), true)));
rewind($fh);
$req->setPurgeAndReplace(true);
$req->setFeedContent($fh);
$res = $mws->submitFeed($req);
echo $res;

除了其他可能出错的事情外:您正在提交
$request
,而您可能想要提交的是
$req

编辑:由于您已更正此错误,但仍然没有结果…:

submitFeed()
返回一个
MarketplaceWebService\u Model\u SubmitFeedResponse
对象

Echo不处理对象,除非该对象具有
\uu toString()
方法,而该类没有该方法。尝试使用
print\u r($res)
var\u dump($res)

试试这个

$marketplaceIdArray = array("Id" => array($MARKETPLACE_ID));
     $feedHandle = @fopen('php://temp', 'rw+');
     fwrite($feedHandle, $feed);
     rewind($feedHandle); 

     $parameters = array(
         'Merchant' => $MERCHANT_ID,
         'MarketplaceIdList' => $marketplaceIdArray,
         'FeedType' => '_POST_PRODUCT_DATA_',
         'FeedContent' => $feedHandle,
         'PurgeAndReplace' => false, 
         'ContentMd5' => base64_encode(md5(stream_get_contents($feedHandle), true))
     );

     rewind($feedHandle);
     $request = new MarketplaceWebService_Model_SubmitFeedRequest($parameters);

     $return_feed = invokeSubmitFeed($service, $request);

     fclose($feedHandle);