NetBeans Web服务客户端生成无效请求

时间:2009-01-03 13:39:31

标签: java soap netbeans jax-ws ebay

我正在尝试使用NetBeans的新Web服务客户端向导和WSDL here创建我的第一个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对这种方法的好处是什么(如果有效)。

1 个答案:

答案 0 :(得分:0)

我设法弄明白了,像往常一样,我一直在努力不彻底阅读API文档。

eBay API要求在提供除404之外的任何内容之前设置某些HTTP标头。

之后,eBay正确解释了NetBeans提出的SOAP请求,并返回了预期的结果。

eBay shopping API HTTP header values

JAX-WS user guide - setting HTTP headers