Troubleshooting: Configuring WebSphere Commerce with WebSphere MQ
This topic lists common problems and solutions when using WebSphere MQ.
Problem
If an unrecoverable error is encountered by the Listener for WebSphere MQ, the listeners automatically restart after a set period.
- Open the Configuration Manager
- Go to .
- In the Time to Reconnect field to the time type the time in seconds that the Listener for WebSphere MQ takes to reconnect.
- Restart WebSphere Commerce.
Problem
After setting up WebSphere Commerce Developer to work with WebSphere MQ, the following (or similar) exception is observed during server startup:
[2/21/06 9:55:03:848 CST] 52989e1b SystemErr R java.lang.UnsatisfiedLinkError: C:\WebSphere\WebSphere MQ\Java\lib\mqjbnd05.dll: Can't find dependent libraries
The cause is the MQ_INSTALL_ROOT variable by default is pointing to the WebSphere MQ client installation instead of the server installation.
- Open the WebSphere Application Server Administration Console
- Under MQ_INSTALL_ROOT. click
- In the value field, specify the correct path to the WebSphere MQ server installation directory.
- Click OK to save your changes.
- Restart WebSphere Commerce Developer.
Problem
When sending a message to a back-end system with WebSphere MQ, unexpected characters show up in the front of the XML message. For example, from the WebSphere Commerce logs:
com.ibm.commerce.messaging.outboundservice.Messaging.sendReceiveImmediate()
Message content is:
The
default value is "JMS" when a JNDI entry is defined for an outbound
queue. If the targetClient field is not changed to MQ
,
unexpected characters show at the beginning of the messages sent by
WebSphere Commerce on these two queues.
- Open the WebSphere Application Server administrative console,
for example:
http://host_name:9090/admin
- Log in with your user ID. Note: The user ID does not require a password, and does not need to be a user ID of a user in the local user registry. It is only used to track user-specific changes to configuration data. Security is not enabled.
- Change the queue destination defined for the outbound queues named
JMSOutboundQueue and JMSErrorQueue. Enter
MQ
for the targetClient field instead ofJMS
.
Problem
WebSphere MQ is not receiving any messages from WebSphere Commerce after a WebSphere Commerce Server restart.
If there are many messages in the MSGSTORE table that are waiting to be sent, the message backlog can hold up other messages from being sent. For example, if there is a connection problem to the SMTP server, this problem might cause email messages to build up. This backlog prevents other messages, such as WebSphere MQ messages from being sent. Correcting the problem with your SMTP server resolves the issue and the WebSphere MQ messages are sent.
Problem
When a two-phase commit (2PC) is configured incorrectly the following message is displayed:
[1/12/11 12:23:45:124 EST] 0000002a CommerceSrvr E com.ibm.commerce.messaging.listener. TransportAdapterSerialDispatcher process() CMN9907E: A resource exception occurred during processing: "com.ibm.commerce.messaging.adapters.jca.exception.WcResourceException: Messaging system cannot commit a JMS Session for QueueConnectionFactory null . Error: javax.jms.IllegalStateException: Method not permitted in global transaction
To correct this problem, disable the two-phase commit for the queue connection factory.