Discussion:
JMS Connector Errors
(too old to reply)
d***@gmail.com
2018-06-21 14:31:57 UTC
Permalink
Hello,

I'm in the process of creating a new JMS Connector Assembly line to connect to a MQ Server to retrieve MQ Messages. We are using JMS Server Type: WebSPHEREESB. I have put all of the server information and port, but when I try and do a simple connect, I get the following error: "java.lang.NoClassDefFourndError: com.ibm.websphee.sib.api.jms.JmsConnectionFactory". I'm not very familiar with the JMS Connector as this is my first time using such a connector. I also tried with the IBM_MQ Connector, which also connects to the same MQ Backend Server, but get a similar error: "java.lang.NoClassDefFoundError: come/ibm/mq/mjs/MQQueueConnectionFactory.

Would like to know if anyone has any insight into this type of connection when trying to get MQ messages from a WebSPhere MQ Messaging Provider that is uing a MQ VIP, versus using a standard Queue Manager.

Thanks,
Derrick Chapman
Jason Williams
2018-06-21 17:20:54 UTC
Permalink
Post by d***@gmail.com
Hello,
I'm in the process of creating a new JMS Connector Assembly line to connect to a MQ Server to retrieve MQ Messages. We are using JMS Server Type: WebSPHEREESB. I have put all of the server information and port, but when I try and do a simple connect, I get the following error: "java.lang.NoClassDefFourndError: com.ibm.websphee.sib.api.jms.JmsConnectionFactory". I'm not very familiar with the JMS Connector as this is my first time using such a connector. I also tried with the IBM_MQ Connector, which also connects to the same MQ Backend Server, but get a similar error: "java.lang.NoClassDefFoundError: come/ibm/mq/mjs/MQQueueConnectionFactory.
Would like to know if anyone has any insight into this type of connection when trying to get MQ messages from a WebSPhere MQ Messaging Provider that is uing a MQ VIP, versus using a standard Queue Manager.
Thanks,
Derrick Chapman
The class references are MQ related. The MQ jars aren't provided with the TDI/SDI installation. Therefore you'll need to obtain the MQ jars and place them with the TDI classpath. I recently went through this when setting up SDI 7.2 to connect to MQ9. Here are my notes. The jars may vary based on the version of MQ Server.

1. Refer to 'IBM MQ 9.0 Client' at https://developer.ibm.com/messaging/mq-downloads/
2. Download the related java client files 'IBM MQ V9.0.5 CD Clients' -> '9.0.5.0-IBM-MQC-Redist-Java'
3. After unpacking the package, copy the lib/com.ibm.mq.allclient.jar and lib/jms.jar files to the SDI/jars/3rdparty/IBM/mq
d***@gmail.com
2018-06-21 17:29:10 UTC
Permalink
Post by Jason Williams
Post by d***@gmail.com
Hello,
I'm in the process of creating a new JMS Connector Assembly line to connect to a MQ Server to retrieve MQ Messages. We are using JMS Server Type: WebSPHEREESB. I have put all of the server information and port, but when I try and do a simple connect, I get the following error: "java.lang.NoClassDefFourndError: com.ibm.websphee.sib.api.jms.JmsConnectionFactory". I'm not very familiar with the JMS Connector as this is my first time using such a connector. I also tried with the IBM_MQ Connector, which also connects to the same MQ Backend Server, but get a similar error: "java.lang.NoClassDefFoundError: come/ibm/mq/mjs/MQQueueConnectionFactory.
Would like to know if anyone has any insight into this type of connection when trying to get MQ messages from a WebSPhere MQ Messaging Provider that is uing a MQ VIP, versus using a standard Queue Manager.
Thanks,
Derrick Chapman
The class references are MQ related. The MQ jars aren't provided with the TDI/SDI installation. Therefore you'll need to obtain the MQ jars and place them with the TDI classpath. I recently went through this when setting up SDI 7.2 to connect to MQ9. Here are my notes. The jars may vary based on the version of MQ Server.
1. Refer to 'IBM MQ 9.0 Client' at https://developer.ibm.com/messaging/mq-downloads/
2. Download the related java client files 'IBM MQ V9.0.5 CD Clients' -> '9.0.5.0-IBM-MQC-Redist-Java'
3. After unpacking the package, copy the lib/com.ibm.mq.allclient.jar and lib/jms.jar files to the SDI/jars/3rdparty/IBM/mq
Thanks Allot Jason. I will definitely look at that. I appreciate you getting back with me on this!
Eddie Hartman
2018-06-22 06:55:42 UTC
Permalink
Post by d***@gmail.com
Post by Jason Williams
Post by d***@gmail.com
Hello,
I'm in the process of creating a new JMS Connector Assembly line to connect to a MQ Server to retrieve MQ Messages. We are using JMS Server Type: WebSPHEREESB. I have put all of the server information and port, but when I try and do a simple connect, I get the following error: "java.lang.NoClassDefFourndError: com.ibm.websphee.sib.api.jms.JmsConnectionFactory". I'm not very familiar with the JMS Connector as this is my first time using such a connector. I also tried with the IBM_MQ Connector, which also connects to the same MQ Backend Server, but get a similar error: "java.lang.NoClassDefFoundError: come/ibm/mq/mjs/MQQueueConnectionFactory.
Would like to know if anyone has any insight into this type of connection when trying to get MQ messages from a WebSPhere MQ Messaging Provider that is uing a MQ VIP, versus using a standard Queue Manager.
Thanks,
Derrick Chapman
The class references are MQ related. The MQ jars aren't provided with the TDI/SDI installation. Therefore you'll need to obtain the MQ jars and place them with the TDI classpath. I recently went through this when setting up SDI 7.2 to connect to MQ9. Here are my notes. The jars may vary based on the version of MQ Server.
1. Refer to 'IBM MQ 9.0 Client' at https://developer.ibm.com/messaging/mq-downloads/
2. Download the related java client files 'IBM MQ V9.0.5 CD Clients' -> '9.0.5.0-IBM-MQC-Redist-Java'
3. After unpacking the package, copy the lib/com.ibm.mq.allclient.jar and lib/jms.jar files to the SDI/jars/3rdparty/IBM/mq
Thanks Allot Jason. I will definitely look at that. I appreciate you getting back with me on this!
Here's a write-up I did about adding custom jars and libs to your TDI installation:

