易趣大型商户服务-在C#端到端中添加FixedPriceItem

易趣大型商户服务-在C#端到端中添加FixedPriceItem,c#,file-transfer,ebay-api,ebay-lms,C#,File Transfer,Ebay Api,Ebay Lms,我正在学习如何与eBay API集成,我正在努力让事情正常运行 到目前为止,我可以使用标准交易API列出单个固定价格项目,但我需要能够批量上传项目,因此我正在研究大型商户服务API 目前我的工作流程如下: 找到优秀的工作并放弃 创建一个新的CreateUploadJobRequest 创建一个新的UploadFileRequest 创建新的StartUploadJobRequest 创建一个新的GetJobStatusRequest 创建新的下载文件请求 在第六步之前,一切都很顺利。请求失败,出

我正在学习如何与eBay API集成,我正在努力让事情正常运行

到目前为止,我可以使用标准交易API列出单个固定价格项目,但我需要能够批量上传项目,因此我正在研究大型商户服务API

目前我的工作流程如下:

  • 找到优秀的工作并放弃
  • 创建一个新的
    CreateUploadJobRequest
  • 创建一个新的
    UploadFileRequest
  • 创建新的
    StartUploadJobRequest
  • 创建一个新的
    GetJobStatusRequest
  • 创建新的
    下载文件请求
  • 在第六步之前,一切都很顺利。请求失败,出现
    协议异常

    到那时为止,我一直得到
    fileReferenceId
    jobId
    ,并且得到了成功的回复。我尝试这样做的代码(看起来很糟糕)是:

    我已经在调试模式下完成了,我得到了一个
    fileReferenceID
    jobID

    我想到的一个想法是,上传的xml有问题,我唯一能想到的是我的一些标题有问题,但我看不出问题是什么

    理想情况下,我可以在以下方面提供帮助:

  • 调试此功能并从服务获取尽可能多的信息的最佳方法
  • 对可能出现的问题有什么想法吗
  • 提前谢谢,如果需要更多信息,请告诉我


    我现在已经设法确定了问题所在,因此我将在这里为其他可能遇到此问题的人发布解决方案

    在app.config中,需要将以下内容附加到您配置的
    FileTransferService
    端点

    <mtomMessageEncoding maxReadPoolSize="64" maxWritePoolSize="16" messageVersion="Soap12" writeEncoding="utf-8">
        <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
    </mtomMessageEncoding>
    
    
    

    谢谢这是一个完整的工作程序

    有太多的代码可以理解e call LMS服务

    要通过LMS执行诸如REVIDE Add Relist End FixedPriceItem之类的请求,您必须创建如下xml

    <?xml version="1.0" encoding="utf-8"?>
    <BulkDataExchangeRequests>
      <Header>
        <SiteID>101</SiteID>
        <Version>835</Version>
      </Header>
      <AddFixedPriceItemRequest xmlns="urn:ebay:apis:eBLBaseComponents">
        <ErrorLanguage>en_US</ErrorLanguage>
        <MessageID>0G86041299</MessageID>
        <Version>835</Version>
        <WarningLevel>High</WarningLevel>
        <Item xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:ebay:apis:eBLBaseComponents">
    
    </Item>
    </AddFixedPriceItemRequest>
    <AddFixedPriceItemRequest>
    [.. other requests ]
    </AddFixedPriceItemRequest>
    <BulkDataExchangeRequests>
    
    
    101
    835
    恩努斯
    0G86041299
    835
    高
    [……其他请求]
    
    您可以使用eBay SDK.NET创建ItemType XML并序列化ItemType类。 确保在需要的地方添加xmlns=“urn:ebay:api:eBLBaseComponents”,否则ebay上的解析器将无法工作


    使用CSharpZipLib压缩并通过uploadEndToEnd方法发送,获取响应解压响应文件并解析响应xml。

    在步骤6请求中获取协议异常失败时,我遇到了相同的问题。我尝试了kipper_t的解决方案,在app.config中添加mtomMessageEncode,但是仍然收到相同的失败消息

    最后,只有下面的解决方案有效。使用此功能替换步骤6,文件下载成功:


    我还应该提到,我正在传递的唯一令牌是用户身份验证令牌,我没有在应用程序、证书或开发令牌中传递,正如我一直在遵循的教程所指出的那样。不确定这是否是问题的一部分。您的链接已失效。是否可以通过其他方式获取样本?链接已断开,是否可以通过其他方式获取样本程序?
    <?xml version="1.0" encoding="utf-8"?>
    <BulkDataExchangeRequests>
      <Header>
        <SiteID>101</SiteID>
        <Version>835</Version>
      </Header>
      <AddFixedPriceItemRequest xmlns="urn:ebay:apis:eBLBaseComponents">
        <ErrorLanguage>en_US</ErrorLanguage>
        <MessageID>0G86041299</MessageID>
        <Version>835</Version>
        <WarningLevel>High</WarningLevel>
        <Item xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:ebay:apis:eBLBaseComponents">
    
    </Item>
    </AddFixedPriceItemRequest>
    <AddFixedPriceItemRequest>
    [.. other requests ]
    </AddFixedPriceItemRequest>
    <BulkDataExchangeRequests>