zoukankan      html  css  js  c++  java
  • Amazon MWS 上传数据 (三) 提交请求

    前面介绍了设置服务和构造请求,现在介绍提交请求。

    上传数据,查询上传操作的工作状态,和处理上传操作返回的报告操作使用的Amazon API 分别为:SubmitFeed(),FeedSubmissionListRequest(),GetFeedSubmissionResult().

    • SubmitFeed()-- 提交请求,代码示例:
     1  #region AmazonSubmitFeed
     2         /// <summary>
     3         /// 提交请求
     4         /// </summary>
     5         public void AmazonSubmitFeed(string fileName, string feedType)
     6         {
     7             MarketplaceWebServiceClient service = GetService();
     8             SubmitFeedRequest request = GetSubmitFeedRequest(fileName, feedType);
     9             try
    10             {
    11                 SubmitFeedResponse response = service.SubmitFeed(request);
    12             }
    13             catch (MarketplaceWebServiceException ex)
    14             {
    15                 #region Log Error
    16 
    17                 #endregion 
    18             }
    19         }
    20         #endregion


    大家可以看到上面先调用设置服务的方法,随后通过GetSubmitFeedRequest(fileName, feedType);构造请求,最后是提交请求,返回的response中有我们需要的feedSubmmissionId,我们需要将其保存下来。

    • GetFeedSubmissionList()--查询上传操作的工作状态,代码示例:
     1  #region FeedSubmissionList
    2 /// <summary> 3 /// 提交请求 4 /// </summary> 5 public void FeedSubmissionList(string feedSubmmissionId) 6 { 7 MarketplaceWebServiceClient service = GetService(); 8 GetFeedSubmissionListRequest request = FeedSubmissionListRequest(feedSubmmissionId); 9 10 try 11 { 12 GetFeedSubmissionListResponse response = service.GetFeedSubmissionList(request); 13 } 14 catch (MarketplaceWebServiceException ex) 15 { 16 #region Log Error 17 18 #endregion 19 } 20 } 21 #endregion


    上面的示例中我们通过调用GetFeedSubmissionList接口得到处理结果,处理结果有很多种,经常遇到的有_SUBMITTED_,_IN_PROGRESS_,_DONE_

    其中_SUBMITTED_表示已收到请求,但尚未开始处理。

    _IN_PROGRESS_表示请求正在处理。

    _DONE_表示请求已处理。

    注意:当结果FeedProcessingStatus==_DONE_时,并不代表我们上传操作被Amazon 服务器接受了,仅仅代表此次操作已经完成,不代表此次操作成功。

    FeedProcessingStatus 枚举可以在官网查到 http://docs.developer.amazonservices.com/zh_CN/feeds/Feeds_FeedProcessingStatus.html#Feeds_FeedProcessingStatus

    • GetFeedSubmissionResult()--得到处理报告,示例代码:
     1  #region FeedSubmissionResult
     2         /// <summary>
     3         /// 提交请求
     4         /// </summary>
     5         public void FeedSubmissionResult(string feedSubmmissionId)
     6         {
     7             MarketplaceWebServiceClient service = GetService();
     8             GetFeedSubmissionResultRequest request = FeedSubmissionResultRequest(feedSubmmissionId);
     9 
    10             try
    11             {
    12                 GetFeedSubmissionResultResponse response = service.GetFeedSubmissionResult(request);
    13             }
    14             catch (MarketplaceWebServiceException ex)
    15             {
    16                 #region Log Error
    17 
    18                 #endregion
    19             }
    20         }
    21         #endregion

    上面的代码中,调用GetFeedSubmissionResult接口,将处理报告以xml(上一节构造请求的时候,已经设置)的形式保存在本地。

    处理报告会有比较仔细的提示,告诉我们出错的什么地方,只要按此修改即可。

  • 相关阅读:
    centos7下安装docker(2镜像)
    Centos7下安装docker(1)
    分享一个连接,升级内核
    zabbix图形乱码问题解决办法
    六十四:JavaScript之JavaScript的Math对象常用的方法
    六十三:JavaScript之JavaScript的String对象常用的方法
    六十二:JavaScript之JavaScript数组对象和常用的方法
    六十一:JavaScript之JavaScript函数
    六十:JavaScript之JavaScript流程控制语句
    五十九:JavaScript之JavaScript操作符
  • 原文地址:https://www.cnblogs.com/zjf1987/p/Amazon_Submit.html
Copyright © 2011-2022 走看看