У меня возникла проблема с получением результатов обработанного файла фида с использованием API Amazon MWS с PHP. Если честно, я использую класс getFeedSubmissionResult. Проблема в том, что, когда я использую API, как указано в документации, нет соответствующих данных, которые читаются классом, к которому я могу получить доступ (или, как кажется). Поэтому мой вопрос: как я могу получить необработанный XML-файл, который amazon отправляет обратно и сохраняет его в файл на моем компьютере?Amazon MWS API w/PHP: альтернатива getFeedSubmissionResult
Я исправляю код, используемый MWS, и пытаюсь найти, где они тянут в XML-файл с amazon, и проанализировать его, чтобы попытаться сохранить его в файл без везения. Я был бы очень признателен, если бы кто-то мог направить меня на исправление, а если нет, то, возможно, работа может быть лучше.
Так это то, что я делал:
Я использовал getFeedSubmissionResultSample.php представлены в образцах MWS. Предположительно, это должно дать мне данные, которые сообщают мне, сколько элементов было обработано и сколько обработанных элементов были успешными. Но это не так. Так что я пытался сделать print_r переменной отклика:
function invokeGetFeedSubmissionResult(MarketplaceWebService_Interface $service,$request) {
try {
$response = $service->getFeedSubmissionResult($request);
echo "<br />Var dump here: <pre>";
print_r($response);
echo ("<pre>Service Response\n");
echo ("=============================================================================\n");
echo(" GetFeedSubmissionResultResponse\n");
if ($response->isSetGetFeedSubmissionResultResult()) {
$getFeedSubmissionResultResult = $response->getGetFeedSubmissionResultResult();
echo (" GetFeedSubmissionResult\n");
if ($getFeedSubmissionResultResult->isSetContentMd5()) {
echo (" ContentMd5\n");
echo (" " . $getFeedSubmissionResultResult->getContentMd5() . "\n");
}
}
if ($response->isSetResponseMetadata()) {
echo(" ResponseMetadata\n");
$responseMetadata = $response->getResponseMetadata();
if ($responseMetadata->isSetRequestId())
{
echo(" RequestId\n");
echo(" " . $responseMetadata->getRequestId() . "\n");
}
}
echo(" ResponseHeaderMetadata: " . $response->getResponseHeaderMetadata() . "\n");
} catch (MarketplaceWebService_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");
}
}
И выход дает мне это:
Service Response
GetFeedSubmissionResultResponse
GetFeedSubmissionResult
ContentMd5
G5Sw+2ooONEZU1iQoqdEOQ==
ResponseMetadata
RequestId
f9d4be45-6710-42eb-850e-f437224f9938
ResponseHeaderMetadata: RequestId: f9d4be45-6710-42eb-850e-f437224f9938, ResponseContext: EM/RH7RHQhLSc47Tj2a2Uv2CGKEfvxaKOijjcaKeoh8dGISci3yqo9OHZs7dpLDIszJVz4Jt4z8=,9SYUaktMzcOG6UyuyhXu/kJPl0gpLeenslL2rkugDLhDYftMleRx1XIexbVWNxuYl7cO6901Foiv Kp7hvaLeAQ==, Timestamp: 2013-06-18T07:29:37.393Z
Я опустил результаты var_dump, потому что я не знайте, может ли это быть проблемой безопасности с моей стороны. Но в любом случае var_dump не предоставил никаких данных, к которым я мог бы получить доступ. Я также проследил код, где классы и их методы, чтобы увидеть, могу ли я получить к нему доступ оттуда, но вышел с пустыми руками.
Обратите внимание, что у меня есть правильные параметры для вызова результатов (т. Е. FeedSubmissionId), потому что я сделал это с помощью амазонной царапины.
Ваша помощь будет принята с благодарностью! :)
С уважением, Халев
Ничего себе! Это прекрасно работает! :) Это невероятно! Спасибо огромное! Просто разочаровывает, что нет никакой документации, чтобы лучше объяснить, как добиться результата. Это даже не в руководстве MWS от Amazon. Еще раз спасибо! – Caleb
Я согласен с тобой, что это было слишком сложно для меня :), поэтому я разместил его. – 1nstinct
, и я все время искал MWS! haha, Спасибо за помощь снова! ваш рейтинг репутации должен быть на 100% выше!:) – Caleb