我正在尝试使用 NetBeans 的“新 Web 服务客户端”向导和此处找到的 WSDL 为 eBay API 制作我的第一个 Web 服务客户端。我的理解是这是使用JAX-WS生成类文件,我的请求都是SOAP。
一切似乎都正常,除了当我尝试执行请求时,eBay 会以 404 响应,如果调用对它没有意义,这似乎是它的标准响应。
Wireshark 将我的请求显示为:
<?xml version="1.0" ?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<FindItemsRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<QueryKeywords>dvd players</QueryKeywords>
</FindItemsRequest></S:Body></S:Envelope>
但是 eBay API 测试工具说它应该是这样的:
<?xml version="1.0" encoding="utf-8"?>
<FindItems xmlns="urn:ebay:apis:eBLBaseComponents">
<QueryKeywords>dvd players</QueryKeywords>
</FindItems>
因此,NetBeans 用我只能假设是一些标准的 SOAP 结构来包装我的请求,并将“请求”附加到调用的名称中。
它从哪里得到这个“信封”命名空间,为什么 eBay 不使用它?我如何告诉 NetBeans 我真正想要它做什么?
我还想知道 eBay SDK 比这种方法有什么好处(如果有效的话)。