我正在尝试findItemsAdvanced
从 VB 2012 .NET 向 eBay API 发送请求 - 但是每次我在request.GetResponse()
where 上收到带有错误代码“500”的“内部服务器错误”时request = System.Net.WebRequest.Create("http://svcs.ebay.com/services/search/FindingService/v1")
。我通过 POST 和 XML 格式的行发出请求
Dim Xml_bytes() As Byte = System.Text.Encoding.UTF8.GetBytes(xmlstr)
request = System.Net.WebRequest.Create("http://svcs.ebay.com/services/search/FindingService/v1")
'... code setting HEADERS, see below
request.Method = "POST"
request.ContentLength = Xml_bytes.Length
request.ContentType = "text/xml"
Dim requestStream As System.IO.Stream = request.GetRequestStream()
requestStream.Write(Xml_bytes, 0, Xml_bytes.Length)
requestStream.Close()
设置我遗漏的标题的代码,而不是我提供的实际完成的标题:
X-EBAY-SOA-SERVICE-NAME: FindingService
X-EBAY-SOA-OPERATION-NAME: findItemsAdvanced
X-EBAY-SOA-SERVICE-VERSION: 1.0.0
X-EBAY-SOA-GLOBAL-ID: EBAY-DE
X-EBAY-SOA-SECURITY-APPNAME: ****
X-EBAY-SOA-REQUEST-DATA-FORMAT: XML
Content-Type: text/xml
最后是提供的实际 XML 代码(通过xmlstr
上面的 var):
<?xml version='1.0' encoding='utf-8'?>
<findItemsAdancedRequest xmlns='http://www.ebay.com/marketplace/search/v1/services'>
<keywords>caddy</keywords>
<categoryId>77994</categoryId>
<Version>779</Version>
<paginationInput><entriesPerPage>10</entriesPerPage>
</paginationInput>
</findItemsAdvancedRequest>
我的主要问题是:它确实与findItemsByKeywords
! 使用完全相同的代码,只需更改 find 方法并省略<categoryId>77994</categoryId>
.
我试图做的事情:
- 不同的网站(美国,德国,..)
- 不同的类别和关键字。
- 具有正确 appID 的实时和沙盒 API
- 包括或排除
X-EBAY-SOA-RESPONSE-DATA-FORMAT
和/或X-EBAY-SOA-REQUEST-DATA-FORMAT
来自标题
它总是一样的:它工作正常,findItemsByKeyword
但我得到“内部服务器错误”findItemsAdvanced
我的想法已经用完了 - 有什么建议吗?谢谢!