农行网上支付报com.hitrust.trustpay.client.TrxException: 系统发生无法预期的错误

本文记录了一次在实现农业银行网上支付过程中遇到的JSSE.jar与交通银行JSSE_BankOfCommunication.jar冲突的问题及解决过程。该问题表现为系统抛出ClassNotFoundException异常,指向Sun JDK特有的类未找到。经过排查发现,实际原因是两个银行提供的JSSE相关包存在冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近项目上有个地市要上农行的网上支付,在测试的时候报了个离奇的 com.hitrust.trustpay.client.TrxException: 系统发生无法预期的错误 !!真是急死人。

后来追踪错误,打印日志发现其实是这样的错误:

java.lang.ClassNotFoundException: sun.security.validator.KeyStores
 at com.ibm.ws.classloader.CompoundClassLoader.findClass(CompoundClassLoader.java:503)
 at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:404)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:606)
 at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.<init>(DashoA12275)
 at com.sun.net.ssl.internal.ssl.TrustManagerFactoryImpl$SimpleFactory.a(DashoA12275)
 at com.sun.net.ssl.internal.ssl.TrustManagerFactoryImpl.engineInit(DashoA12275)
 at javax.net.ssl.TrustManagerFactory.init(TrustManagerFactory.java:3)
 at com.sun.net.ssl.TrustManagerFactorySpiWrapper.engineInit(DashoA12275)
 at com.sun.net.ssl.TrustManagerFactory.init(DashoA12275)

于是上网去查,这一查就出大问题了,sun.security.validator.KeyStores这个类是SUN的jdk里面的类,websphere自带的jdk是IBM的,没有这个类,发火,当时真的怒了!!!

这可让我怎么办啊???于是我找了小组老人们帮我解决。搞了大半天才弄出来!原来根本就不是jdk的问题!!!

 

是农行的jsse.jar和交行的jsse_BankOfCommunication.jar有冲突!!!

 

这下可好了,问题解决了,可是农行和交行不能共存了,这真是个蛋疼的结局啊!

留下这篇日志给以后还会遇到这样问题的人们参考,同时大家一同看看这个农行和交行因jar包冲突不能并存怎么解决!

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值