从JavaBean到web服务的SSL连接问题
我已经编写了一个通过jaxws连接到SSL web服务(包括客户端证书)的应用程序。为此,我有一个wstrust.jks,其中包含ws的受信任根证书,以及client.p12,它是连接到ws时要使用的客户端证书。然后,我创建了一个自定义SSLSocketFactory,以便能够在连接到ws的过程中使用我的wstrust.jks和client.12。我通过以下方式告诉jaxws使用我的实现: [javax.xml.ws.BindingProvider].getRequestContext().put(JAXWSProperties.SSL_SOCKET_工厂,customSSLSocketFactory) 如果我将它作为一个独立的java应用程序运行,那么一切都会很有魅力。但是,当我在部署为运行在Tomcat下的war文件的JavaBean(JSF)中使用相同的技术时, 我收到“PKIX路径构建失败”-错误 但是,如果在启动Tomcat(通过-Djavax.net.SSL.*参数)时通过JAVA_OPTS配置SSL,我就可以让它工作 因此,我的问题是: 我如何(或是否可能)让我的自定义SSLSocketFactory技术在Javabean中工作 我想,当tomcat围绕我的应用程序运行时,当它作为一个bean运行时,它的工作方式是不同的,我希望使用自定义的SSLSocketFactory的想法没有得到尊重 谢谢你的任何意见从JavaBean到web服务的SSL连接问题,java,tomcat,jsf,ssl,webservice-client,Java,Tomcat,Jsf,Ssl,Webservice Client,我已经编写了一个通过jaxws连接到SSL web服务(包括客户端证书)的应用程序。为此,我有一个wstrust.jks,其中包含ws的受信任根证书,以及client.p12,它是连接到ws时要使用的客户端证书。然后,我创建了一个自定义SSLSocketFactory,以便能够在连接到ws的过程中使用我的wstrust.jks和client.12。我通过以下方式告诉jaxws使用我的实现: [javax.xml.ws.BindingProvider].getRequestContext().pu
/托比解决了这个问题。如果有人有同样的问题,这里是如何。而不是通过以下方式设置自定义工厂: [javax.xml.ws.BindingProvider].getRequestContext().put(JAXWSProperties.SSL_SOCKET_工厂,customSSLSocketFactory) 我必须把它完成: HttpsURLConnection.setDefaultSSLSocketFactory(customSSLSocketFactory) 否则,它似乎被忽视了 /托比