Websphere7 和 axis2的采坑记录(1)

本文记录了在项目中使用Axis2技术与第三方WebService通信时遇到的jar包冲突问题及解决方案,包括通过建立共享库来优先加载特定版本的Axis2相关jar包,以及调整java.security配置以解决SSL相关异常。
项目中用到了axis2,需要和第三方webservice通信,花了三四天时间,遇到很多坑,稍微记录一下
  • jar包冲突问题

因为利用了AXIS2技术,所以项目中引入了相关的jar包,但是WAS作为一个web容器,容器中已经配置了AXIS2的相关的jar包,又由于was本身特殊的类加载机制,所以出现了jar包冲突问题。这里采用的是将AXIS2相关jar包变成共享库,强制was先加载我们war包中的axis2相关的jar包

解决方法:
1)改变was的类加载测录,从父加载器优先 变成 子加载器优先,但是不知道公司框架有什么设置,当设置之后,直接项目启动报错 o(╥﹏╥)o

2)建立共享库 解决jar包冲突
这里的axis2相关的jar包为

D:\linklib\axiom-api-1.2.21.jar
D:\linklib\axiom-dom-1.2.21.jar
D:\linklib\axiom-impl-1.2.21.jar
D:\linklib\axis2-adb-1.7.9.jar
D:\linklib\axis2-codegen-1.7.9.jar
D:\linklib\axis2-kernel-1.7.9.jar
D:\linklib\axis2-transport-http-1.7.9.jar
D:\linklib\axis2-transport-local-1.7.9.jar
D:\linklib\commons-httpclient-3.1.jar
D:\linklib\neethi-3.0.3.jar
D:\linklib\woden-core-1.0M10.jar
D:\linklib\xmlschema-core-2.2.1.jar
D:\linklib\httpcore-4.4.6.jar
D:\linklib\commons-codec-1.6.jar

建立共享库

建立共享库

项目引用共享库

k1rsXj.png

  • 修改java.security的配置
    因为was 自带了jdk,而自己的开发环境用的是sun的jdk,两者的安全实现策略略有不同,这个问题我在网上找了好久,始终无法修改,才自己尝试修改的,感觉略有成就感。
    否则可能会报com.ibm.websphere.ssl.protocol.SSLSocketFactory.createSocket nullexception
    打开文件,修改160/161行,将原来的#注释去掉,修改后如下图所示
    k1ssPK.png

  • 最后修改hosts文件
    这个是另一个花了我很长时间的问题,日志老是报Connection refused: connect,后来我想了一下可能ssl证书是和域名绑定的,而如果要通信,就需要我们手动绑定ip地址和域名的映射关系

k1soPf.png

activation-1.1.jar antlr-2.7.7.jar apache-mime4j-core-0.7.2.jar axiom-api-1.2.20.jar axiom-dom-1.2.20.jar axiom-impl-1.2.20.jar axiom-jaxb-1.2.20.jar axis2-adb-1.7.4.jar axis2-adb-codegen-1.7.4.jar axis2-clustering-1.7.4.jar axis2-codegen-1.7.4.jar axis2-corba-1.7.4.jar axis2-fastinfoset-1.7.4.jar axis2-java2wsdl-1.7.4.jar axis2-jaxbri-1.7.4.jar axis2-jaxws-1.7.4.jar axis2-jibx-1.7.4.jar axis2-json-1.7.4.jar axis2-kernel-1.7.4.jar axis2-metadata-1.7.4.jar axis2-mtompolicy-1.7.4.jar axis2-saaj-1.7.4.jar axis2-soapmonitor-servlet-1.7.4.jar axis2-spring-1.7.4.jar axis2-transport-http-1.7.4.jar axis2-transport-local-1.7.4.jar axis2-xmlbeans-1.7.4.jar bcel-findbugs-6.0.jar commons-cli-1.2.jar commons-codec-1.3.jar commons-fileupload-1.3.1.jar commons-httpclient-3.1.jar commons-io-2.1.jar commons-logging-1.1.1.jar geronimo-annotation_1.0_spec-1.1.jar geronimo-jaxws_2.2_spec-1.0.jar geronimo-jta_1.1_spec-1.1.jar geronimo-saaj_1.3_spec-1.0.1.jar geronimo-stax-api_1.0_spec-1.0.1.jar geronimo-ws-metadata_2.0_spec-1.1.2.jar gson-2.1.jar httpclient-4.5.2.jar httpcore-4.4.4.jar jaxb-api-2.2.6.jar jaxb-impl-2.2.6.jar jaxb-xjc-2.2.6.jar jaxen-1.1.6.jar jaxws-tools-2.2.6.jar jettison-1.3.jar jibx-bind-1.2.jar jibx-run-1.2.jar jsr311-api-1.1.1.jar juli-6.0.16.jar log4j-1.2.15.jar mail-1.4.jar mex-1.7.4-impl.jar neethi-3.0.3.jar stax2-api-3.1.1.jar tribes-6.0.16.jar woden-core-1.0M10.jar woodstox-core-asl-4.2.0.jar wsdl4j-1.6.2.jar xalan-2.7.0.jar xml-resolver-1.2.jar xmlbeans-2.5.0.jar xmlschema-core-2.2.1.jar
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值