Troubleshooting external client problems

This topic contains notes for diagnosing problems when using the external client for the IBM® Reliable Transport Extension for WebSphere® sMash.

Exceptions received by the client application

If a messaging exception is experienced when client application is using the external client a javax.jms.JMSException will be thrown. The text of the javax.jms.JMSException may be useful in diagnosing the problem but in some cases the linked exception contained within the javax.jms.JMSException may also be required. The linked exception can be addressed by calling the getLinkedException() method of the javax.jms.JMSException.

Some common situations which can be diagnosed from the javax.jms.JMSException and any linked exception are listed below.

Setting the trust algorithm

When establishing an external client connection to a secured broker instance, it is important to call WrappedQueueConnectionFactory.setAlgorithm(String algorithm) first. Correct algorithm strings include "SunX509" for Sun JREs (this is the default value) and "IbmX509" for IBM JREs. If the algorithm is not set correctly an expection will be thrown when the connection is used.

Example exception:

javax.jms.JMSException: Failed to create a connection for client E1211279066755-1-905065970 
        to MicroBroker tls://localhost:9091.
    at com.ibm.msg.client.mqtt.internal.ProviderConnectionMqttImpl.connectToBroker(...
    at com.ibm.msg.client.mqtt.internal.ProviderConnectionMqttImpl.start(...

Example linked exception:

com.ibm.mqttclient.v4.base.MqttNotConnectedException: FMBD3016 JMSTT Module TLSInitiator: 
        SSL-Initialisation failed. Configured Algorithm is not known.
    at com.ibm.mqttclient.v4.internal.base.MqttBaseClientImpl.createConnection(...
    ...

Other messaging exceptions

An application using the external client may also experience messaging exceptions that an application using the messaging protocol from within an IBM WebSphere sMash application. For example, an exception will be thrown if an application attempts to send an oversized message or a message to a queue that is full. See the troubleshooting guide for zero.messaging.connection for more information on diagnosing these javax.jms.JMSException exceptions.

Version 1.1.0.0.21442