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

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

  • 相关阅读:
    【成本管理】成本核算
    CW23:Work Log
    SQLSERVER数据库连接
    Oracle 创建用户 修改用户密码 授权命令
    CW24:WORK LOG
    ORA12560: TNS: 协议适配器错误的解决方法
    需求工程概述
    日语学习1:送气音和不送气音
    junit测试框架简单应用
    Java之Socket编程
  • 原文地址:https://www.cnblogs.com/zjf1987/p/Amazon_Submit.html
Copyright © 2020-2023  润新知