http://www.tdiingoutloud.com/2008/11/new-component-and-library-jar-files.html

/Eddie
d***@gmail.com
2018-07-06 19:30:08 UTC
Permalink
Post by Jason Williams
Post by d***@gmail.com
Hello,
I'm in the process of creating a new JMS Connector Assembly line to connect to a MQ Server to retrieve MQ Messages. We are using JMS Server Type: WebSPHEREESB. I have put all of the server information and port, but when I try and do a simple connect, I get the following error: "java.lang.NoClassDefFourndError: com.ibm.websphee.sib.api.jms.JmsConnectionFactory". I'm not very familiar with the JMS Connector as this is my first time using such a connector. I also tried with the IBM_MQ Connector, which also connects to the same MQ Backend Server, but get a similar error: "java.lang.NoClassDefFoundError: come/ibm/mq/mjs/MQQueueConnectionFactory.
Would like to know if anyone has any insight into this type of connection when trying to get MQ messages from a WebSPhere MQ Messaging Provider that is uing a MQ VIP, versus using a standard Queue Manager.
Thanks,
Derrick Chapman
The class references are MQ related. The MQ jars aren't provided with the TDI/SDI installation. Therefore you'll need to obtain the MQ jars and place them with the TDI classpath. I recently went through this when setting up SDI 7.2 to connect to MQ9. Here are my notes. The jars may vary based on the version of MQ Server.
1. Refer to 'IBM MQ 9.0 Client' at https://developer.ibm.com/messaging/mq-downloads/
2. Download the related java client files 'IBM MQ V9.0.5 CD Clients' -> '9.0.5.0-IBM-MQC-Redist-Java'
3. After unpacking the package, copy the lib/com.ibm.mq.allclient.jar and lib/jms.jar files to the SDI/jars/3rdparty/IBM/mq
Hello Jason,

I have another question about the JMS Connector. I performed the task as you stated above. However, for some Reason, I'm now getting this error:
java.lang.UnsupportedClassVersionError.JVMCFRE003 bad major version; class=com/ibm/mq/mjs/MQQueueConnectionFactory, offset=6. I only get this when I change the mode of the connector to: CallReply. If I do "AddOnly, Iterator, or lookup, I still get the "java.lang.NoClassDefFoundError: com/ibm/mq/jms/MQQueueConnectionFactory" error, even after placing all of the MQ Jars under TDI\jars\3rdParty\IBM\mq". If you can provide any additional insights, that would be helpful.

