Thank you for that information.
I can't immediately currently see the source of the mismatch, but I'm concerned that there may still be one.
Can you add "-Xverbose:class" to the startup options for your testcase, and provide the verbose classloading logging that it will produce? We can then be sure where the failing class was loaded from.
------------------------------
Mark Bluemel
Software Engineer
IBM
mbluemel@uk.ibm.com------------------------------
Original Message:
Sent: Tue August 27, 2024 04:15 AM
From: Priyanka TV
Subject: Receiving Bouncycastle error issue while trying to access IBMMQ and receive the message from third party host.
hi Mark,
Thank you for your inputs.
Please find the classpath below. Kindly advise.
- "WEB-INF/lib/spring-beans-5.3.27.jar"
- "WEB-INF/lib/spring-context-5.3.27.jar"
- "WEB-INF/lib/spring-jms-5.3.27.jar"
- "WEB-INF/lib/spring-messaging-5.3.27.jar"
- "WEB-INF/lib/spring-core-5.3.27.jar"
- "WEB-INF/lib/spring-jcl-5.3.27.jar"
- "WEB-INF/lib/spring-boot-2.7.12.jar"
- "WEB-INF/lib/spring-boot-autoconfigure-2.7.12.jar"
- "WEB-INF/lib/spring-web-5.3.27.jar"
- "WEB-INF/lib/camel-spring-boot-starter-3.2.0.jar"
- "WEB-INF/lib/camel-spring-boot-3.2.0.jar"
- "WEB-INF/lib/camel-main-3.2.0.jar"
- "WEB-INF/lib/camel-core-starter-3.2.0.jar"
- "WEB-INF/lib/javax.annotation-api-1.3.2.jar"
- "WEB-INF/lib/camel-servlet-starter-3.2.0.jar"
- "WEB-INF/lib/camel-servlet-3.2.0.jar"
- "WEB-INF/lib/camel-http-common-3.2.0.jar"
- "WEB-INF/lib/camel-http-base-3.2.0.jar"
- "WEB-INF/lib/camel-cloud-3.2.0.jar"
- "WEB-INF/lib/camel-attachments-3.2.0.jar"
- "WEB-INF/lib/javax.activation-1.2.0.jar"
- "WEB-INF/lib/camel-stream-3.2.0.jar"
- "WEB-INF/lib/camel-support-3.2.0.jar"
- "WEB-INF/lib/camel-api-3.2.0.jar"
- "WEB-INF/lib/camel-management-api-3.2.0.jar"
- "WEB-INF/lib/camel-util-3.2.0.jar"
- "WEB-INF/lib/camel-jms-3.2.0.jar"
- "WEB-INF/lib/camel-spring-3.2.0.jar"
- "WEB-INF/lib/camel-xml-jaxp-3.2.0.jar"
- "WEB-INF/lib/camel-core-xml-3.2.0.jar"
- "WEB-INF/lib/spring-aop-5.3.27.jar"
- "WEB-INF/lib/spring-expression-5.3.27.jar"
- "WEB-INF/lib/spring-tx-5.3.27.jar"
- "WEB-INF/lib/camel-core-3.2.0.jar"
- "WEB-INF/lib/camel-core-engine-3.2.0.jar"
- "WEB-INF/lib/camel-base-3.2.0.jar"
- "WEB-INF/lib/camel-core-languages-3.2.0.jar"
- "WEB-INF/lib/camel-bean-3.2.0.jar"
- "WEB-INF/lib/camel-browse-3.2.0.jar"
- "WEB-INF/lib/camel-caffeine-lrucache-3.2.0.jar"
- "WEB-INF/lib/caffeine-2.9.3.jar"
- "WEB-INF/lib/camel-cluster-3.2.0.jar"
- "WEB-INF/lib/camel-controlbus-3.2.0.jar"
- "WEB-INF/lib/camel-dataformat-3.2.0.jar"
- "WEB-INF/lib/camel-dataset-3.2.0.jar"
- "WEB-INF/lib/camel-direct-3.2.0.jar"
- "WEB-INF/lib/camel-directvm-3.2.0.jar"
- "WEB-INF/lib/camel-file-3.2.0.jar"
- "WEB-INF/lib/camel-core-catalog-3.2.0.jar"
- "WEB-INF/lib/camel-language-3.2.0.jar"
- "WEB-INF/lib/camel-log-3.2.0.jar"
- "WEB-INF/lib/camel-mock-3.2.0.jar"
- "WEB-INF/lib/camel-ref-3.2.0.jar"
- "WEB-INF/lib/camel-rest-3.2.0.jar"
- "WEB-INF/lib/camel-tooling-model-3.2.0.jar"
- "WEB-INF/lib/camel-util-json-3.2.0.jar"
- "WEB-INF/lib/camel-saga-3.2.0.jar"
- "WEB-INF/lib/camel-scheduler-3.2.0.jar"
- "WEB-INF/lib/camel-seda-3.2.0.jar"
- "WEB-INF/lib/camel-stub-3.2.0.jar"
- "WEB-INF/lib/camel-timer-3.2.0.jar"
- "WEB-INF/lib/camel-validator-3.2.0.jar"
- "WEB-INF/lib/camel-xslt-3.2.0.jar"
- "WEB-INF/lib/camel-xml-jaxb-3.2.0.jar"
- "WEB-INF/lib/camel-activemq-3.2.0.jar"
- "WEB-INF/lib/activemq-spring-5.16.6.jar"
- "WEB-INF/lib/xbean-spring-4.14.jar"
- "WEB-INF/lib/geronimo-jta_1.1_spec-1.1.1.jar"
- "WEB-INF/lib/commons-pool2-2.11.1.jar"
- "WEB-INF/lib/activemq-pool-5.16.6.jar"
- "WEB-INF/lib/activemq-jms-pool-5.16.6.jar"
- "WEB-INF/lib/activemq-client-5.16.6.jar"
- "WEB-INF/lib/hawtbuf-1.11.jar"
- "WEB-INF/lib/geronimo-j2ee-management_1.1_spec-1.0.1.jar"
- "WEB-INF/lib/javax.servlet-api-3.0.1.jar"
- "WEB-INF/lib/log4j-api-2.17.2.jar"
- "WEB-INF/lib/log4j-core-2.17.2.jar"
- "WEB-INF/lib/log4j-web-2.17.2.jar"
- "WEB-INF/lib/log4j-jul-2.11.2.jar"
- "WEB-INF/lib/log4j-slf4j-impl-2.11.2.jar"
- "WEB-INF/lib/jul-to-slf4j-1.7.26.jar"
- "WEB-INF/lib/slf4j-api-1.7.26.jar"
- "WEB-INF/lib/rps-engine-api-client-3.10.0.jar"
- "WEB-INF/lib/jackson-annotations-2.13.5.jar"
- "WEB-INF/lib/jackson-databind-2.13.5.jar"
- "WEB-INF/lib/jackson-core-2.13.5.jar"
- "WEB-INF/lib/httpcore-4.4.16.jar"
- "WEB-INF/lib/httpclient-4.5.14.jar"
- "WEB-INF/lib/commons-codec-1.15.jar"
- "WEB-INF/lib/jaxb-api-2.3.0.jar"
- "WEB-INF/lib/jaxb-core-2.3.0.jar"
- "WEB-INF/lib/jaxb-impl-2.3.0.jar"
- "WEB-INF/lib/gson-2.8.1.jar"
- "WEB-INF/lib/swagger-annotations-2.0.0.jar"
- "WEB-INF/lib/json-20240303.jar"
- "WEB-INF/lib/spring-boot-jarmode-layertools-2.7.12.jar"

