轴2的web服务的SSL通信(Axis 2 webservice SSL communication

2019-09-17 19:07发布

我得到这个代码SOAP响应

SOAPConnectionFactory sfc = SOAPConnectionFactory.newInstance();
SOAPConnection connection = sfc.createConnection();
SOAPMessage soapMessageResponse = connection.call(soapRequest, new URL(serviceLocation));

我怎样才能使它基于SSL的?

我知道如何创建SSLSocketFactory距离SSLContext给我指定的密钥库

我怎么能告诉SOAPConnection类有关SSLSocketFactorySSLContext ? 所以,我的沟通可以得到保证。

我不想设置系统属性或XML文件的密钥库。 我使用的Websphere 7。

编辑:

Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
    at java.lang.reflect.Method.invoke(Method.java:600)
    at com.ibm.ws.webservices.engine.soap.SOAPConnectionImpl.callJAXWSDispatch(SOAPConnectionImpl.java:416)
    ... 49 more
Caused by: javax.xml.soap.SOAPException: javax.xml.ws.WebServiceException: javax.net.ssl.SSLHandshakeException: General SSLEngine problem
    at com.ibm.ws.webservices.engine.xmlsoap.saaj13only.SOAPConnectionJAXWS.call(SOAPConnectionJAXWS.java:72)
    ... 54 more
Caused by: javax.xml.ws.WebServiceException: javax.net.ssl.SSLHandshakeException: General SSLEngine problem

Answer 1:

登录到管理控制台,并通过SSL证书和密钥管理> SSL配置> NodeDefaultSSLSettings>>节点默认>签署者证书密钥库和证书添加证书



Answer 2:

通常,你不需要从给你的开头是https端点URL除了做任何事://。

Axis2所使用的HTTP公地这反过来将使用JSSE需要安全的护理。 所以只要您已经配置JSSE正确,应该制定出在不改变箱体除了传递HTTPS URL中。



Answer 3:

伊姆兰,你试试这个提示? “你必须从你正在试图连接,并将它们添加到远程主机检索签名者证书是由服务器信任存储”

http://turanunes.wordpress.com/2011/05/04/cwpki0022e-ssl-handshake-failure/



Answer 4:

这行代码将无法正常工作在SSL的情况下。

SOAPMessage soapMessageResponse = connection.call(soapRequest, new URL(serviceLocation));

为了打通从SSL Web服务的Axis2你需要像给开流响应[here][1]



文章来源: Axis 2 webservice SSL communication