/**
 * Get Report Schedule List Action Sample
 * returns the list of report schedules
 *
 * @param MarketplaceWebService_Interface $service instance of MarketplaceWebService_Interface
 * @param mixed $request MarketplaceWebService_Model_GetReportScheduleList or array of parameters
 */
function invokeGetReportScheduleList(MarketplaceWebService_Interface $service, $request)
{
    try {
        $response = $service->getReportScheduleList($request);
        echo "Service Response\n";
        echo "=============================================================================\n";
        echo "        GetReportScheduleListResponse\n";
        if ($response->isSetGetReportScheduleListResult()) {
            echo "            GetReportScheduleListResult\n";
            $getReportScheduleListResult = $response->getGetReportScheduleListResult();
            if ($getReportScheduleListResult->isSetNextToken()) {
                echo "                NextToken\n";
                echo "                    " . $getReportScheduleListResult->getNextToken() . "\n";
            }
            if ($getReportScheduleListResult->isSetHasNext()) {
                echo "                HasNext\n";
                echo "                    " . $getReportScheduleListResult->getHasNext() . "\n";
            }
            $reportScheduleList = $getReportScheduleListResult->getReportSchedule();
            foreach ($reportScheduleList as $reportSchedule) {
                echo "                ReportSchedule\n";
                if ($reportSchedule->isSetReportType()) {
                    echo "                    ReportType\n";
                    echo "                        " . $reportSchedule->getReportType() . "\n";
                }
                if ($reportSchedule->isSetSchedule()) {
                    echo "                    Schedule\n";
                    echo "                        " . $reportSchedule->getSchedule() . "\n";
                }
                if ($reportSchedule->isSetScheduledDate()) {
                    echo "                    ScheduledDate\n";
                    echo "                        " . $reportSchedule->getScheduledDate()->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";
    }
}