3

我正在尝试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>.

我试图做的事情:

  1. 不同的网站(美国,德国,..)
  2. 不同的类别和关键字。
  3. 具有正确 appID 的实时和沙盒 API
  4. 包括或排除X-EBAY-SOA-RESPONSE-DATA-FORMAT和/或 X-EBAY-SOA-REQUEST-DATA-FORMAT来自标题

它总是一样的:它工作正常,findItemsByKeyword但我得到“内部服务器错误”findItemsAdvanced

我的想法已经用完了 - 有什么建议吗?谢谢!

4

0 回答 0