我想在Java中使用Web服务,而我正在使用JAX.WS.一切正常,直到我尝试通过SSL(https)使用Web服务。我已使用keytool将该站点的证书添加到密钥库。仍然没有成功。有人以前做过吗?网络服务来自第三方支付网关,如paypal-payflo等......所以定期的网络服务的证书来自Verisign。任何提示都会有帮助。它是一个带有wsdl的SOAP Web服务。
错误跟踪:
线程“main”中的异常javax.xml.ws.WebServiceException:失败 访问WSDL: xxxxx.xxxxxx.xxx/creditcardWS/CreditCardService/v1?wsdl。它失败了 with:已拒绝连接:从打开流时连接 xxxxxx.xxxxxx.xxx/creditcardWS/CreditCardService/v1?wsdl。在 com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.tryWithMex(RuntimeWSDLPars er.java:173) 在 com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.ja VA:155) 在 com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.ja VA:120) 在 com.sun.xml.internal.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.jav一个:260) 在 com.sun.xml.internal.ws.client.WSServiceDelegate。(WSServiceDelegate.java:2 23) 在 com.sun.xml.internal.ws.client.WSServiceDelegate。(WSServiceDelegate.java:1 71) 在 com.sun.xml.internal.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:96)
答案 0 :(得分:1)
将您自己的密钥库设置为javax.net.ssl.trustStore有帮助吗?
String keystorePath = "local.keystore";
System.setProperty("javax.net.ssl.trustStore", keystorePath);
请务必检查您是否可以从该路径中读取(当前示例假定local.keystore
位于类路径中。