如何将Spring Ws中的Soap请求消息发送到接受Soap请求消息的服务器?

bri*_*ck7 7 java soap web-services cxf spring-mvc

如何使用Spring WS配置Spring MvC 4应用程序以与Bank等第三方建立双向SSL连接.我需要交换证书并验证服务器证书然后交换Soap消息.如有任何链接或代码或程序,请更新

Fra*_*ank 2

使用密钥库和 trustore 的必要属性启动 VM,如JSSE 文档中所述:

 -Djavax.net.ssl.keyStoreType=yourKeystoreType(jks,pkcs12,etc.)
 -Djavax.net.ssl.trustStoreType=yourTruststoreType(jks,pkcs12,etc.)  
 -Djavax.net.ssl.keyStore=/path/to/your/keystore  
 -Djavax.net.ssl.trustStore=/path/to/your/truststore
 -Djavax.net.debug=ssl  
 -Djavax.net.ssl.keyStorePassword=...  
 -Djavax.net.ssl.trustStorePassword=...
Run Code Online (Sandbox Code Playgroud)

然后在您的客户端代码中您需要获取 SSLSocketFactory

SSLSocketFactory sslsocketfactory =(SSLSocketFactory) SSLSocketFactory.getDefault();
Run Code Online (Sandbox Code Playgroud)

并将其附加到 WebServiceTemplate(用于创建 HttpClient 的片段取自apache 示例中的 ClientCustomSSL):

WebServiceMessageSender sender = new HttpComponentsMessageSender(HttpClients.custom().setSSLSocketFactory(sslsocketfactory ));
getWebServiceTemplate().setMessageSender(sender);
Run Code Online (Sandbox Code Playgroud)