Thanks,
Derrick Chapman
Jason Williams
2018-07-07 23:27:29 UTC
Permalink
Post by d***@gmail.com
Post by Jason Williams
Post by d***@gmail.com
Hello,
I'm in the process of creating a new JMS Connector Assembly line to connect to a MQ Server to retrieve MQ Messages. We are using JMS Server Type: WebSPHEREESB. I have put all of the server information and port, but when I try and do a simple connect, I get the following error: "java.lang.NoClassDefFourndError: com.ibm.websphee.sib.api.jms.JmsConnectionFactory". I'm not very familiar with the JMS Connector as this is my first time using such a connector. I also tried with the IBM_MQ Connector, which also connects to the same MQ Backend Server, but get a similar error: "java.lang.NoClassDefFoundError: come/ibm/mq/mjs/MQQueueConnectionFactory.
Would like to know if anyone has any insight into this type of connection when trying to get MQ messages from a WebSPhere MQ Messaging Provider that is uing a MQ VIP, versus using a standard Queue Manager.
Thanks,
Derrick Chapman
The class references are MQ related. The MQ jars aren't provided with the TDI/SDI installation. Therefore you'll need to obtain the MQ jars and place them with the TDI classpath. I recently went through this when setting up SDI 7.2 to connect to MQ9. Here are my notes. The jars may vary based on the version of MQ Server.
1. Refer to 'IBM MQ 9.0 Client' at https://developer.ibm.com/messaging/mq-downloads/
2. Download the related java client files 'IBM MQ V9.0.5 CD Clients' -> '9.0.5.0-IBM-MQC-Redist-Java'
3. After unpacking the package, copy the lib/com.ibm.mq.allclient.jar and lib/jms.jar files to the SDI/jars/3rdparty/IBM/mq
Hello Jason,
java.lang.UnsupportedClassVersionError.JVMCFRE003 bad major version; class=com/ibm/mq/mjs/MQQueueConnectionFactory, offset=6. I only get this when I change the mode of the connector to: CallReply. If I do "AddOnly, Iterator, or lookup, I still get the "java.lang.NoClassDefFoundError: com/ibm/mq/jms/MQQueueConnectionFactory" error, even after placing all of the MQ Jars under TDI\jars\3rdParty\IBM\mq". If you can provide any additional insights, that would be helpful.
Thanks,
Derrick Chapman
I normally see 'bad major version' messages when the jar is compiled with a later version than the Java version used by TDI. I'd look at updating the TDI JVM to one of the latest

The latest supported TDI JVM can be found on the Recommended Fixes page (http://www-01.ibm.com/support/docview.wss?uid=swg27010509). The specific jvm link will be found within your specific TDI section of the page. With any TDI JVM upgrade, you will need to reconfigure any resource which has copied items into the TDI JVM runtime. For example, the setup/configuration process of the ISAM PD Runtime which the TAM Combo adapter uses, would need to be reran so their resources are copied into the TDI JVM.

In regard to the java.lang.NoClassDefFoundError, I suspect it's just a missing jar from the classpath. In reviewing the MQ9 jars...I see the MQQueueConnectionFactory class is part of the com.ibm.mq.allclient.jar.

good luck

Franzw
2018-06-22 08:12:16 UTC
Permalink
Post by d***@gmail.com
Hello,
I'm in the process of creating a new JMS Connector Assembly line to connect to a MQ Server to retrieve MQ Messages. We are using JMS Server Type: WebSPHEREESB. I have put all of the server information and port, but when I try and do a simple connect, I get the following error: "java.lang.NoClassDefFourndError: com.ibm.websphee.sib.api.jms.JmsConnectionFactory". I'm not very familiar with the JMS Connector as this is my first time using such a connector. I also tried with the IBM_MQ Connector, which also connects to the same MQ Backend Server, but get a similar error: "java.lang.NoClassDefFoundError: come/ibm/mq/mjs/MQQueueConnectionFactory.
Would like to know if anyone has any insight into this type of connection when trying to get MQ messages from a WebSPhere MQ Messaging Provider that is uing a MQ VIP, versus using a standard Queue Manager.
Thanks,
Derrick Chapman
You should install the MQ Client (it is free of charge and downloadable from IBM IIRC)and use the jars file included in there following whatever way is relevant in your environment based on Eddie's advice :-)

HTH
Regards
Franz Wolfhagen
Loading...