错误使用wsimport从WSDL生成java类时

时间:2013-05-28 06:59:04

标签: jax-ws

我正在使用JAX-WS开发网络服务。在我尝试使用wsimport生成客户端存根时发布Web服务后,我发现了以下问题。

C:\Documents and Settings\vberi\prac_workspace_27_05_2013\WS-Client\src>wsimport
 -s . http://ntlnvn.bmb.com:8080/WS/Greeting?wsdl

解析WSDL ...

[ERROR] file:/C:/Documents%20and%20Settings/vberi/prac_workspace_27_05_2013/WS-C
lient/src/ûs

无法访问

    Failed to parse the `WSDL`.

**我可以通过http://mtlnvn.bmb.com:8080/WS/Greeting?wsdl * *

6 个答案:

答案 0 :(得分:2)

尝试以下步骤:

  1. 转到wsdl文件http://www.webservicex.net/geoipservice.asmx?WSDL

  2. 右键单击另存为(将其保存到本地系统),提供一些名称geoipservice(默认情况下保存类型为xml文档,因此请勿再次保存为geoipservice.xml

  3. 现在在cmd中输入wsimport geoipservice.xml,您将获得生成的类。

答案 1 :(得分:1)

我正在研究相同的教程并面临同样的问题。 这些答案中是否有所有建议。

对我有用的是删除" -s。"部分来自wsimport命令。

当我跑

wsimport http://localhost:8080/WS/Greeting?wsdl 命令,创建的所有文件都没有问题。

希望这对其他人也有用。

答案 2 :(得分:0)

我假设所提供的链接只能在您的网络中访问。

我认为问题可能是错字。 ntlnvn反对mtlnvn。第一个字母不一样。

答案 3 :(得分:0)

这些是我所做的步骤:

1.-要确保您的连接正常并且Web服务可用:在浏览器中打开wsdl(就像您一样)。你也可以用curl测试它。

2.-要确保您的配置完全正常:您可以使用其他网址测试wsimport,例如:wsimport -d C:\ deleteFolder -verbose -B-XautoNameResolution http://www.xmlme.com/WSAmazonBox.asmx?WSDL

我的具体问题是我使用的是主机名(来自windows的文件主机)。我更改了IP的名称,我遇到了另一个不同的问题(无法读取WSDL文档)。 也许它可能有所帮助。

我做的另一项测试是关闭服务器。当我意识到错误是一样的时候,我有点震惊! ([...]无法访问,无法解析wsdl)。

答案 4 :(得分:0)

对于使用JAX-WS开发Webservices的新手,我遇到了类似的问题,并且正在关注此tutorial

您可以尝试的解决方案是: -

o 如其中一个答案中所述,更正ntlnvnmtlnvn之间的网址

o 确保项目名称不应包含spaces- _ .等特殊字符,不知道确切原因,但重命名项目曾经为我工作过一次。也许wsimport命令在处理空格和特殊字符方面存在问题。

o 最重要的是,对我有用的是将构建命令更改为: -

wsimport -keep http://mtlnvn.bmb.com:8080/WS/Greeting?wsdl

答案 5 :(得分:0)

我遇到了同样的问题,解决方法是从项目路径中删除所有空格。改变后它运作良好。

在您的情况下,路径应为:

    C:\Documents_and_Settings\vberi\prac_workspace_27_05_2013\WS- Client\src>wsimport...

当然,你必须改变一个项目路径。

Problem is mentoined here