我正在使用Apache AXIS 2 Webservice运行时使用Apache Tomcat服务器(apache-tomcat-7.0.23)在Eclipse上构建Web服务,同时在Tomcat服务器上运行它,它成功地显示Web服务正在运行。
但是,当创建Webservice客户端来测试Web服务并在服务器定义(http://localhost:9090/Axis2WSTest/services/Converter?wsdl
)中使用wsdl url时,这给出了下面提到的错误,并且不允许我创建Webservice客户端:
所选服务定义无效
你能告诉我错误和可能的解决方案吗?
7条答案
按热度按时间bis0qfac1#
问题可能是您的wsdl需要http身份验证。我在eclipse中也遇到了同样的错误,但这是因为我连接的服务器需要身份验证,并返回了401错误,所以eclipse说这不是一个wsdl。Eclipse似乎没有提示身份验证的功能,我能够使用相同的wsdl url在netbeans中生成客户端,因为netbeans知道要求身份验证。
Generate client from http authenticated wsdl
to94eoyn2#
我找了一整天的答案,一般localhost将被添加到您的旁路代理列表,因此你不会遇到错误。
进入windows--> preference-->general--> network-connection,看看localhost是否在你的proxybypass列表中,如果你试图访问一个外部wsdl链接,并且你在一些有代理防火墙的公司网络下,你必须设置http代理/https代理。
zbdgwd5y3#
这就是你试图生成客户端存根的方式吗??如果是,只需在eclipse中创建一个java项目,单击它,然后按Ctrl+N,选择Web服务客户端并输入您的wsdl url。(确保你已经确保你可以访问WSDL URL,只要在浏览器中提供它)。
ilmyapht4#
尝试将localhost替换为实际的IP地址。我也面临着同样的问题,它对我这样的工作
qzlgjiam5#
我也遇到过同样的情况。对我来说,以下是有效的:
我从rdp的响应中得到了线索-“尝试将localhost替换为实际的IP地址。我也面临着同样的问题,它以这种方式为我工作。
使用IP对我来说不起作用。什么对我起作用:
而不是-http://servername/SomeWebService/Service.asmx?WSDL
为servername设置一个URL。例如:
http://servername.my.company.com/SomeWebService/Service.asmx?WSDL
1zmg4dgp6#
我遇到了同样的问题,我能够使用soapUI生成存根。请按照this post。其中包含 * 使用SOAP UI为WSDL生成客户端Java代码-AXIS 2 WSDL 2 JAVA *。在此之前,请从here下载apache axis 2二进制文件并解压缩。
qvtsj1bj7#
我的解决方案是下载WSDL文件并将其放在Eclipse项目中,然后从项目中选择.wsdl文件,而不是粘贴服务URL。