我可以生成从如何从https地址的wsdl在Eclipse中生成Web服务客户端?
http://localhost:8080/service?wsdl
就好了一个客户,但现在我想从
https://localhost:8081/service?wsdl
生成客户端和Eclipse说位置是无效的,而当Eclipse使尝试我的码头服务器说
javax.net.ssl.SSLException:收到致命警报:certificate_unknown
我可以很容易地navig在确认安全异常后,在我的浏览器中进入wsdl,所以它绝对存在。
我试过将wsdl下载到我的本地文件系统,但我仍然无法从那里生成它,因为wsdl包含对其他https位置的引用,例如。
<xsd:import namespace="http://my.service.namespace/" schemaLocation="https://localhost:8081/serviceSchema?xsd=1"/>
我修改的eclipse.ini包含以下行:
-Djavax.net.ssl.trustStore="/path/to/my/truststore/.keystore"
-Djavax.net.ssl.trustStorePassword="mytruststorepassword"
-Djavax.net.ssl.keyStore="/path/to/my/keystore/.keystore"
-Djavax.net.ssl.keyStorePassword="mykeystorepassword"
无济于事。 Eclipse似乎没有任何与此相关的偏好设置。有没有办法通过eclipse做到这一点,或者我将不得不使用一些外部工具?
编辑: 对于其他同样的问题,这是我如何解决它。
- 导航到浏览器中的wsdl,并将其下载到您的文件系统。
- 找到它依赖的任何东西,并下载它。
打开你刚刚用浏览器下载的依赖关系,并复制它的新位置,例如。
文件:///path/to/my/schema/service.xsd
- 粘贴到您下载的WSDL文件,其中它的https地址,重复任何其他的模式,并保存。
- 复制上述wsdl文件的文件位置,如上
- 在Eclipse中,生成New-> Other ...-> Web Service Client并将文件位置粘贴到服务定义中,并且它应该可以工作。感谢大家的帮助!
你应该下载WSDL和所有工件(如XSD)它所依赖。修改架构位置并生成客户端...不要忘记将这些WSDL添加到您的版本控制系统(这是您的合同) – home
但是如果我修改架构位置,客户端不会错误地生成? –
为什么?您应该始终在您的代码中设置端点地址......其他所有内容仅适用于“hello world”应用程序。在现实世界中,您可能有不同的端点地址用于生产,分段,测试等。 – home