我正在使用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 * *
答案 0 :(得分:2)
尝试以下步骤:
右键单击另存为(将其保存到本地系统),提供一些名称geoipservice
(默认情况下保存类型为xml文档,因此请勿再次保存为geoipservice.xml
)
现在在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 如其中一个答案中所述,更正ntlnvn
和mtlnvn
之间的网址
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...
当然,你必须改变一个项目路径。