wsdl2java地址存在时端口中的端点地址无效

时间:2014-01-28 19:18:51

标签: java eclipse web-services

我想连接到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

可能是什么问题?

2 个答案:

答案 0 :(得分:3)

我在使用Axis代替Axis2进行wsdl2java生成时遇到了同样的问题。您必须使用Axis2而不是Axis进行尝试 - 之前我遇到了类似的超时和发射器异常,这些异常将通过切换到Axis2进行排序。

在下面的示例屏幕截图中,我使用了您的示例WSDL,并且能够生成客户端类,如下所示:

  1. 从此处设置Axis2 - download
  2. Axis2运行时与下载的目录相关联 enter image description here

  3. 在eclipse中创建Dynamic Web Project enter image description here

  4. 确保选择更低 Dynamic Web Module version(例如:2.5作为3.0导致与Axis2冲突) enter image description here

  5. 在创建的项目中选择Web Service Client enter image description here

  6. 确保选择Web service Runtime Apache Axis2 enter image description here

  7. Voila,您距离生成客户端课程还有一步之遥! enter image description here

答案 1 :(得分:1)

我认为网址存在一些问题,我发现他们的沙盒服务已在http://svcs.sandbox.ebay.com/services/search/FindingService/v1启动并运行。也许您可以尝试使用沙箱创建项目并查看它是否有效,然后联系Web服务提供商以了解实际问题。

您可以尝试在SOAP-UI中导入项目,确保生产端点URL失败,沙箱将起作用。看起来WSDL2Java工具没有问题。