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(上一节构造请求的时候,已经设置)的形式保存在本地。

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

  • 相关阅读:
    用Python完成一个汇率转换器
    鸿蒙如何用JS开发智能手表App
    鸿蒙如何用JS开发智能手表App
    SAP Spartacus SplitViewComponent Migration 的一个具体例子
    SAP Spartacus B2B 页面 Popover Component 的条件显示逻辑
    SAP Spartacus 升级时关于 schematics 的更新
    SAP Spartacus B2B 页面 Disable 按钮的显示原理
    SAP Spartacus B2B 页面 Disable Confirmation 对话框的显示原理
    通过 Feature Level 动态控制 SAP Spartacus 的页面显示
    SAP Commerce Cloud Build Manifest Components
  • 原文地址:https://www.cnblogs.com/zjf1987/p/Amazon_Submit.html
Copyright © 2011-2022 走看看