/// <summary> /// returns a list of feed submission identifiers and their associated metadata /// /// </summary> /// <param name="service">Instance of MarketplaceWebService service</param> /// <param name="request">GetFeedSubmissionListRequest request</param> public static void InvokeGetFeedSubmissionList(MarketplaceWebService service, GetFeedSubmissionListRequest request) { try { GetFeedSubmissionListResponse response = service.GetFeedSubmissionList(request); Console.WriteLine ("Service Response"); Console.WriteLine ("============================================================================="); Console.WriteLine (); Console.WriteLine(" GetFeedSubmissionListResponse"); if (response.IsSetGetFeedSubmissionListResult()) { Console.WriteLine(" GetFeedSubmissionListResult"); GetFeedSubmissionListResult getFeedSubmissionListResult = response.GetFeedSubmissionListResult; if (getFeedSubmissionListResult.IsSetNextToken()) { Console.WriteLine(" NextToken"); Console.WriteLine(" {0}", getFeedSubmissionListResult.NextToken); } if (getFeedSubmissionListResult.IsSetHasNext()) { Console.WriteLine(" HasNext"); Console.WriteLine(" {0}", getFeedSubmissionListResult.HasNext); } List<FeedSubmissionInfo> feedSubmissionInfoList = getFeedSubmissionListResult.FeedSubmissionInfo; foreach (FeedSubmissionInfo feedSubmissionInfo in feedSubmissionInfoList) { Console.WriteLine(" FeedSubmissionInfo"); if (feedSubmissionInfo.IsSetFeedSubmissionId()) { Console.WriteLine(" FeedSubmissionId"); Console.WriteLine(" {0}", feedSubmissionInfo.FeedSubmissionId); } if (feedSubmissionInfo.IsSetFeedType()) { Console.WriteLine(" FeedType"); Console.WriteLine(" {0}", feedSubmissionInfo.FeedType); } if (feedSubmissionInfo.IsSetSubmittedDate()) { Console.WriteLine(" SubmittedDate"); Console.WriteLine(" {0}", feedSubmissionInfo.SubmittedDate); } if (feedSubmissionInfo.IsSetFeedProcessingStatus()) { Console.WriteLine(" FeedProcessingStatus"); Console.WriteLine(" {0}", feedSubmissionInfo.FeedProcessingStatus); } if (feedSubmissionInfo.IsSetStartedProcessingDate()) { Console.WriteLine(" StartedProcessingDate"); Console.WriteLine(" {0}", feedSubmissionInfo.StartedProcessingDate); } if (feedSubmissionInfo.IsSetCompletedProcessingDate()) { Console.WriteLine(" CompletedProcessingDate"); Console.WriteLine(" {0}", feedSubmissionInfo.CompletedProcessingDate); } } } 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); } }
/// <summary> /// Will continue to call GetFeedSubmissionList until it's completed or canceled /// </summary> /// <param name="feedSubmissionId">The feed submission id.</param> private void WaitForGetFeedSubmissionListToComplete(string feedSubmissionId) { GetFeedSubmissionListRequest submissionListRequest = new GetFeedSubmissionListRequest(); submissionListRequest.Merchant = _MerchantId; submissionListRequest.FeedSubmissionIdList = new IdList() { Id = { feedSubmissionId } }; GetFeedSubmissionListResponse submissionListResponse = null; // Pause for 5 seconds to give Amazon a little bit to try and process. Otherwise we have to wait 45 seconds. System.Threading.Thread.Sleep(5000); do { // Check to see if it's the first time it's been called. if (submissionListResponse != null) // If it's not finished yet, sleep for 45 seconds. This is the restore rate for GetFeedSubmissionList System.Threading.Thread.Sleep(45000); submissionListResponse = _AmazonClient.GetFeedSubmissionList(submissionListRequest); } while (!submissionListResponse.GetFeedSubmissionListResult.FeedSubmissionInfo.First().FeedProcessingStatus.Equals("_CANCELED_") && !submissionListResponse.GetFeedSubmissionListResult.FeedSubmissionInfo.First().FeedProcessingStatus.Equals("_DONE_")); }