4 Replies Latest reply: May 4, 2013 6:37 AM by user10079002 RSS

    Tuxedo MQ adapter response issue

    user10079002
      Hi,

      I am trying to use the Tuxedo MQ adapter feature. As a sample i took the TOUPPER simple service. I have done the TM_MQI configuration and TMQUEUE_MQM (see below).
      Through my client i have placed the message in the input queue(IN.QUEUE). My client also specifies the response queue name(OUT.QUEUE) in the MQMD.Format field.
      Tuxedo MQ adapter picks the message and calls the TOUPPPER service successfully, but the response is not going to my response queue(in my case OUT.QUEUE)

      Any body please explain, why the response message is not coming to OUT.QUEUE

      following is the configuration of TM_MQI & TMQUEUE_MQM


      TM_MQI.CFG
      ----------
      *SERVER
      MINMSGLEVEL=1
      MAXMSGLEVEL=100

      *QUEUE_MANAGER
      NAME=TUX.QUEUE.MANAGER

      *SERVICE
      NAME=TOUPPER
      FORMAT=MYUPPER
      TRAN=N
      *QUEUE
      MQNAME=IN.QUEUE

      TMQUEUE_MQM.CFG
      ===============
      *SERVER
      DEFMAXMSGLEN=4096
      MINMSGLEVEL=1
      MAXMSGLEVEL=100

      *QUEUE_MANAGER
      NAME=TUX.QUEUE.MANAGER

      *QUEUE
      TUXNAME=TOUPPER
      MQNAME=IN.QUEUE


      Output log in tuxedo
      ======================

      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: Performing MQGET in TM_MQI
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: *******************************************
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: Dumping MQMD:
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: StrucId: <MD >
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: Version: 1
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: Report: 0
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: MsgType: 8
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: Expiry: -1
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: Feedback: 0
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: Encoding: 273
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: CodedCharSetId: 819
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: Format: <MYUPPER >
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: Priority: 0
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: Persistence: 0
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: MsgId: <414D51205455582E51554555452E4D41517FBFF920007802>
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: CorrelId: <414D51205455582E51554555452E4D41517FBFF920007803>
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: BackoutCount: 0
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: ReplyToQ: <OUT.QUEUE >
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: ReplyToQMgr: <TUX.QUEUE.MANAGER >
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: UserIdentifier: <user1 >
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: AccountingToken: <0431333334000000000000000000000000000000000000000000000000000006>
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: ApplIdentityData: < >
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: PutApplType: 6
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: PutApplName: <mqclnt >
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: PutDate: <20130501>
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: PutTime: <09451194>
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: ApplOriginData < >
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: GroupId: <000000000000000000000000000000000000000000000000>
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: MsgSeqNumber: 1
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: Offset: 0
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: MsgFlags: 0
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: OriginalLength: -1
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: *******************************************
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: 00000000 54 68 69 73 20 69 73 20 74 65 73 74 20 6d 65 73 This is test mes
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: 00000010 73 61 67 65 sage
      124512.dev!TM_MQI.4270.1.0: gtrid x0 x5180e3fb x128: Calling service(TOUPPER) flags(8):
      124512.dev!simpserv.4229.1.0: TOUPPER value 'THIS IS TEST MESSAGe'
        • 1. Re: Tuxedo MQ adapter response issue
          user10079002
          Typo issue, please read MQMD.ReplyToQ instead of MQMD.Format
          • 2. Re: Tuxedo MQ adapter response issue
            Todd Little-Oracle
            Hi,

            Can you explain what you are trying to do? I'm not following as you are configuring both MQI and MQM. What kind of client is placing a message on what kind of queue and what kind of queue is that client expecting to pick up the reply message?

            Regards,
            Todd Little
            Oracle Tuxedo Chief Architect
            • 3. Re: Tuxedo MQ adapter response issue
              user10079002
              Hi todd,

              Thanks for the reply and following is my aim.

              1) My client is a simple 'C' client which will place a messge in IBM MQ (in my case the queue name is IN.QUEUE) using the MQ client libraries.

              2) I expect the Tuxedo MQ adapter should pick up the message from the MQ(i.e. IN.QUEUE) and calls the Tuxedo service (TOUPPPER)
              a) As part of the MQ message i have filled the MQMD.ReplytoQ as OUT.QUEUE i.e. i am expecting the response of my tuxedo message in OUT.QUEUE
              b) Also i have configured the MQMD.Format as "MYUPPER", meaning as per my TM_MQI.CFG configuration it should call the TOUPPER tuxedo message

              3) What i expect is the response of the TOUPPER message should be put in my ReplyToQueue .i.e OUT.QUEUE.

              4) My simple 'C' client will read the MQ message from OUT.QUEUE.

              5) Everything works fine, expect the response message is not put in OUT.QUEUE.


              Regards,
              Kiruba.
              • 4. Re: Tuxedo MQ adapter response issue
                user10079002
                Hi Todd,

                Actually it is by mistake i configured both MQI and MQM, for my requirement only MQI enough.

                Now, i found the issue and it is due to the Request Message contiains the value MQMD.MsgType = 8 ( meaning The message is one that does not require a reply).

                I have found this thru 'TM_MQI (Tuxedo MQ Series Adapter Server To Pick-up Message From MQ Series) Doesn't Return Data To Reply-queue [ID 1491217.1]"

                I changed my client program to do MQPUT with MQMD.MsgType = MQMT_REQUEST, Now i am getting the response.

                Thanks for your reply.

                tuxlog
                --------
                141047.dev!TM_MQI.3895.1.0: gtrid x0 x5184ecad x2c: MsgType: 8


                Regards,
                Kiruba.