This technote describes information to review and collect when experiencing problems with WebSphere MQ integration.
Resolving the problem
Refer to the following article: MustGather: Messaging Issues in WebSphere Commerce V7.0
For installation and configuration instructions for WebSphere MQ with WebSphere Commerce server, refer to the Additional Software Guide for WebSphere Commerce.
- Additional Software Guide for WebSphere Commerce V5.6
- Additional Software Guide for WebSphere Commerce V5.6.1
- Additional Software Guide for WebSphere Commerce V6.0
WebSphere MQ versions supported with WebSphere Commerce:
|WebSphere Commerce version||WebSphere MQ version|
|V5.6||V5.3 with CSD08 or later|
|V5.6.1 with WebSphere Application Server V5.1||V5.3 with CSD08 or later|
|V5.6.1 with WebSphere Application Server V6||V6.0|
|V6.0||V5.3 with CSD11 or later, 6.0 and higher|
For installation and configuration of WebSphere MQ with WebSphere Commerce Developer edition, refer to the WebSphere Commerce Developer Installation Guide.
For custom configuration options, see the following technote: FAQ on custom configurations of WebSphere Commerce with WebSphere MQ.
Collect the following information if you are experiencing problems with WebSphere MQ integration:
- Enable tracing with the following trace specification and restart the server:
The trace needs to capture both the server startup and the problem scenario. Refer to the Information Center for instructions on enabling tracing. For example, for version V5.6.1: Configuring logging.
Collect trace.log and SystemOut.log
- Collect resources.xml from server, node and cell levels. This file contains queue configuration that was set from the WebSphere Administrative Console.
WebSphere Application Server V5.0
WebSphere Application Server V6.0
- Collect instance_name.xml/wc-server.xml/config.xml.
For V5.6, V5.6.1 runtime environment: WC_installdir/instances/instance_name/xml/instance_name.xml
For V6.0 runtime environment: WAS_installdir/profiles/profile_name/installedApps/cell_name/WC_instance.ear/xml/config/wc-server.xml
- Inbound messages:
- Default messages: Which message type are you using?
- Custom messages: Collect the following message text:
- Custom DTD file
- Any custom code involved
- Outbound messages:
- Default messages:
- Which message type are you using?
- Collect the following database tables: MSGTYPES, TRANSPORT, PROFILE, STORETRANS, CSEDITATT, ISEDITATT, STORETRANS
- Custom messages: Collect any custom code and JSP files involved.
- Default messages:
- Testing: to test the initial configuration, put a test message on the inbound serial queue. The following result should occur:
- The message is picked up by Websphere Commerce Server and removed from the inbound serial queue.
- The message is rejected by WebSphere Commerce Server as an invalid message and is put on the error queue.
- The error message is generated on the outbound queue.
- Getting MQ Listener related errors on server startup:
- Verify MQ install: was the JMS component installed? For binding mode, were both client and server installed?
- Verify that MQ_INTALL_ROOT environment variable is set correctly. To update it, open WebSphere Administrative Console and select Environment > Manage WebSphere Variables.
- Verify that the JMS object names for the connection factory and queues configured in WebSphere Application Server (resources.xml) correspond to the names that Websphere Commerce Server is using (instance.xml). Default names are specified in the Additional Software Guide.
- Check that queue manager is started.
- No errors in the log, test message is not being picked up:
- Verify that MQ Listener and connectors are enabled (instance.xml) and being started during server startup (trace.log). To verify that listener is enabled, locate the following code in the instance.xml file:
enable="true" name="Listener for WebSphere MQ (TransportAdapter)">
<InboundSerialConnector TimeToReconnect="600" default="true"
enabled="true" id="1" name="Listener for WebSphere MQ (JMS Inbound) - Serial">
- See the following technote: No errors when testing WebSphere MQ configuration, but messages do not display on outbound or error queues.
<InboundParallelConnector TimeToReconnect="600" default="true"
enabled="true" id="2" name="Listener for WebSphere MQ (JMS Inbound) - Parallel" threads="2">
- Message received, but not processed. Common error showing up in the SystemOut.log for this scenario is:
CommerceSrvr E com.ibm.commerce.messaging.commands.NewInboundMessageCmdImpl performExecute CMN8124E: No command matches the inbound message "<xml test/>".
- WC_TRANSPORT_ADAPTER trace will give more details on the error.
- Verify that the message is correct and can be parsed and validated with the corresponding DTD file. As a test, use Rational Application Developer to generate a sample message from the DTD:
- Select New > Other > XML > Create XML file from DTD file.
- Specify the XML file name.
- Select the DTD from the workbench or import the DTD into the workbench.
- Select root element, options for XML generation, and document type information.
- Use the generated sample XML file as a test message, to see if the message can be parsed by Websphere Commerce.
- For custom messages, verify settings in user_template.xml, instance_name.xml and DTD file.
- Outbound message is not sent.
- Check if the message is generated in the MSGSTORE table. If not, look at the WC_SERVER and WC_MESSAGING trace to see if the code that generates the message is being invoked.
- Note: order notification XML message needs to be enabled: Order notification.
- Message generated in the MSGSTORE, but not sent out. See if the retries value for the message in the MSGSTORE is being decremented. If not, check if SendTransactedCmd is running in the scheduler.
- Not getting a response for the sendReceiveImmediate message:
- The response is coming back on the JMSInboundQueue. In order for Websphere Commerce Server to process the response, the back-end system needs to set the correlation id for the response message to be equal to the message ID of the request message. Verify that correlation ID is set correctly.
|Commerce||WebSphere Commerce Enterprise||6.0|
|Commerce||WebSphere Commerce Developer Business Edition|
|Commerce||WebSphere Commerce Professional Edition|
|Commerce||WebSphere Commerce - Express|
|Commerce||WebSphere Commerce Developer Professional Edition|
|Commerce||WebSphere Commerce Developer Express|