2016-04-15 24 views
0

嘗試修改列出的產品數量時,我遇到了BulkDataExchangeRequest/ReviseInventoryStatus(使用Large Merchant Sevices api)的一些問題。爲了上傳和處理BulkDataExchange xml(createUploadJob,uploadFileRequest,startUploadJob),我成功地完成了所有先決條件請求,但產品的數量未在eBay商店中修改。我發現爲了獲取xml本身的錯誤,而不是上傳作業,我必須使用DownloadFileRequest,但我無法修復它返回的錯誤。對於我嘗試使用ReviseInventoryStatus修改數量的3種產品,我收到了錯誤代碼爲21916253的'Missing required container'。我檢查了我發送的xml,但我無法弄清楚究竟是什麼不見了。這裏是XML,任何提示,將不勝感激:Ebay api BulkDataExchangeRequests&ReviseInventoryStatus:缺少必需的容器

<?xml version="1.0" encoding="UTF-8"?> 
<BulkDataExchangeRequests> 
    <Header> 
     <SiteID>77</SiteID> 
     <Version>955</Version> 
    </Header> 
    <ReviseInventoryStatusRequest xmlns="urn:ebay:apis:eBLBaseComponents"> 
     <errorlanguage>en_US</errorlanguage> 
     <warninglevel>High</warninglevel> 
     <version>955</version> 
     <inventorystatus> 
      <itemid>281077289788</itemid> 
      <quantity>500</quantity> 
      <sku>MGA10003</sku> 
      <startprice>6.90</startprice> 
     </inventorystatus> 
    </ReviseInventoryStatusRequest> 
    <ReviseInventoryStatusRequest xmlns="urn:ebay:apis:eBLBaseComponents"> 
     <errorlanguage>en_US</errorlanguage> 
     <warninglevel>High</warninglevel> 
     <version>955</version> 
     <inventorystatus> 
      <itemid>271171602595</itemid> 
      <quantity>500</quantity> 
      <sku>MGA10215</sku> 
      <startprice>20.90</startprice> 
     </inventorystatus> 
    </ReviseInventoryStatusRequest> 
    <ReviseInventoryStatusRequest xmlns="urn:ebay:apis:eBLBaseComponents"> 
     <errorlanguage>en_US</errorlanguage> 
     <warninglevel>High</warninglevel> 
     <version>955</version> 
     <inventorystatus> 
      <itemid>281449929626</itemid> 
      <quantity>8</quantity> 
      <sku>MGA12496.3</sku> 
      <startprice>18.90</startprice> 
     </inventorystatus> 
    </ReviseInventoryStatusRequest> 
</BulkDataExchangeRequests> 

這裏是DownloadFileRequest響應:

<?xml version="1.0" encoding="utf-8"?> 
<BulkDataExchangeResponses xmlns="urn:ebay:apis:eBLBaseComponents"> 
<ReviseInventoryStatusResponse xmlns="urn:ebay:apis:eBLBaseComponents"> 
    <Timestamp>2016-04-15T07:39:41.431Z</Timestamp> 
    <Ack>Failure</Ack> 
    <Errors> 
    <ShortMessage>Erforderlicher Container fehlt.</ShortMessage> 
    <LongMessage>Erforderlicher Container fehlt.</LongMessage> 
    <ErrorCode>21916253</ErrorCode> 
    <SeverityCode>Error</SeverityCode> 
    <ErrorClassification>RequestError</ErrorClassification> 
    </Errors> 
    <Version>961</Version> 
    <Build>E961_UNI_API5_17901460_R1</Build> 
    </ReviseInventoryStatusResponse> 
<ReviseInventoryStatusResponse xmlns="urn:ebay:apis:eBLBaseComponents"> 
    <Timestamp>2016-04-15T07:39:41.565Z</Timestamp> 
    <Ack>Failure</Ack> 
    <Errors> 
    <ShortMessage>Erforderlicher Container fehlt.</ShortMessage> 
    <LongMessage>Erforderlicher Container fehlt.</LongMessage> 
    <ErrorCode>21916253</ErrorCode> 
    <SeverityCode>Error</SeverityCode> 
    <ErrorClassification>RequestError</ErrorClassification> 
    </Errors> 
    <Version>961</Version> 
    <Build>E961_UNI_API5_17901460_R1</Build> 
    </ReviseInventoryStatusResponse> 
<ReviseInventoryStatusResponse xmlns="urn:ebay:apis:eBLBaseComponents"> 
    <Timestamp>2016-04-15T07:39:41.660Z</Timestamp> 
    <Ack>Failure</Ack> 
    <Errors> 
    <ShortMessage>Erforderlicher Container fehlt.</ShortMessage> 
    <LongMessage>Erforderlicher Container fehlt.</LongMessage> 
    <ErrorCode>21916253</ErrorCode> 
    <SeverityCode>Error</SeverityCode> 
    <ErrorClassification>RequestError</ErrorClassification> 
    </Errors> 
    <Version>961</Version> 
    <Build>E961_UNI_API5_17901460_R1</Build> 
    </ReviseInventoryStatusResponse> 
</BulkDataExchangeResponses> 

回答

0

字段名稱是區分大小寫的。我在您的請求中發現了幾個都是小寫字段的字段。例如,<inventorystatus>應該是<InventoryStatus>,並且<itemid>需要是<ItemID>

+0

我修改了所有的字段名稱並創建了一個新的作業,但不幸的是我得到了相同的確切響應。 – bogdantheman1

相關問題