/** * 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; } }