在Java中使用SSL上的Web服务

时间:2012-10-04 13:28:39

标签: java web-services

我想在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)

1 个答案:

答案 0 :(得分:1)

将您自己的密钥库设置为javax.net.ssl.trustStore有帮助吗?

String keystorePath = "local.keystore";
System.setProperty("javax.net.ssl.trustStore", keystorePath);

请务必检查您是否可以从该路径中读取(当前示例假定local.keystore位于类路径中。