public function updateStatusForFeeds() { $sql = "select sf.id_subfeed, sf.feed_submission_id from ps_affiliate_subfeed sf where sf.id_status = " . MarketplaceWebService_DB::$STATUS_AZN_SUBMITTED; $feeds = $this->db->ExecuteS($sql); $service = new MarketplaceWebService_Client($this->mws_config['access_key'], $this->mws_config['secret_key'], $this->config, APPLICATION_NAME, APPLICATION_VERSION); foreach ($feeds as $feed) { $id_subfeed = $feed['id_subfeed']; $feed_submission_id = $feed['feed_submission_id']; $request = new MarketplaceWebService_Model_GetFeedSubmissionResultRequest(); $request->setMerchant($this->mws_config['merchant_id']); $request->setFeedSubmissionId($feed_submission_id); $request->setFeedSubmissionResult(@fopen('php://memory', 'rw+')); $this->invokeGetFeedSubmissionResult($service, $request); sleep(5); } }
/** Get FeedSubmissionInfo * @param $feedSubmissionId * @return bool|\SimpleXMLElement */ public function getSubmission($feedSubmissionId) { if ($feedSubmissionId > 0) { $request = new \MarketplaceWebService_Model_GetFeedSubmissionResultRequest(); $request->setFeedSubmissionId($feedSubmissionId); $request->setMarketplace($this->config['marketplace_id']); $request->setMerchant($this->config['merchant_id']); $handle = @fopen('php://memory', 'rw+'); $request->setFeedSubmissionResult($handle); $this->client->getFeedSubmissionResult($request); rewind($handle); $xmlResponse = stream_get_contents($handle); try { return new \SimpleXMLElement($xmlResponse); } catch (\Exception $ex) { return $xmlResponse; } } else { return false; } }
function getFeedStatus($submitId, $service, $xmlFile) { if (preg_match('/^\\d+$/', $submitId) < 1) { errorLog($submitId, ':submissionId 不正确!', 'N'); return false; } if (is_file($xmlFile)) { $resource = @fopen($xmlFile, 'w+'); } else { $resource = @fopen('php://memory', 'rw+'); } $parameters = array('Merchant' => MERCHANT_ID, 'FeedSubmissionId' => $submitId, 'FeedSubmissionResult' => $resource); $request = new MarketplaceWebService_Model_GetFeedSubmissionResultRequest($parameters); //$request = new MarketplaceWebService_Model_GetFeedSubmissionResultRequest(); $request->setMerchant(MERCHANT_ID); $request->setFeedSubmissionId($submitId); if (is_file($xmlFile)) { $request->setFeedSubmissionResult(@fopen($xmlFile, 'rw+')); } else { $request->setFeedSubmissionResult(@fopen('php://memory', 'rw+')); } invokeGetFeedSubmissionResult($service, $request); }
* XML files available under MarketplaceWebService/Mock tree * ***********************************************************************/ // $service = new MarketplaceWebService_Mock(); /************************************************************************ * Setup request parameters and uncomment invoke to try out * sample for Get Feed Submission Result Action ***********************************************************************/ // @TODO: set request. Action can be passed as MarketplaceWebService_Model_GetFeedSubmissionResultRequest // object or array of parameters $parameters = array('Merchant' => MERCHANT_ID, 'FeedSubmissionId' => '<Feed Submission Id>', 'FeedSubmissionResult' => @fopen('php://memory', 'rw+')); $request = new MarketplaceWebService_Model_GetFeedSubmissionResultRequest($parameters); $request = new MarketplaceWebService_Model_GetFeedSubmissionResultRequest(); $request->setMerchant(MERCHANT_ID); $request->setFeedSubmissionId('<Feed Submission Id>'); $request->setFeedSubmissionResult(@fopen('php://memory', 'rw+')); //invokeGetFeedSubmissionResult($service, $request); /** * Get Feed Submission Result Action Sample * retrieves the feed processing report * * @param MarketplaceWebService_Interface $service instance of MarketplaceWebService_Interface * @param mixed $request MarketplaceWebService_Model_GetFeedSubmissionResult or array of parameters */ function invokeGetFeedSubmissionResult(MarketplaceWebService_Interface $service, $request) { try { $response = $service->getFeedSubmissionResult($request); echo "Service Response\n"; echo "=============================================================================\n"; echo " GetFeedSubmissionResultResponse\n";
* Generated: Thu May 07 13:07:36 PDT 2009 * */ /** * Get Feed Submission Result Sample */ include_once '.config.inc.php'; $serviceUrl = "https://mws.amazonservices.com"; $config = array('ServiceURL' => $serviceUrl, 'ProxyHost' => null, 'ProxyPort' => -1, 'MaxErrorRetry' => 3); $service = new MarketplaceWebService_Client(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, $config, APPLICATION_NAME, APPLICATION_VERSION); $request = new MarketplaceWebService_Model_GetFeedSubmissionResultRequest(); $request->setMarketplace(MARKETPLACE_ID); $request->setMerchant(MERCHANT_ID); $request->setFeedSubmissionId('3270420532'); $myHandle = @fopen('php://memory', 'rw+'); $request->setFeedSubmissionResult($myHandle); invokeGetFeedSubmissionResult($service, $request); rewind($myHandle); echo stream_get_contents($myHandle); function invokeGetFeedSubmissionResult(MarketplaceWebService_Interface $service, $request) { try { $response = $service->getFeedSubmissionResult($request); } 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"; }
public function getFeedSubmissionResult($FeedSubmissionId) { $this->initAPI(); $resultHandle = @fopen('php://memory', 'rw+'); $request = new MarketplaceWebService_Model_GetFeedSubmissionResultRequest(); $request->setMerchant($this->SellerId); $request->setFeedSubmissionId($FeedSubmissionId); $request->setFeedSubmissionResult($resultHandle); // invoke request try { $response = $this->service->getFeedSubmissionResult($request); if ($response->isSetGetFeedSubmissionResultResult()) { rewind($resultHandle); $result = new stdClass(); $result->content = stream_get_contents($resultHandle); $result->success = true; // log to db - parsed request $this->dblogger->updateLog(array('result' => $result->content, 'success' => 'Success')); return $result; } } catch (MarketplaceWebService_Exception $ex) { $error = new stdClass(); $error->ErrorMessage = $ex->getMessage(); $error->ErrorCode = $ex->getErrorCode(); $error->StatusCode = $ex->getStatusCode(); $error->success = false; return $error; } $result = new stdClass(); $result->success = false; return $result; }