findItemsAdvanced突然失效。与服务器的连接被异常终止

问题描述 投票:0回答:1

几年前,我用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的例子... Here's an example of the XML I'm using...

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.comshopping上的GetMultipleItems和GetSingleItem)仍然工作正常。该错误在今年早些时候开始偶尔出现,但在4月份变得持续存在,此后一直没有消失。

我已经尝试了不同开发者账户的不同应用名称,结果相同。

对于这个错误,最常见的解决方案是Win7机器上VBA的TLS问题。

WinHTTP--与服务器的连接异常终止

然而,我测试过的每一台机器都是Win10。我还运行了一个检查,看看我的连接正在使用哪个协议,它说TLS 1.2,所以我已经在必要的协议(据我所知)。为了以防万一,我在Win7上实施了修复问题所需的reg hacks,但它什么也没做(如你所料)。

eBay的支持毫无用处,而且他们的论坛太糟糕了,我几乎有一半的时间都无法登录,我想放在那里的帖子甚至没有显示出来,所以我在这里。

ebay-api
1个回答
0
投票

好吧,结果是我根本没有使用任何安全协议(TLS或其他)。我甚至没有注意到URL是以 "http: "开头的,显然这在几个月前还是很好的,但他们最近一定是改变了,要求所有的API调用都需要安全的http连接。我把URL改成了 "https:",然后它又开始工作了。

© www.soinside.com 2019 - 2024. All rights reserved.