我想连接到eBay API。我下载了WSDL from their site
我可以看到地址存在:
<wsdl:service name="FindingService">
<wsdl:documentation>
<Version>1.12.0</Version>
</wsdl:documentation>
<wsdl:port name="FindingServiceSOAPPort"
binding="tns:FindingServiceSOAPBinding">
<soap12:address
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
location="https://svcs.ebay.com/services/search/FindingService/v1"/>
</wsdl:port>
</wsdl:service>
但是,当我尝试在Eclipse中创建一个新的Web Service Client项目时,我得到:
IWAB0399E Error in generating Java from WSDL: java.io.IOException:
Emitter failure. Cannot find endpoint address in port FindingServiceSOAPPort
in service FindingServiceLocator
可能是什么问题?
答案 0 :(得分:3)
我在使用Axis
代替Axis2
进行wsdl2java
生成时遇到了同样的问题。您必须使用Axis2
而不是Axis
进行尝试 - 之前我遇到了类似的超时和发射器异常,这些异常将通过切换到Axis2
进行排序。
在下面的示例屏幕截图中,我使用了您的示例WSDL
,并且能够生成客户端类,如下所示:
Axis2
- download 将Axis2
运行时与下载的目录相关联
在eclipse中创建Dynamic Web Project
确保选择更低 Dynamic Web Module version
(例如:2.5作为3.0导致与Axis2冲突)
在创建的项目中选择Web Service Client
确保选择Web service Runtime
为 Apache Axis2
Voila,您距离生成客户端课程还有一步之遥!
答案 1 :(得分:1)
我认为网址存在一些问题,我发现他们的沙盒服务已在http://svcs.sandbox.ebay.com/services/search/FindingService/v1启动并运行。也许您可以尝试使用沙箱创建项目并查看它是否有效,然后联系Web服务提供商以了解实际问题。
您可以尝试在SOAP-UI中导入项目,确保生产端点URL失败,沙箱将起作用。看起来WSDL2Java工具没有问题。