public string InvokeGetReportListByNextToken(Operations.Reports.MarketplaceWebService client, GetReportListByNextTokenRequest request) { string ReportId = ""; try { GetReportListByNextTokenResponse response = client.GetReportListByNextToken(request); Console.WriteLine("Service Response"); Console.WriteLine("============================================================================="); Console.WriteLine(); Console.WriteLine(" GetReportListByNextTokenResponse"); if (response.IsSetGetReportListByNextTokenResult()) { Console.WriteLine(" GetReportListByNextTokenResult"); GetReportListByNextTokenResult getReportListByNextTokenResult = response.GetReportListByNextTokenResult; if (getReportListByNextTokenResult.IsSetNextToken()) { Console.WriteLine(" NextToken"); Console.WriteLine(" {0}", getReportListByNextTokenResult.NextToken); } if (getReportListByNextTokenResult.IsSetHasNext()) { Console.WriteLine(" HasNext"); Console.WriteLine(" {0}", getReportListByNextTokenResult.HasNext); } List <ReportInfo> reportInfoList = getReportListByNextTokenResult.ReportInfo; foreach (ReportInfo reportInfo in reportInfoList) { Console.WriteLine(" ReportInfo"); if (reportInfo.IsSetReportId()) { Console.WriteLine(" ReportId"); Console.WriteLine(" {0}", reportInfo.ReportId); ReportId = reportInfo.ReportId; } if (reportInfo.IsSetReportType()) { Console.WriteLine(" ReportType"); Console.WriteLine(" {0}", reportInfo.ReportType); } if (reportInfo.IsSetReportRequestId()) { Console.WriteLine(" ReportRequestId"); Console.WriteLine(" {0}", reportInfo.ReportRequestId); } if (reportInfo.IsSetAvailableDate()) { Console.WriteLine(" AvailableDate"); Console.WriteLine(" {0}", reportInfo.AvailableDate); } if (reportInfo.IsSetAcknowledged()) { Console.WriteLine(" Acknowledged"); Console.WriteLine(" {0}", reportInfo.Acknowledged); } if (reportInfo.IsSetAcknowledgedDate()) { Console.WriteLine(" AcknowledgedDate"); Console.WriteLine(" {0}", reportInfo.AcknowledgedDate); } } } if (response.IsSetResponseMetadata()) { Console.WriteLine(" ResponseMetadata"); ResponseMetadata responseMetadata = response.ResponseMetadata; if (responseMetadata.IsSetRequestId()) { Console.WriteLine(" RequestId"); Console.WriteLine(" {0}", responseMetadata.RequestId); } } Console.WriteLine(" ResponseHeaderMetadata"); Console.WriteLine(" RequestId"); Console.WriteLine(" " + response.ResponseHeaderMetadata.RequestId); Console.WriteLine(" ResponseContext"); Console.WriteLine(" " + response.ResponseHeaderMetadata.ResponseContext); Console.WriteLine(" Timestamp"); Console.WriteLine(" " + response.ResponseHeaderMetadata.Timestamp); } catch (MarketplaceWebServiceException ex) { Console.WriteLine("Caught Exception: " + ex.Message); Console.WriteLine("Response Status Code: " + ex.StatusCode); Console.WriteLine("Error Code: " + ex.ErrorCode); Console.WriteLine("Error Type: " + ex.ErrorType); Console.WriteLine("Request ID: " + ex.RequestId); Console.WriteLine("XML: " + ex.XML); Console.WriteLine("ResponseHeaderMetadata: " + ex.ResponseHeaderMetadata); } return(ReportId); }
/// <summary> /// retrieve the next batch of list items and if there are more items to retrieve /// /// </summary> /// <param name="service">Instance of MarketplaceWebService service</param> /// <param name="request">GetReportListByNextTokenRequest request</param> public static void InvokeGetReportListByNextToken(MarketplaceWebService service, GetReportListByNextTokenRequest request) { try { GetReportListByNextTokenResponse response = service.GetReportListByNextToken(request); Console.WriteLine("Service Response"); Console.WriteLine("============================================================================="); Console.WriteLine(); Console.WriteLine(" GetReportListByNextTokenResponse"); if (response.IsSetGetReportListByNextTokenResult()) { Console.WriteLine(" GetReportListByNextTokenResult"); GetReportListByNextTokenResult getReportListByNextTokenResult = response.GetReportListByNextTokenResult; if (getReportListByNextTokenResult.IsSetNextToken()) { Console.WriteLine(" NextToken"); Console.WriteLine(" {0}", getReportListByNextTokenResult.NextToken); } if (getReportListByNextTokenResult.IsSetHasNext()) { Console.WriteLine(" HasNext"); Console.WriteLine(" {0}", getReportListByNextTokenResult.HasNext); } List <ReportInfo> reportInfoList = getReportListByNextTokenResult.ReportInfo; foreach (ReportInfo reportInfo in reportInfoList) { Console.WriteLine(" ReportInfo"); if (reportInfo.IsSetReportId()) { Console.WriteLine(" ReportId"); Console.WriteLine(" {0}", reportInfo.ReportId); } if (reportInfo.IsSetReportType()) { Console.WriteLine(" ReportType"); Console.WriteLine(" {0}", reportInfo.ReportType); } if (reportInfo.IsSetReportRequestId()) { Console.WriteLine(" ReportRequestId"); Console.WriteLine(" {0}", reportInfo.ReportRequestId); } if (reportInfo.IsSetAvailableDate()) { Console.WriteLine(" AvailableDate"); Console.WriteLine(" {0}", reportInfo.AvailableDate); } if (reportInfo.IsSetAcknowledged()) { Console.WriteLine(" Acknowledged"); Console.WriteLine(" {0}", reportInfo.Acknowledged); } if (reportInfo.IsSetAcknowledgedDate()) { Console.WriteLine(" AcknowledgedDate"); Console.WriteLine(" {0}", reportInfo.AcknowledgedDate); } } } if (response.IsSetResponseMetadata()) { Console.WriteLine(" ResponseMetadata"); ResponseMetadata responseMetadata = response.ResponseMetadata; if (responseMetadata.IsSetRequestId()) { Console.WriteLine(" RequestId"); Console.WriteLine(" {0}", responseMetadata.RequestId); } } } catch (MarketplaceWebServiceException ex) { Console.WriteLine("Caught Exception: " + ex.Message); Console.WriteLine("Response Status Code: " + ex.StatusCode); Console.WriteLine("Error Code: " + ex.ErrorCode); Console.WriteLine("Error Type: " + ex.ErrorType); Console.WriteLine("Request ID: " + ex.RequestId); Console.WriteLine("XML: " + ex.XML); } }
public IEnumerable <object> GetReportList(DateTime startDate, DateTime endDate) { var request = new GetReportListRequest { Merchant = "A12HYFEDED6DEW", AvailableFromDate = startDate, AvailableToDate = endDate, ReportTypeList = new TypeList { Type = new List <string> { "_GET_V2_SETTLEMENT_REPORT_DATA_XML_" } } }; var response = _amazonClient.GetReportList(request); var reportInfoList = response.GetReportListResult.ReportInfo; var nextToken = response.GetReportListResult.NextToken; var hasNext = response.GetReportListResult.HasNext; GetReportListByNextTokenResponse nextResponse = null; var reportCounter = 0; // pause for 2 seconds to give the Amazon MWS a little bit time to process the others Thread.Sleep(2000); // let's find the report we are interested in var reports = findReportTypes(reportInfoList); while (hasNext) { var nextRequest = new GetReportListByNextTokenRequest { Merchant = "A12HYFEDED6DEW", NextToken = nextToken }; nextResponse = _amazonClient.GetReportListByNextToken(nextRequest); reportInfoList = nextResponse.GetReportListByNextTokenResult.ReportInfo; nextToken = nextResponse.GetReportListByNextTokenResult.NextToken; hasNext = nextResponse.GetReportListByNextTokenResult.HasNext; // pause for 2 seconds, this is the restore rate for GetReportListByNextToken Thread.Sleep(2000); // find and add it to the list reports.AddRange(findReportTypes(reportInfoList)); foreach (var reportInfo in reports) { // check if the report request quota reach to 15 if (reportCounter % 15 == 0) { // if so, pause for 1 minute, this is the restore rate for GetReport Thread.Sleep(60000); } var stream = downloadReportStream(reportInfo.ReportId); // save the stream into a file saveStreamToFile(stream, string.Format("{0}_{1}", reportInfo.ReportType, reportInfo.ReportId)); reportCounter++; } // clear the reports lisst reports.Clear(); } return(null); }