websphere sslSocketFactory,SSLSocketFactory.getDefault() is null

        <bean id="trustStore_sae_ssl" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
           <property name="targetObject" value="#{@systemProperties}"/>
           <property name="targetMethod" value="putAll" />
           <property name="arguments">
             <props>
              <prop key="javax.net.ssl.trustStore">${javax.net.ssl.trustStore}</prop>
             </props>
           </property>
        </bean> 

<bean id="messageSender" class="org.springframework.ws.transport.http.CommonsHttpMessageSender">

         <property name="connectionTimeout" value="${connection.connectionTimeout}" />
         <property name="readTimeout" value="${connection.readTimeout}" />
         <property name="maxTotalConnections" value="${connection.maxConnectionsPerHost.maxConnections}" />         

        </bean>

<bean id="sae_webServiceTemplate" class="org.springframework.ws.client.core.WebServiceTemplate">
      <constructor-arg ref="messageFactory"/> 
    <property name="marshaller" ref="jaxbMarshaller_sae"/>
    <property name="unmarshaller" ref="jaxbMarshaller_sae"/>
    <property name="defaultUri" value="${getOrderCR.wsServer.URL}"/>
    <property name="messageSender" ref="messageSender"/>               
    <property name="interceptors">
     <list><ref local="wsSecurityInterceptor_sae"/></list>
    </property>
    </bean>   


in WAS, error is "SSLSocketFactory.getDefault() is null"


The reason is

http://stackoverflow.com/questions/2776149/error-accessing-a-web-service-with-ssl


file = /sbcdata/WebSphere/AppServer/java/jre/lib/security/java.security

# Default JSSE socket factories

ssl.SocketFactory.provider=com.ibm.jsse2.SSLSocketFactoryImpl
ssl.ServerSocketFactory.provider=com.ibm.jsse2.SSLServerSocketFactoryImpl
# WebSphere socket factories (in cryptosf.jar)
ssl.SocketFactory.provider=com.ibm.websphere.ssl.protocol.SSLSocketFactory
ssl.ServerSocketFactory.provider=com.ibm.websphere.ssl.protocol.SSLServerSocketFactory


There is no default()


So,  write a bean, for example, MySSL.java


static{

 Security.setProperty("ssl.SocketFactory.provider", "com.ibm.jsse2.SSLSocketFactoryImpl");

Security.setProperty("ssl.ServerSocketFactory.provider", "com.ibm.jsse2.SSLServerSocketFactoryImpl");

}

<bean class="MySSL"/>





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值