【问题标题】:findItemsAdvanced suddenly failing with: The connection with the server was terminated abnormallyfindItemsAdvanced 突然失败:与服务器的连接异常终止
【发布时间】:2020-06-09 19:41:36
【问题描述】:

几年前我在 VBA 中编写了一些 API 调用,直到最近一次调用开始失败,它们一直运行良好。

这是我正在使用的代码:

    Set req = CreateObject("WinHttp.WinHttpRequest.5.1")
    With req
        .Open "POST", "http://svcs.ebay.com/services/search/FindingService/v1", False
        .setRequestHeader "X-EBAY-SOA-SERVICE-NAME", "FindingService"
        .setRequestHeader "X-EBAY-SOA-OPERATION-NAME", "findItemsAdvanced"
        .setRequestHeader "X-EBAY-SOA-SECURITY-APPNAME", "MY_APP_NAME"
        .setRequestHeader "X-EBAY-SOA-SERVICE-VERSION", "1.0.0"
        .setRequestHeader "X-EBAY-SOA-GLOBAL-ID", "EBAY-US"
        .setRequestHeader "X-EBAY-SOA-REQUEST-DATA-FORMAT", "XML"
    End With
    req.Send(myXML)

这是我正在使用的 XML 示例...

myXML = "<?xml version="1.0" encoding="utf-8"?><findItemsAdvancedRequest xmlns="http://www.ebay.com/marketplace/search/v1/services"><paginationInput><pageNumber>1</pageNumber><entriesPerPage>100</entriesPerPage></paginationInput><itemFilter><name>HideDuplicateItems</name><value>true</value></itemFilter><itemFilter><name>Seller</name><value>SELLER_NAME</value></itemFilter><keywords>"EXAMPLE OF SEARCH TERMS"</keywords><sortOrder>EndTimeSoonest</sortOrder></findItemsAdvancedRequest>"

但是,我认为 XML 甚至不相关,因为它似乎没有达到这一点。它只是拒绝连接(出现)。

错误是:“与服务器的连接异常终止。”

它发生在我运行 req.Send(myXML) 时。

据我所知,没有任何变化(代码当然没有)。我使用的其他 API 调用(open.api.ebay.com/shopping 上的 GetMultipleItems 和 GetSingleItem)仍然可以正常工作。该错误在今年早些时候开始偶尔出现,但随后在 4 月持续存在,此后一直没有消失。

我尝试了来自不同开发者帐户的不同应用名称,但结果相同。

针对此错误提到的最常见解决方案是 Win7 机器上 VBA 中的 TLS 问题:

WinHTTP - The connection with the server was terminated abnormally

但是,我测试过的每台机器都是 Win10。我还检查了我的连接使用的协议,它说 TLS 1.2,所以我已经在必要的协议上(据我所知)。以防万一,我在 Win7 上实施了解决问题所需的 reg hack,但它什么也没做(如你所料)。

eBay 支持毫无用处,他们的论坛太糟糕了,我几乎无法登录一半的时间,而且我试图发布的帖子甚至都没有出现,所以我来了。

【问题讨论】:

    标签: ebay-api


    【解决方案1】:

    好吧,最终我根本没有使用任何安全协议(TLS 或其他)。我什至没有注意到 URL 以“http:”开头,这在几个月前显然还不错,但他们最近必须更改它以要求所有 API 调用的安全 http 连接。我将 URL 更改为“https:”,它又开始工作了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多