Topic
5 replies Latest Post - ‏2012-10-18T14:38:24Z by Church55
Church55
Church55
10 Posts
ACCEPTED ANSWER

Pinned topic posting events from MQ

‏2012-10-18T00:28:29Z |
I have ODM events configured to use the JMS connector with the connector packet format for incoming events called applcation. I have MQ/Message broker set up to post to a queue. And on the WAS(ODM) side I have a JMS queue configured to point to that queue and an activation spec to connect it to ODM Events. I've enabled trace. I drop a message into the MQ queue, and nothing happens. It looks like the message is received by Events, and ignored. No error thrown.

10/17/12 19:45:46:782 EDT 0000010b JMSEventMDB > com.ibm.wbe.ca.connector.jms.mdb.JMSEventMDB onMessage ENTRY
JMSMessage class: jms_bytes
JMSType: null
JMSDeliveryMode: 1
JMSExpiration: 0
JMSPriority: 0
JMSMessageID: ID:414d5120514d5f49424d5f52333341452dab7e5020031105
JMSTimestamp: 1350517546750
JMSCorrelationID: null
JMSDestination: null
JMSReplyTo: null
JMSRedelivered: false
JMSXAppID: D:\rfhutil\rfhutil.exe
JMSXDeliveryCount: 1
JMSXUserID: Church55
JMS_IBM_Character_Set: IBM437
JMS_IBM_Encoding: 546
JMS_IBM_Format:
JMS_IBM_MsgType: 8
JMS_IBM_PutApplType: 11
JMS_IBM_PutDate: 20121017
JMS_IBM_PutTime: 23454675
3c3f786d6c2076657273696f6e3d22312e312220656e636f64696e673d225554462d38223f3e3c63
6f6e6e6563746f72206e616d653d22574245222076657273696f6e3d22362e322220786d6c6e733d
22687474703a2f2f7762652e69626d2e636f6d2f362e322f4576656e742f6170706c69636174696f
6e223e0d0a3c636f6e6e6563746f722d62756e646c65206e616d653d226170706c69636174696f6e
2220747970653d224576656e742220776f726b666c6f773d2246414345223e0d0a3c626f72726f77
65723e0d0a3c6e616d6520747970653d22537472696e67223e537472696e675f6e616d655f31352e
303c2f6e616d653e0d0a3c63726564697453636f726520747970653d22496e7465676572223e3933
3c2f63726564697453636f72653e0d0a3c796561726c79496e636f6d6520747970653d22496e7465
676572223e38333c2f796561726c79496e636f6d653e0d0a3c2f626f72726f7765723e0d0a3c6c6f
616e3e0d0a3c616d6f756e7420747970653d22496e7465676572223e313c2f616d6f756e743e0d0a
...

10/17/12 19:45:46:782 EDT 0000010b EventConnecto > com.ibm.wbe.ca.connector.EventConnector <init> ENTRY JMS
10/17/12 19:45:46:782 EDT 0000010b ConnectorConf > com.ibm.wbe.ca.config.ConnectorConfig getInstance ENTRY
10/17/12 19:45:46:782 EDT 0000010b ConnectorConf < com.ibm.wbe.ca.config.ConnectorConfig getInstance RETURN com.ibm.wbe.ca.config.ConnectorConfig@7d5d85d
10/17/12 19:45:46:782 EDT 0000010b EventConnecto < com.ibm.wbe.ca.connector.EventConnector <init> RETURN
10/17/12 19:45:46:782 EDT 0000010b JMSEventConne > com.ibm.wbe.ca.connector.jms.JMSEventConnector processJMSMessage ENTRY application
JMSMessage class: jms_bytes
JMSType: null
JMSDeliveryMode: 1
JMSExpiration: 0
JMSPriority: 0
JMSMessageID: ID:414d5120514d5f49424d5f52333341452dab7e5020031105
JMSTimestamp: 1350517546750
JMSCorrelationID: null
JMSDestination: null
JMSReplyTo: null
JMSRedelivered: false
JMSXAppID: D:\rfhutil\rfhutil.exe
JMSXDeliveryCount: 1
JMSXUserID: Church55
JMS_IBM_Character_Set: IBM437
JMS_IBM_Encoding: 546
JMS_IBM_Format:
JMS_IBM_MsgType: 8
JMS_IBM_PutApplType: 11
JMS_IBM_PutDate: 20121017
JMS_IBM_PutTime: 23454675
3c3f786d6c2076657273696f6e3d22312e312220656e636f64696e673d225554462d38223f3e3c63
6f6e6e6563746f72206e616d653d22574245222076657273696f6e3d22362e322220786d6c6e733d
22687474703a2f2f7762652e69626d2e636f6d2f362e322f4576656e742f6170706c69636174696f
6e223e0d0a3c636f6e6e6563746f722d62756e646c65206e616d653d226170706c69636174696f6e
2220747970653d224576656e742220776f726b666c6f773d2246414345223e0d0a3c626f72726f77
65723e0d0a3c6e616d6520747970653d22537472696e67223e537472696e675f6e616d655f31352e
303c2f6e616d653e0d0a3c63726564697453636f726520747970653d22496e7465676572223e3933
3c2f63726564697453636f72653e0d0a3c796561726c79496e636f6d6520747970653d22496e7465
676572223e38333c2f796561726c79496e636f6d653e0d0a3c2f626f72726f7765723e0d0a3c6c6f
616e3e0d0a3c616d6f756e7420747970653d22496e7465676572223e313c2f616d6f756e743e0d0a
...