------------------------------
Priyanka TV
Original Message:
Sent: Tue August 27, 2024 04:02 AM
From: Mark Bluemel
Subject: Receiving Bouncycastle error issue while trying to access IBMMQ and receive the message from third party host.
You appear to be using AMS (Advanced Message Security) also termed ESE (Extended Security Edition) which encrypts message payloads in flight and at rest. In the Java implementation of AMS, we use Bouncy Castle to provide the PKCS#7 support for this encryption. The Bouncy Castle JARs are referenced in the classpath of the MQ client JAR.
My suspicion is that the application also uses some Bouncy Castle elements, and we have an inconsistent mix of JAR files on the classpath. Can you show your classpath please?
------------------------------
Mark Bluemel
Software Engineer
IBM
mbluemel@uk.ibm.com
Original Message:
Sent: Mon August 26, 2024 02:23 AM
From: Priyanka TV
Subject: Receiving Bouncycastle error issue while trying to access IBMMQ and receive the message from third party host.
Hi Team,
We have developed a camel spring boot war file to access IBMMQ (hosted by a third party). When we are trying to receive the message from the IBMMQ we are getting the below error:
Could someone please advice and help to resolve this issue?
2024-Aug-22 20:07:07 PM [Camel (CsdBottomLineInterfaceMain) thread #6 - JmsConsumer[GET.MIRA.GTF.TO.TEMENOS.MX]] WARN org.apache.camel.component.jms.DefaultJmsMessageListenerContainer - Setup of JMS message listener invoker failed for destination 'GET.MIRA.GTF.TO.TEMENOS.MX' - trying to recover. Cause: 'org.bouncycastle.asn1.ASN1Primitive org.bouncycastle.asn1.ASN1TaggedObject.getObject()'
java.lang.NoSuchMethodError: 'org.bouncycastle.asn1.ASN1Primitive org.bouncycastle.asn1.ASN1TaggedObject.getObject()'
at org.bouncycastle.asn1.cms.ContentInfo.<init>(Unknown Source) ~[bcprov-jdk15on-1.68.jar:1.68.0]
at org.bouncycastle.asn1.cms.ContentInfo.getInstance(Unknown Source) ~[bcprov-jdk15on-1.68.jar:1.68.0]
at org.bouncycastle.cms.CMSUtils.readContentInfo(Unknown Source) ~[bcpkix-jdk15on-1.68.jar:1.68.00.0]
at org.bouncycastle.cms.CMSUtils.readContentInfo(Unknown Source) ~[bcpkix-jdk15on-1.68.jar:1.68.00.0]
at org.bouncycastle.cms.CMSEnvelopedData.<init>(Unknown Source) ~[bcpkix-jdk15on-1.68.jar:1.68.00.0]
at com.ibm.mq.ese.prot.MessageProtectionBCImpl.unprotect(MessageProtectionBCImpl.java:742) ~[com.ibm.mq.allclient-9.2.2.0.jar:9.2.2.0 - p922-L210305.1]
at com.ibm.mq.ese.prot.MessageProtectionWrapper.unprotect(MessageProtectionWrapper.java:99) ~[com.ibm.mq.allclient-9.2.2.0.jar:9.2.2.0 - p922-L210305.1]
at com.ibm.mq.ese.intercept.JmqiGetInterceptorImpl.unprotect(JmqiGetInterceptorImpl.java:2264) ~[com.ibm.mq.allclient-9.2.2.0.jar:9.2.2.0 - p922-L210305.1]
at com.ibm.mq.ese.intercept.JmqiGetInterceptorImpl.process(JmqiGetInterceptorImpl.java:1284) ~[com.ibm.mq.allclient-9.2.2.0.jar:9.2.2.0 - p922-L210305.1]
at com.ibm.mq.ese.intercept.JmqiGetInterceptorImpl.unprotectMessage(JmqiGetInterceptorImpl.java:661) ~[com.ibm.mq.allclient-9.2.2.0.jar:9.2.2.0 - p922-L210305.1]
at com.ibm.mq.ese.intercept.JmqiGetInterceptorImpl.afterGet(JmqiGetInterceptorImpl.java:512) ~[com.ibm.mq.allclient-9.2.2.0.jar:9.2.2.0 - p922-L210305.1]
at com.ibm.mq.ese.intercept.JmqiGetInterceptorImpl.afterJmqiGet(JmqiGetInterceptorImpl.java:222) ~[com.ibm.mq.allclient-9.2.2.0.jar:9.2.2.0 - p922-L210305.1]
at com.ibm.mq.ese.jmqi.InterceptedJmqiImpl.jmqiGet(InterceptedJmqiImpl.java:1377) ~[com.ibm.mq.allclient-9.2.2.0.jar:9.2.2.0 - p922-L210305.1]
at com.ibm.mq.ese.jmqi.ESEJMQI.jmqiGet(ESEJMQI.java:602) ~[com.ibm.mq.allclient-9.2.2.0.jar:9.2.2.0 - p922-L210305.1]
at com.ibm.msg.client.wmq.internal.WMQConsumerShadow.getMsg(WMQConsumerShadow.java:1795) ~[com.ibm.mqjms.jar:9.2.2.0 - p922-L210310.DE]
at com.ibm.msg.client.wmq.internal.WMQSyncConsumerShadow.receiveInternal(WMQSyncConsumerShadow.java:228) ~[com.ibm.mqjms.jar:9.2.2.0 - p922-L210310.DE]
at com.ibm.msg.client.wmq.internal.WMQConsumerShadow.receive(WMQConsumerShadow.java:1461) ~[com.ibm.mqjms.jar:9.2.2.0 - p922-L210310.DE]
at com.ibm.msg.client.wmq.internal.WMQMessageConsumer.receive(WMQMessageConsumer.java:674) ~[com.ibm.mqjms.jar:9.2.2.0 - p922-L210310.DE]
at com.ibm.msg.client.jms.internal.JmsMessageConsumerImpl.receiveInboundMessage(JmsMessageConsumerImpl.java:1051) ~[com.ibm.mqjms.jar:9.2.2.0 - p922-L210310.DE]
at com.ibm.msg.client.jms.internal.JmsMessageConsumerImpl.receive(JmsMessageConsumerImpl.java:667) ~[com.ibm.mqjms.jar:9.2.2.0 - p922-L210310.DE]
at com.ibm.mq.jms.MQMessageConsumer.receive(MQMessageConsumer.java:209) ~[com.ibm.mqjms.jar:9.2.2.0 - p922-L210310.DE]
at org.springframework.jms.support.destination.JmsDestinationAccessor.receiveFromConsumer(JmsDestinationAccessor.java:132) ~[spring-jms-5.3.27.jar:5.3.27]
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveMessage(AbstractPollingMessageListenerContainer.java:431) ~[spring-jms-5.3.27.jar:5.3.27]
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:316) ~[spring-jms-5.3.27.jar:5.3.27]
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:270) ~[spring-jms-5.3.27.jar:5.3.27]
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1237) ~[spring-jms-5.3.27.jar:5.3.27]
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1227) ~[spring-jms-5.3.27.jar:5.3.27]
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1120) [spring-jms-5.3.27.jar:5.3.27]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:829) [?:?]
------------------------------
Priyanka TV
------------------------------