1
votes

I have used the AMAZON MWS Marketplace web service order Get Order API.. I have configured correctly. but got the error like "Caught Exception: Access denied Response Status Code: 401 Error Code: AccessDenied Error Type: Sender Request ID: 9bc2e235-218c-4245-b63e-7d93bc6f1da0 XML: Sender AccessDenied Access denied 9bc2e235-218c-4245-b63e-7d93bc6f1da0 ResponseHeaderMetadata: RequestId: 9bc2e235-218c-4245-b63e-7d93bc6f1da0, ResponseContext: 98sqo3AP9MOvPqqfRnPTHw15yXGOIPaK8j3OBLilY+Fp//ta5MYQwxJaYrV7AZLBcei5I2EWYJoq 53tbCvpcJQ==, Timestamp: 2016-04-30T11:20:03.130Z, Quota Max: , Quota Remaining: , Quota Resets At:"

my code is below

public function list_of_order_items()
{

    include_once (DOCROOT."application/vendor/amazon-mws-sdk-master/lib/MarketplaceWebServiceOrders/Samples/config.inc.php");       

     $config = array (
        'ServiceURL' => "https://mws.amazonservices.com/Orders/2013-09-01",
        'ProxyHost' => null,
        'ProxyPort' => -1,
        'ProxyUsername' => null,
        'ProxyPassword' => null,
        'MaxErrorRetry' => 3,
        );

     $service = new MarketplaceWebServiceOrders_Client(
            AWS_ACCESS_KEY_ID,
            AWS_SECRET_ACCESS_KEY,
            APPLICATION_NAME,
            APPLICATION_VERSION,
            $config);

        $request = new MarketplaceWebServiceOrders_Model_GetOrderRequest();
        $request->setSellerId(MERCHANT_ID);
        // object or array of parameters

        $response = $this->invokeGetOrder($service, $request);

}

public function invokeGetOrder(MarketplaceWebServiceOrders_Interface $service, $request)

{

  try {
    $response = $service->GetOrder($request);

echo"

"; print_r($response); exit;
echo ("Service Response\n"); echo ("=============================================================================\n"); $dom = new DOMDocument(); $dom->loadXML($response->toXML()); $dom->preserveWhiteSpace = false; $dom->formatOutput = true; echo $dom->saveXML(); echo("ResponseHeaderMetadata: " . $response->getResponseHeaderMetadata() . "\n"); } catch (MarketplaceWebServiceOrders_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"); }

}

1
this could help you, but you have to read the issues and pull requests because it has one small bug ( its very fast to fix ) github.com/CPIGroup/phpAmazonMWS/tree/master - cartalot

1 Answers

0
votes

I think your are missed to config the Order ID parameter for $request object.

$request->setAmazonOrderId($orderId);