use*_*509 7 java soap web-services certificate webservice-client
我需要使用在Java中使用Https构建的Web服务.使用Eclipse生成Web服务客户端并调用它我使用以下代码:
ServicioTimbradoPruebasLocator ServicioTimbradoLocator = new ServicioTimbradoPruebasLocator();
ServicioTimbradoPruebasSoap ServicioTimbrado = ServicioTimbradoLocator.getServicioTimbradoPruebasSoap();
javax.xml.rpc.Stub s =((javax.xml.rpc.Stub)ServicioTimbrado);
s._setProperty(javax.xml.rpc.Stub.USERNAME_PROPERTY, "XXXXXXXX");
s._setProperty(javax.xml.rpc.Stub.PASSWORD_PROPERTY, "psswd");
String resultado = ServicioTimbrado.generaTimbre(xml.getBytes());
System.out.println("resultado: " +resultado);
Run Code Online (Sandbox Code Playgroud)
在这一行String resultado = ServicioTimbrado.generaTimbre(xml.getBytes()); 我收到以下错误:
AxisFault
[java] faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
[java] faultSubcode:
[java] faultString: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
[java] faultActor:
[java] faultNode:
[java] faultDetail:
[java] {http://xml.apache.org/axis/}stackTrace:javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
[java] at sun.security.ssl.Alerts.getSSLException(Unknown Source)
[java] at sun.security.ssl.SSLSocketImpl.fatal(Unknown Source)
[java] at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
[java] at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
[java] at sun.security.ssl.ClientHandshaker.serverCertificate(Unknown Source)
[java] at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source)
[java] at sun.security.ssl.Handshaker.processLoop(Unknown Source)
[java] at sun.security.ssl.Handshaker.process_record(Unknown Source)
[java] at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
[java] at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
[java] at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
[java] at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
[java] at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:186)
[java] at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:191)
[java] at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:404)
[java] at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
[java] at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
[java] at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
[java] at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
[java] at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
[java] at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
[java] at org.apache.axis.client.Call.invoke(Call.java:2767)
[java] at org.apache.axis.client.Call.invoke(Call.java:2443)
[java] at org.apache.axis.client.Call.invoke(Call.java:2366)
[java] at org.apache.axis.client.Call.invoke(Call.java:1812)
[java] at mx.com.timbrado.test.cfdi.ServicioTimbradoPruebasSoapStub.generaTimbre(ServicioTimbradoPruebasSoapStub.java:107)
[java] at natura.facturacion.general.GuardarFacturaElectronicav2.doPost(GuardarFacturaElectronicav2.java:136) ...
Run Code Online (Sandbox Code Playgroud)
我想知道是否有办法通过webservice调用发送证书.有关wsdl合约和java生成的文件的更多信息,请参见此处
根据您使用的Java版本,1.6 JRE/JDK的"最近"更新之一包括全局CACerts(签署SSL证书的受信任机构,例如Verisign)的重大更改,以包含一些新的周围的证书类型.
我建议升级到最新版本的Java以查看是否可行,如果没有,则选项2为......
使用SSLPoke.java可以找出缺少哪些证书,以及InstallCert.java来安装它们,如下所示;
如果这仍然导致问题,你可以包括sslpoke的输出,示例用法;
# java SSLPoke webserver.domain.com 443
Successfully connected
Run Code Online (Sandbox Code Playgroud)
如果ALL不起作用,并且您可以获取证书文件(crt),则可以使用keytool命令手动导入文件(cacerts是将在本地工作目录中创建的文件;确保将其移动到java安全文件夹中在你的JRE/JDK中);
keytool -import -trustcacerts -alias AddTrustExternalCARoot -file cetificate.crt -keystore cacerts
| 归档时间: |
|
| 查看次数: |
26295 次 |
| 最近记录: |