Example #1
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;
    }
}