亚马逊MWS Marketplace SDK,无法发送_POST_PRODUCT_DATA Feed

时间:2013-08-26 17:43:16

标签: php sdk amazon-mws

我正在使用亚马逊的Marketplace SDK发布产品Feed。我得到这样的例外:

Caught Exception: Internal Error
Response Status Code: 0
Error Code: 
Error Type: 
Request ID: 
XML: 
ResponseHeaderMetadata: 

将CURLOPT_SSL_VERIFYPEER设置为false(如建议的here)对我没有用。我还有例外。

有时(似乎是随机发生的)“响应状态代码”设置为413,服务器响应显示“请求实体太大”。

我已经测试了连接,Feed(使用Scratchpad)并成功使用SDK来获取报告和产品。我已经尝试从头开始重启(也使用SDK提供的示例)...每一件都可以正常工作。

这里是我的代码(省略了提取xml字符串):

$feedHandle = @fopen('php://memory', 'rw+');
fwrite($feedHandle, $feed);
rewind($feedHandle);

$mwsRequest = new MarketplaceWebService_Model_SubmitFeedRequest();
$mwsRequest->setMerchant(MERCHANT_ID);
$mwsRequest->setMarketplaceIdList($marketplaceIdArray);
$mwsRequest->setFeedType('_POST_PRODUCT_DATA_');
$mwsRequest->setContentMd5(base64_encode(md5(stream_get_contents($feedHandle), true)));
rewind($feedHandle);
$mwsRequest->setPurgeAndReplace(false);
$mwsRequest->setFeedContent($feedHandle);
try {
  $response = $service->submitFeed($mwsRequest);
  echo '<pre>' . print_r($response,true) . '</pre>';

} catch (MarketplaceWebService_Exception $ex) {
  echo "<pre>";
  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");
  echo "</pre>";
}

有没有人有同样的问题?提前谢谢。

0 个答案:

没有答案
相关问题