10/17/12 19:45:46:782 EDT 0000010b JMSEventConne < com.ibm.wbe.ca.connector.jms.JMSEventConnector processJMSMessage RETURN
10/17/12 19:45:46:782 EDT 0000010b JMSEventMDB < com.ibm.wbe.ca.connector.jms.mdb.JMSEventMDB onMessage RETURN
If I reconfigure to use a file system instead of JMS connector and drop the same message into tht file system I can get it to work.

This is the message format:
<?xml version="1.1" encoding="UTF-8"?><connector name="WBE" version="6.2" xmlns="http://wbe.ibm.com/6.2/Event/application">
<connector-bundle name="application" type="Event" workflow="FACE">
<borrower>
<name type="String">String_name_15.0</name>
<creditScore type="Integer">93</creditScore>
<yearlyIncome type="Integer">83</yearlyIncome>
</borrower>
<loan>
<amount type="Integer">1</amount>
<duration type="Integer">58</duration>
<yearlyInterestRate type="Real">59.91822703463588</yearlyInterestRate>
</loan>
</connector-bundle>
<system>localhost</system>
<timestamp>2012-10-15T23:49:00.031-04:00</timestamp>
<loginfo>This is an event from message broker</loginfo>
</connector>

ODM 8.0 and MB 8.001 -
Updated on 2012-10-18T14:38:24Z at 2012-10-18T14:38:24Z by Church55
  • WBE
    WBE
    99 Posts
    ACCEPTED ANSWER

    Re: posting events from MQ

    ‏2012-10-18T07:09:54Z  in response to Church55
    Hi Church55,

    It looks that you are not using the message format MQSTR (http://www-01.ibm.com/support/docview.wss?rs=3458&context=SSTNLG&dc=DA4A30&dc=DA4A20&dc=DA4A10&dc=DA490&dc=DA480&dc=DA470&dc=DB560&dc=DA460&dc=D600&dc=DB550&dc=DA440&dc=D700&dc=DB540&dc=DB530&dc=DA430&dc=DA420&dc=DB520&dc=DB510&dc=DA410&dc=DA400&dc=DA500&dc=DB600&dc=DB700&q1=technotes&q2=MQ&uid=swg21316639&loc=en_US&cs=utf-8&lang=en).

    Are you using the JMS connector simply for forwarding messages from your external JMS queue to Events and you are using MQ as your JMS provider for your WAS server? If so, you should be able to by-pass the JMS connector by directly posting your messages to the MQ queue used by your jms/eventDestination. If your jms/eventDestination is a JMS topic, you can create a MQ queue alias for the base MQ topic and post your messages to the queue alias.

    Regards
  • Church55
    Church55
    10 Posts
    ACCEPTED ANSWER

    Re: posting events from MQ

    ‏2012-10-18T13:47:31Z  in response to Church55
    Thank you. When I try to configure WebSphere MQ as the messaging provider I get the following in the WAS system.out
    ...
    Caused by: java.lang.UnsatisfiedLinkError: mqjbnd (C:\Program Files (x86)\IBM\WebSphere MQ\Java\lib\mqjbnd.dll is not a valid Win32 application. )

    It looks like WAS cannot connect in bindings mode because MQ is 32 bit but WAS is 64 bit. Is that right? Does that mean I have to reconfigure WAS as an mq client somehow?

    I find an incompatibility between 32 bit and 64 bit implementations. ODM is installed on 64 bit windows. MQ is installed as a 32 bit app. When I run the configuration script and restart.
    • WBE
      WBE
      99 Posts
      ACCEPTED ANSWER

      Re: posting events from MQ

      ‏2012-10-18T14:14:30Z  in response to Church55
      It certainly looks that way. Have you tried C:\Program Files (x86)\IBM\WebSphere MQ\Java\lib64\mqjbnd.dll ?
  • Church55
    Church55
    10 Posts
    ACCEPTED ANSWER

    Re: posting events from MQ

    ‏2012-10-18T14:37:24Z  in response to Church55
    Thanks. I didn't realize there was a 64 bit dll.

    But I went a different direction. I got it working. I went back to the default messaging provider configuration. And then I figured out how to set the message type, which was part of your suggestion, and then it started working just fine. So you were helpful. I appreciate it.
  • Church55
    Church55
    10 Posts
    ACCEPTED ANSWER

    Re: posting events from MQ

    ‏2012-10-18T14:38:24Z  in response to Church55
    In rfhutil I set the RFH V2 header to include JMS, and in the JMS section I set the msgtype to text.