示例#1
0
 /**
  * 抓取订单产品详细
  * @param number $OrderId 
  * @return array
  * @author czq
  */
 public function getOrderDetailLists($OrderId)
 {
     $service = new MarketplaceWebServiceOrders_Client(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, APPLICATION_NAME, APPLICATION_VERSION, $this->config);
     $request = new MarketplaceWebServiceOrders_Model_ListOrderItemsRequest();
     $request->setSellerId(MERCHANT_ID);
     $request->setAmazonOrderId($OrderId);
     $response = $service->listOrderItems($request);
     $listOrderItemsResult = $response->getListOrderItemsResult();
     $all_response = array();
     $all_response[] = $listOrderItemsResult;
     while ($listOrderItemsResult->isSetNextToken()) {
         $request = new MarketplaceWebServiceOrders_Model_ListOrderItemsByNextTokenRequest();
         $request->setSellerId(MERCHANT_ID);
         $request->setNextToken($listOrderItemsResult->getNextToken());
         $response = $service->ListOrdersByNextToken($request);
         $listOrderItemsResult = $response->getListOrderItemsByNextTokenResult();
         $all_response[] = $listOrderItemsResult;
         //最大的请求权限为30个,每30个就sleep 60秒恢复
         if ($this->_requestTimes % 30 == 0) {
             sleep(60);
             $this->_requestTimes = 0;
         }
         $this->_requestTimes++;
     }
     return $all_response;
 }
 /**
  * List Order Items By Next Token
  * If ListOrderItems cannot return all the order items in one go, it will
  *         provide a nextToken. That nextToken can be used with this operation to
  *         retrive the next batch of items for that order.
  *
  * @param mixed $request array of parameters for MarketplaceWebServiceOrders_Model_ListOrderItemsByNextToken request or MarketplaceWebServiceOrders_Model_ListOrderItemsByNextToken object itself
  * @see MarketplaceWebServiceOrders_Model_ListOrderItemsByNextTokenRequest
  * @return MarketplaceWebServiceOrders_Model_ListOrderItemsByNextTokenResponse
  *
  * @throws MarketplaceWebServiceOrders_Exception
  */
 public function listOrderItemsByNextToken($request)
 {
     if (!$request instanceof MarketplaceWebServiceOrders_Model_ListOrderItemsByNextTokenRequest) {
         require_once dirname(__FILE__) . '/Model/ListOrderItemsByNextTokenRequest.php';
         $request = new MarketplaceWebServiceOrders_Model_ListOrderItemsByNextTokenRequest($request);
     }
     $parameters = $request->toQueryParameterArray();
     $parameters['Action'] = 'ListOrderItemsByNextToken';
     $httpResponse = $this->_invoke($parameters);
     require_once dirname(__FILE__) . '/Model/ListOrderItemsByNextTokenResponse.php';
     $response = MarketplaceWebServiceOrders_Model_ListOrderItemsByNextTokenResponse::fromXML($httpResponse['ResponseBody']);
     $response->setResponseHeaderMetadata($httpResponse['ResponseHeaderMetadata']);
     return $response;
 }
 * Uncomment to try out Mock Service that simulates MarketplaceWebServiceOrders
 * responses without calling MarketplaceWebServiceOrders service.
 *
 * Responses are loaded from local XML files. You can tweak XML files to
 * experiment with various outputs during development
 *
 * XML files available under MarketplaceWebServiceOrders/Mock tree
 *
 ***********************************************************************/
// $service = new MarketplaceWebServiceOrders_Mock();
/************************************************************************
 * Setup request parameters and uncomment invoke to try out 
 * sample for List Order Items By Next Token Action
 ***********************************************************************/
// @TODO: set request. Action can be passed as MarketplaceWebServiceOrders_Model_ListOrderItemsByNextTokenRequest
$request = new MarketplaceWebServiceOrders_Model_ListOrderItemsByNextTokenRequest();
$request->setSellerId(MERCHANT_ID);
// object or array of parameters
invokeListOrderItemsByNextToken($service, $request);
/**
 * List Order Items By Next Token Action Sample
 * If ListOrderItems cannot return all the order items in one go, it will
 * provide a nextToken. That nextToken can be used with this operation to
 * retrive the next batch of items for that order.
 *   
 * @param MarketplaceWebServiceOrders_Interface $service instance of MarketplaceWebServiceOrders_Interface
 * @param mixed $request MarketplaceWebServiceOrders_Model_ListOrderItemsByNextToken or array of parameters
 */
function invokeListOrderItemsByNextToken(MarketplaceWebServiceOrders_Interface $service, $request)
{
    try {