项目中用到了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

建立共享库

Websphere7 和 axis2的采坑记录(1)

项目引用共享库

Websphere7 和 axis2的采坑记录(1)

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

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

Websphere7 和 axis2的采坑记录(1)

相关文章:

  • 2021-06-16
  • 2022-03-03
  • 2021-08-30
  • 2021-07-28
  • 2021-11-20
  • 2021-08-13
  • 2021-11-24
  • 2022-02-01
猜你喜欢
  • 2022-01-08
  • 2022-12-23
  • 2021-12-02
  • 2021-10-13
  • 2021-04-05
  • 2021-11-26
  • 2021-05-24
相关资源
相似解决方案