Search code examples
javajmswebspherecompatibility

Unable to connect to WAS 6.0 queues from a JMS client under JDK 6


My setup is the following:

  • IBM Websphere Application Server 6.0.2.43
  • JMS client running on IBM JDK 6

I sat up a JMS queue and was able to send/receive messages using my test JMS client when running from IBM JDK 1.4. However, the target application requires Java 6.0, trying the test application from JDK 6.0 produced the following error:

Jan 3, 2013 3:57:41 AM null null
SEVERE: SIB_MESSAGE
Jan 3, 2013 3:57:41 AM null null
WARNING: SIB_MESSAGE
javax.jms.JMSException: CWSIA0241E: An exception was received during the call to the method JmsManagedConnectionFactoryImpl.createConnection: com.ibm.websphere.sib.exception.SIResourceException: CWSIT0006E: It is not possible to connect to bus ROPS_BUS because the following bootstrap servers could not be contacted [10.0.92.92:7276:BootstrapBasicMessaging] and the following bootstrap servers returned an error condition []. See previous messages for the reason for each bootstrap server failure..
    at com.ibm.ws.sib.api.jms.impl.JmsManagedConnectionFactoryImpl.createConnection(JmsManagedConnectionFactoryImpl.java:240)
    at com.ibm.ws.sib.api.jms.impl.JmsManagedConnectionFactoryImpl.createConnection(JmsManagedConnectionFactoryImpl.java:159)
    at com.progressoft.tests.mq.ConnectTest.send(ConnectTest.java:141)
    at com.progressoft.tests.mq.ConnectTest.main(ConnectTest.java:51)
Caused by: com.ibm.websphere.sib.exception.SIResourceException: CWSIT0006E: It is not possible to connect to bus ROPS_BUS because the following bootstrap servers could not be contacted [10.0.92.92:7276:BootstrapBasicMessaging] and the following bootstrap servers returned an error condition []. See previous messages for the reason for each bootstrap server failure.
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl2.bootstrapRequest(TrmSICoreConnectionFactoryImpl2.java:608)
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl2.remoteBootstrap(TrmSICoreConnectionFactoryImpl2.java:405)
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl2.createConnection(TrmSICoreConnectionFactoryImpl2.java:240)
    at com.ibm.ws.sib.trm.client.TrmSICoreConnectionFactoryImpl2.createConnection(TrmSICoreConnectionFactoryImpl2.java:145)
    at com.ibm.ws.sib.api.jmsra.impl.JmsJcaConnectionFactoryImpl.createCoreConnection(JmsJcaConnectionFactoryImpl.java:563)
    at com.ibm.ws.sib.api.jmsra.impl.JmsJcaConnectionFactoryImpl.createCoreConnection(JmsJcaConnectionFactoryImpl.java:499)
    at com.ibm.ws.sib.api.jmsra.impl.JmsJcaConnectionFactoryImpl.createConnection(JmsJcaConnectionFactoryImpl.java:312)
    at com.ibm.ws.sib.api.jms.impl.JmsManagedConnectionFactoryImpl.createConnection(JmsManagedConnectionFactoryImpl.java:206)
    ... 3 more

I'm able to successfully telnet the host/port, and the setup seems ok to me (after all, it works using Java 1.4), and I was unable to find a more detailed log record of the attempt on the server, most likely, I don't know were to look for it.

Any ideas?

note: I'm aware that WAS 6.0 support has ended, long time ago... but I'm stuck with it for now.


Solution

  • I was able to connect to WAS queues from an IBM JDK 6 (and even from Oracle JDK 6) using the IBM Client for JMS on J2SE with IBM WebSphere Application Server.

    Although the client officially supports Java 1.4 and 1.5 (both IBM and SUN implementations), it worked without any problem with Java 6

    I only needed to add the property com.ibm.CORBA.ORBInit=com.ibm.ws.sib.client.ORB to the initial context to work with Oracle/Sun JDK

    The tool was a great help, it generates 2-3 jars that you actually need, instead of the mess that I was in trying to get the dependencies from WAS installation.