【发布时间】:2014-04-23 11:30:12
【问题描述】:
作为前提,我还不是很有经验,但我已经尝试阅读和搜索所有可能与该主题相关的内容,但仍然没有运气。
我得到了一个简单的客户端来调用 Web 服务,但是一旦它完全设置好(包括使用证书和要设置的更多属性),我得到了标题中提到的错误:
javax.xml.ws.WebServiceException: {http://http://cert.controller.portaapplicativa.ictechnology.it//}MyService is not a valid service. Valid services are:
at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:187)
at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:159)
at com.sun.xml.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:82)
at javax.xml.ws.Service.<init>(Service.java:56)
at package.client.wsimport.MyService..<init>(MyService.java:46)
at package.client.Client.doRicercaDEN(Client.java:55)
at package.client.Client.main(Client.java:36)
我尝试使用 JAX-WS 再次生成客户端:
java -classpath C:\Programmi\Java\jdk1.6.0_38\lib\tools.jar com.sun.tools.internal.ws.WsImport -verbose C:\WsdlFile.wsdl -p package.client.wsimport -s C:\tmp\ws\
我也遇到了同样的问题。我正在使用 wsdl 的本地副本,因为 wsimport 似乎不喜欢我试图在属性中设置的证书(我很可能做错了什么,但我选择了简单的解决方法,因为我有更多紧迫的问题)。
尝试使用 SoapUI 测试服务,一切正常,但我需要将代理的首选项设置为“无”。
所以我尝试确保连接也没有在我的客户端中使用任何代理:
(...)
systemSettings.remove("http.proxyHost");
systemSettings.remove("http.proxyPort");
systemSettings.remove("https.proxyHost");
systemSettings.remove("https.proxyPort");
System.setProperty("http.nonProxyHosts","*");
System.setProperty("https.nonProxyHosts","*");
(顺便说一句,在“*”之前,据我了解,它应该作为“每个域”的通配符,我也尝试过指定特定域) 不管怎样,结果总是一样的。
我做错了什么,还有什么要尝试的吗?
【问题讨论】:
标签: java web-services https proxy wsimport