wsimport不工作

时间:2014-08-29 11:09:57

标签: wsdl wsimport

当我尝试在命令提示符下使用以下命令使用wsimport时,它正常工作:

wsimport -d generated C:\Users\generated\wsdlfile.xml

但是,当我尝试使用下面的wsimport时,它会抛出以下错误:

wsimport -d generated https://example.com/exampleService.svc?wsdl

Failed to read the WSDL document: https://example.com/exampleService.svc?wsdl, because 1) could not find the document; /2) the document could not be read; 3) the root element of the document is not <wsdl:definitions>.

[ERROR] failed.noservice=Could not find wsdl:service in the provided WSDL(s): At least one WSDL with at least one service definition needs to be provided.

        Failed to parse the WSDL.

我可以从浏览器访问URL,同样的事情是从其他系统(从我的PC)开始。可能是什么原因?

5 个答案:

答案 0 :(得分:11)

我已在Windows上通过禁用所有代理设置解决了此问题,如下所示:

Internet Options > Connections > Lan Settings > Disable all check boxes

注意:只是添加localhost或我的IP地址作为我的代理设置的例外对我不起作用。

答案 1 :(得分:3)

这似乎是您正在使用的java版本的问题......

确保您拥有java版本&#34; 1.7.x&#34;解决这个问题。

答案 2 :(得分:3)

我有同样的问题,在我的例子中,问题是WSDL文件的编码。

尝试从浏览器中打开https://example.com/exampleService.svc?wsdl。如果可以完全解析,您将看到所有xml内容。如果没有,至少Firefox会指出问题所在。

希望在这种情况下帮助某人

答案 3 :(得分:0)

尝试将此选项设置为wsimport:-XdisableSSLHostnameVerification

  

在获取wsdls时禁用SSL主机名验证。

答案 4 :(得分:0)

我尝试过迭戈·玛格达莱诺的想法,它对我来说很好用。

文件是从WSDL文件中提取的。

Internet选项>连接>局域网设置>禁用所有复选框

enter image description here