I’m working in an environment that uses the IBM WBI Message Broker v5.x along with the WM Integration Server v6.5. The IS acts in the adapter layer as a “super-adapter” to enable conversations between WBI and SAP, legacy applications, flat-files, etc. It’s a pretty straight forward and potentially a very robust environment. But there IS a problem.
IBM WMQ uses a myriad of message headers in different situations, sometimes in combination. The RFH2 header is often used to pass custom information/instructions between applications. In a typical WBI Message Broker environment, for example, the mcd folder of the RFH2 header is used to identify the type of message that the broker is receiving; the psc folder is used to provide publication information to the broker. Queues receiving WBI publications receive them with the RFH2 header in the message (the MQMD specifies a format of MQRFH2, the RFH2 structure specifies the format of the following header, if there is one, or the format of the message payload, this continues until the format of message payload is defined). That’s pretty standard WMQ messaging stuff.
The problem I’ve encountered is that WM Listeners and Adapter GET Services generate an exception when they encounter a message containing an RFH2 header, and route the message to the dead letter queue with a DLH reason of MQFB_APPL_TYPE_ERROR. This is NOT helpful!
Has anyone discovered a way to deal with this issue – how to use the WM WMQ Adapter v6 to read WMQ messages that contain headers other than just the MQMD (that includes not only the RFH2, but also the IMS header, the DLH header, the CICS header, etc. You get the idea…).