/**
 * Get Report List By Next Token Action Sample
 * retrieve the next batch of list items and if there are more items to retrieve
 *   
 * @param MarketplaceWebService_Interface $service instance of MarketplaceWebService_Interface
 * @param mixed $request \Amazon\MWS\Reports\Model\Reports_Model_GetReportListByNextToken or array of parameters
 */
function invokeGetReportListByNextToken(MarketplaceWebService_Interface $service, $request)
{
    try {
        $response = $service->getReportListByNextToken($request);
        echo "Service Response\n";
        echo "=============================================================================\n";
        echo "        GetReportListByNextTokenResponse\n";
        if ($response->isSetGetReportListByNextTokenResult()) {
            echo "            GetReportListByNextTokenResult\n";
            $getReportListByNextTokenResult = $response->getGetReportListByNextTokenResult();
            if ($getReportListByNextTokenResult->isSetNextToken()) {
                echo "                NextToken\n";
                echo "                    " . $getReportListByNextTokenResult->getNextToken() . "\n";
            }
            if ($getReportListByNextTokenResult->isSetHasNext()) {
                echo "                HasNext\n";
                echo "                    " . $getReportListByNextTokenResult->getHasNext() . "\n";
            }
            $reportInfoList = $getReportListByNextTokenResult->getReportInfo();
            foreach ($reportInfoList as $reportInfo) {
                echo "                ReportInfo\n";
                if ($reportInfo->isSetReportId()) {
                    echo "                    ReportId\n";
                    echo "                        " . $reportInfo->getReportId() . "\n";
                }
                if ($reportInfo->isSetReportType()) {
                    echo "                    ReportType\n";
                    echo "                        " . $reportInfo->getReportType() . "\n";
                }
                if ($reportInfo->isSetReportRequestId()) {
                    echo "                    ReportRequestId\n";
                    echo "                        " . $reportInfo->getReportRequestId() . "\n";
                }
                if ($reportInfo->isSetAvailableDate()) {
                    echo "                    AvailableDate\n";
                    echo "                        " . $reportInfo->getAvailableDate()->format(DATE_FORMAT) . "\n";
                }
                if ($reportInfo->isSetAcknowledged()) {
                    echo "                    Acknowledged\n";
                    echo "                        " . $reportInfo->getAcknowledged() . "\n";
                }
                if ($reportInfo->isSetAcknowledgedDate()) {
                    echo "                    AcknowledgedDate\n";
                    echo "                        " . $reportInfo->getAcknowledgedDate()->format(DATE_FORMAT) . "\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";
    }
}
Esempio n. 2
0
/**
 * Retrieves the report ID for the given request ID, or 0 if not found.
 *
 * $Request can be either an instance of MarketplaceWebService_Model_GetReportListRequest,
 * MarketplaceWebService_Model_GetReportListByNextTokenRequest or an array of parameters
 *
 * @param MarketplaceWebService_Interface $Service
 * @param mixed $Request
 * @param int $RequestID
 * @return int
 */
function Get_ReportID(MarketplaceWebService_Interface $Service, $Request, $RequestID, $MerchantID)
{
    try {
        if ($Request instanceof MarketplaceWebService_Model_GetReportListByNextTokenRequest) {
            $Res = $Service->getReportListByNextToken($Request);
            if (!$Res->isSetGetReportListByNextTokenResult()) {
                return 0;
            }
            $Res = $Res->getGetReportListByNextTokenResult();
        } else {
            $Res = $Service->getReportList($Request);
            if (!$Res->isSetGetReportListResult()) {
                return 0;
            }
            $Res = $Res->getGetReportListResult();
        }
        $List = $Res->getReportInfoList();
        foreach ($List as $Report) {
            if (!$Report->isSetReportRequestId()) {
                continue;
            }
            if ($Report->getReportRequestId() != $RequestID) {
                continue;
            }
            if ($Report->isSetReportId()) {
                return $Report->getReportId();
            }
        }
        if ($Res->isSetNextToken()) {
            $Request = new MarketplaceWebService_Model_GetReportListByNextTokenRequest();
            $Request->setMerchant($MerchantID);
            $Request->setNextToken($Res->getNextToken());
            return Get_ReportID($Service, $Request, $RequestID, $MerchantID);
        }
        return 0;
    } catch (MarketplaceWebService_Exception $ex) {
        echo <<<OutEx
<pre>
Function: Get_ReportID ()
Caught Exception: {$ex->getMessage()}
Response Status Code: {$ex->getStatusCode()}
Error Code: {$ex->getErrorCode()}
Error Type: {$ex->getErrorType()}
Request ID: {$ex->getRequestId()}
XML: {$ex->getXML()}
ResponseHeaderMetadata: {$ex->getResponseHeaderMetadata()}
OutEx;
        die;
    }
}