Topic
IC4NOTICE: developerWorks Community will be offline May 29-30, 2015 while we upgrade to the latest version of IBM Connections. For more information, read our upgrade FAQ.
7 replies Latest Post - ‏2008-09-29T10:54:19Z by SystemAdmin
SystemAdmin
SystemAdmin
684 Posts
ACCEPTED ANSWER

Pinned topic No messages being transferred from the POS system to the MQ queue

‏2007-12-10T12:27:21Z |
Hi there,
first of all this is my system description:
1. Windows XP notebook running MQ version 6.0 and MQe version 2.0.2

2. POS System running os 4690 V5 acting as Master and File server and GSA .
I have installed and configured DIF for TLOG trickle.
The local queue is working fine.

The Difsrvc is running into the following exception :

Failed to service request: com.ibm.mqe.MQeException: java.io.EOFException on StoreQM_0903StoreQM_0903 81 (code=600)
at com.ibm.mqe.MQeTransporter.remoteExecute(DashoA8173)
at com.ibm.mqe.MQeTransporter.getQueueState(DashoA8173)
at com.ibm.mqe.MQeQueueManagerProxy.getRemoteQueueRepresenting(DashoA8173)
at com.ibm.mqe.MQeQueueManager.getQueueControlBlock(DashoA8173)
at com.ibm.mqe.MQeQueueManager.internalPutMessage(DashoA8173)
at com.ibm.mqe.MQeQueueManager.putMessage(DashoA8173)
at com.ibm.retail.di.service.mom.mqe.MqeAssurancePersistentStoreStrategy.internalPutMessage(MqeAssurancePersistentStoreStrategy.java:582)
at com.ibm.retail.di.service.mom.mqe.MqeAssurancePersistentStoreStrategy.internalPutAndConfirm(MqeAssurancePersistentStoreStrategy.java:446)
at com.ibm.retail.di.service.mom.mqe.MqeAssurancePersistentStoreStrategy.recover(MqeAssurancePersistentStoreStrategy.java:310)
at com.ibm.retail.di.service.mom.mqe.MqeAssurancePersistentStoreStrategy.recover(MqeAssurancePersistentStoreStrategy.java:231)
at com.ibm.retail.di.service.mom.mqe.MqeAssurancePersistentStoreStrategy.putMessage(MqeAssurancePersistentStoreStrategy.java:367)
at com.ibm.retail.di.service.mom.mqe.MqeInterface.putMessage(MqeInterface.java:479)
at com.ibm.retail.di.service.mom.mqe.MqeOnewayInteraction.doMqeInteraction(MqeOnewayInteraction.java:103)
at com.ibm.retail.di.service.mom.mqe.MqeInteraction.onMessage(MqeInteraction.java:183)
at com.ibm.retail.di.service.mom.MomActor.doInteraction(MomActor.java:348)
at com.ibm.retail.di.service.mom.MomActor.onMessage(MomActor.java:160)
at com.ibm.retail.di.xml.messaging.service.AbstractActor.processSoapRequest(AbstractActor.java:501)
at com.ibm.retail.di.xml.messaging.service.AbstractActor.onMessage(AbstractActor.java:129)
at com.ibm.retail.di.service.mom.MomActor.onMessage(MomActor.java:528)
at com.ibm.retail.di.service.director.Director.doLocalCall(Director.java:855)
at com.ibm.retail.di.service.director.Director.doInteraction(Director.java:377)
at com.ibm.retail.di.service.director.Director.onMessage(Director.java:191)
at com.ibm.retail.di.service.director.Director.onMessage(Director.java:275)
at com.ibm.retail.di.net.service.interactive.AbstractInteractiveService.doInteraction(AbstractInteractiveService.java:229)
at com.ibm.retail.di.service.diskq.DiskQService.onMessage(DiskQService.java:788)
at com.ibm.retail.di.service.diskq.DiskQService.processDiskQ(DiskQService.java:647)
at com.ibm.retail.di.service.diskq.DiskQService.run(DiskQService.java:457)
at com.ibm.retail.di.net.service.interactive.RunnableService$ServiceThread.run(RunnableService.java:205)

how can i solve this problem
this is my difuser.pro file:

  1. ===================================================================
tlog-trickle.gateway.qmgr=GATEWAY00QM
tlog-trickle.gateway.ip=192.168.1.22
tlog-trickle.mq.qmgr=QM_DIF
tlog-trickle.mq.queue=Q_GSA
tlog-trickle.gateway.port=8085
container.services=DiskQService
MqeActor.TLOG.mom.target.qmgr=QM_DIF
MqeActor.TLOG.mom.target.queue=Q_GSA
WmqiRetailFormatActor.TLOG.header-element.POSType=IBM GSA
setup.profiles=tlog-trickle file-subst xmogrify
file-subst.files=GSACust.xsl
xmogrify.inFile=poslgGSA.xsl
Director.TLOG.actors=ParsingTransformer WmqiRetailFormatActor MqeActor
ParserActor.parseFormatFile=C:/ADX_IPGM/gsaspecs.xml
WmqiRetailFormatActor.TLOG.header-element.TlogFormat=IXRetail

Thank you for your support.

emb
Updated on 2008-09-29T10:54:19Z at 2008-09-29T10:54:19Z by SystemAdmin
  • neekrish
    neekrish
    13 Posts
    ACCEPTED ANSWER

    Re: No messages being transferred from the POS system to the MQ queue

    ‏2007-12-25T06:50:34Z  in response to SystemAdmin
    Hi,
    The problem looks complex... Can I know what version of MQ everyplace jars are deployed on the POS machine?
    If you are trying to transfer large messages, ensure that the memory limits are not exceeded.
    My initial guess is that there are network issues. Try to transfer small messages so as to ensure that there are no programming errors in your code.
    Also can I know if you are using asynchronous remote queues or synchronous remote queues?

    Regards,
    Neeraj Krishna
    • SystemAdmin
      SystemAdmin
      684 Posts
      ACCEPTED ANSWER

      Re: No messages being transferred from the POS system to the MQ queue

      ‏2007-12-27T15:57:38Z  in response to neekrish
      Hi,
      Thank you for you time.
      These are the information you required:
      - The version of MQ everyplace jar files is (MQe Networkedition 2.0.2.4 Build lever is la202-L06510_P)
      - I am using synchronous remote queues.

      I solve my problem by installing the previous version of MQ (WebSphere MQ version 5.3) insted of 6.0.
      After installing that version everything work fine.
      I am write in assuming that the MQ version 6.0 (trial vesion) is not compatible with the MQe 2.0.2.4 ?

      Now the next problem i´m having:

      Everything work fine when i use the following ip:
      POS-System 192.168.1.225
      Windows (MQ + MQe ) 192.168.1.22
      As soon as i change the ip-addresses, for example (10.9.3.22 or any other addresse) i got the following
      error message from the POS-System (momfault.err)although the two system a can successfully ping each other :

      • Do, 27 Dez 2007 11:22:10 ***
      Failed to service request: com.ibm.mqe.communications.MQeCommunicationsException: An exception occured in the communications layer(java.net.SocketException: Network is unreachable: connect)StoreQM_0903 251 (code=700)
      at com.ibm.mqe.adapters.MQeTcpipAdapter.open(DashoA8173)
      at com.ibm.mqe.adapters.MQeTcpipLengthAdapter.open(DashoA8173)
      at com.ibm.mqe.communications.MQeChannel.processRequest(DashoA8173)
      at com.ibm.mqe.communications.MQeChannel.activateMaster(DashoA8173)
      at com.ibm.mqe.communications.MQeConnectionDefinition._createNewChannel(DashoA8173)
      at com.ibm.mqe.communications.MQeConnectionDefinition.getChannel(DashoA8173)
      at com.ibm.mqe.communications.MQeCommunicationsManager.getChannelControlBlock(DashoA8173)
      at com.ibm.mqe.MQeTransporter._getChannelControlBlock(DashoA8173)
      at com.ibm.mqe.MQeTransporter._prepare(DashoA8173)
      at com.ibm.mqe.MQeTransporter.putMessage(DashoA8173)
      at com.ibm.mqe.MQeRemoteQueue._synchronousPutMessage(DashoA8173)
      at com.ibm.mqe.MQeRemoteQueue.putMessage(DashoA8173)
      at com.ibm.mqe.MQeQueueManager.internalPutMessage(DashoA8173)
      at com.ibm.mqe.MQeQueueManager.putMessage(DashoA8173)
      at com.ibm.retail.di.service.mom.mqe.MqeAssurancePersistentStoreStrategy.internalPutMessage(MqeAssurancePersistentStoreStrategy.java:582)
      at com.ibm.retail.di.service.mom.mqe.MqeAssurancePersistentStoreStrategy.internalPutAndConfirm(MqeAssurancePersistentStoreStrategy.java:446)
      at com.ibm.retail.di.service.mom.mqe.MqeAssurancePersistentStoreStrategy.recover(MqeAssurancePersistentStoreStrategy.java:310)
      at com.ibm.retail.di.service.mom.mqe.MqeAssurancePersistentStoreStrategy.recover(MqeAssurancePersistentStoreStrategy.java:231)
      at com.ibm.retail.di.service.mom.mqe.MqeAssurancePersistentStoreStrategy.<init>(MqeAssurancePersistentStoreStrategy.java:144)
      at com.ibm.retail.di.service.mom.mqe.MqeOnewayInteraction.createMqeAssuredOnewayStrategy(MqeOnewayInteraction.java:229)
      at com.ibm.retail.di.service.mom.mqe.MqeOnewayInteraction.getMqeAssuredOnewayStrategy(MqeOnewayInteraction.java:206)
      at com.ibm.retail.di.service.mom.mqe.MqeOnewayInteraction.getRequestAsBytes(MqeOnewayInteraction.java:174)
      at com.ibm.retail.di.service.mom.mqe.MqeInteraction.createMessage(MqeInteraction.java:108)
      at com.ibm.retail.di.service.mom.mqe.MqeOnewayInteraction.doMqeInteraction(MqeOnewayInteraction.java:79)
      at com.ibm.retail.di.service.mom.mqe.MqeInteraction.onMessage(MqeInteraction.java:183)
      at com.ibm.retail.di.service.mom.MomActor.doInteraction(MomActor.java:348)
      at com.ibm.retail.di.service.mom.MomActor.onMessage(MomActor.java:160)
      at com.ibm.retail.di.xml.messaging.service.AbstractActor.processSoapRequest(AbstractActor.java:501)
      at com.ibm.retail.di.xml.messaging.service.AbstractActor.onMessage(AbstractActor.java:129)
      at com.ibm.retail.di.service.mom.MomActor.onMessage(MomActor.java:528)
      at com.ibm.retail.di.service.director.Director.doLocalCall(Director.java:855)
      at com.ibm.retail.di.service.director.Director.doInteraction(Director.java:377)
      at com.ibm.retail.di.service.director.Director.onMessage(Director.java:191)
      at com.ibm.retail.di.service.director.Director.onMessage(Director.java:275)
      at com.ibm.retail.di.net.service.interactive.AbstractInteractiveService.doInteraction(AbstractInteractiveService.java:229)
      at com.ibm.retail.di.service.diskq.DiskQService.onMessage(DiskQService.java:788)
      at com.ibm.retail.di.service.diskq.DiskQService.processDiskQ(DiskQService.java:647)
      at com.ibm.retail.di.service.diskq.DiskQService.run(DiskQService.java:457)
      at com.ibm.retail.di.net.service.interactive.RunnableService$ServiceThread.run(RunnableService.java:205)

      My question is:
      Is there, in addition to adx_sdt1:adxipccz,bat and the adxhsihf.dat, other files on the POS-System (OS-4690)
      to edit in order to make both system talk to each other?

      Thank you for your support.
      • Raghuram
        Raghuram
        7 Posts
        ACCEPTED ANSWER

        Re: No messages being transferred from the POS system to the MQ queue

        ‏2007-12-27T17:33:01Z  in response to SystemAdmin
        Hi,

        You have to create a different connection definition on the POS MQe QM when you change the ip address of computer hosting the gateway QM to make it work properly. You cannot use the same connection definition as the ip address is changed and the QM name remains the same.

        The exception which you received when there was a change in ip address is a communication exception, this is thrown when the remote system is unreachable on the network through MQe QM or when the listener is not running.

        --Ram
        • SystemAdmin
          SystemAdmin
          684 Posts
          ACCEPTED ANSWER

          Re: No messages being transferred from the POS system to the MQ queue

          ‏2008-01-03T09:17:07Z  in response to Raghuram
          Hi Ram,
          I wish you a Happy New Year and a good start into 2008.

          "You have to create a different connection definition on the POS MQe QM when you change the ip address of computer hosting the gateway QM to make it work properly".

          Since i am new to MQ and MQe, i don`t understand what you mean.
          Again the only change is the ip address of the gateway computer,
          and i did change the ip adress property on the Point of Sales side
          as you can see.

          tlog-trickle.gateway.qmgr=GATEWAY00QM
          tlog-trickle.gateway.ip=192.168.1.22
          tlog-trickle.mq.qmgr=QM_DIF
          tlog-trickle.mq.queue=Q_GSA
          tlog-trickle.gateway.port=8085

          What exactly should i change to get it work.

          Thank you for your help.

          Emb
          • Raghuram
            Raghuram
            7 Posts
            ACCEPTED ANSWER

            Re: No messages being transferred from the POS system to the MQ queue

            ‏2008-01-04T07:00:48Z  in response to SystemAdmin
            Hi,

            I shall try to explain in brief how an MQe QM connects to another remote MQe QM, but would recommend you to consult the infocenter available at ftp://ftp.software.ibm.com/software/integration/library/MQe20 2TransPDFs/mqe2_config_en.pdf and section Configuring bridge/gateway resources.

            When the server QM wants to accept connections from clients it has to listen to a port (8085 in this case), but when clients need to
            connect to a server they need to know two things (at least) 1. IP addresss 2. port on which the server is listening.

            Now in your case, initially the two QMs were successfully exchanging messages but after changing the ip address of the server(gateway) the communication has broken because the client QM is still trying to contact the gateway running on the "first ip address", it is not aware of the ip address change! So, now you have to reconfigure your client (POS system) to use the latest server IP address by re-creating the connection definition part.

            If you are creating the client QM through a program then I suggest you to delete the existing QM and re-create it with the server IP address change, this should solve the problem. Remember every time you change the ip address of the gateway you have to reconfigure the client in order to work properly if the gateway QM name does not change. It is at your own risk you delete the existing client QM, probably you can take a back up of the existing client QM before you proceed.

            And I wish you a happy new year too!

            --Ram
            • SystemAdmin
              SystemAdmin
              684 Posts
              ACCEPTED ANSWER

              Re: No messages being transferred from the POS system to the MQ queue

              ‏2008-01-04T12:54:39Z  in response to Raghuram
              Hi,
              thank you very much for your thorough explanations.
              I did delelte the StoreQN.ini file on the POS system and
              created a new one with the difsetup.bat. The two systems
              are now working fine.
              The only thing i could not figure out was where the POS stores
              the ip address of the gateway computer. But that`s another story.
              Again thank you for your help i totally appreciate it.

              Emb.
  • SystemAdmin
    SystemAdmin
    684 Posts
    ACCEPTED ANSWER

    Re: No messages being transferred from the POS system to the MQ queue

    ‏2008-09-29T10:54:19Z  in response to SystemAdmin
    Hi All,

    We have been facing similar issues in our configuration of the MQ/MQe.

    the configuration is as follows:
    • There is a Big MQ (WebSphere MQ V5.3) that runs on the AS400 host with a MQ Bridge configured to get the communication between the MQ/MQe in place.
    • The POS has the MQe (Version is 2.0.2.12) running at it

    We have a set of synchronous remote queues which are used for real time communication (Inquiry). The problem that we are facing is, When every time a Inquiry is made, the first attempt fails with the following exception.

    com.ibm.mqe.MQeException: java.io.EOFException on CC3980QMCC3980QM 283103 (code=600)
    at com.ibm.mqe.MQeTransporter.putMessage(DashoA8173)
    at com.ibm.mqe.MQeRemoteQueue._synchronousPutMessage(DashoA8173)
    at com.ibm.mqe.MQeRemoteQueue.putMessage(DashoA8173)
    at com.ibm.mqe.MQeQueueManager.internalPutMessage(DashoA8173)
    at com.ibm.mqe.MQeQueueManager.putMessage(DashoA8173)
    at com.toysrus.posjava.readwritestream.MQeQueueWriteMsg.writeData(MQeQueueWriteMsg.java:149)
    at com.toysrus.posjava.listeners.OutputProcessor.writeToDestination(OutputProcessor.java:709)
    at com.toysrus.posjava.listeners.OutputProcessor.writeMessages(OutputProcessor.java:499)
    at com.toysrus.posjava.listeners.OutputProcessor.run(OutputProcessor.java:302)
    at java.lang.Thread.run(Thread.java:570)

    However this doesn't happen during the successive attempts, But resurfaces at random periods.

    We have a set of message with different types (specific to application) being written to the desired queue. All of them have the same length. but unfortunately it is only one type of message that always ends up with this error. We are not sure if this has got anything to do with the actual issue.

    We used to face this problem on a regular basis (i.e. every time it was attempted to write into the remote queue), when we used to have the older version of MQe running at the (IBM4690. Once we had a version upgrade at the IBM4690 (MQe) and now this issue happens on a very random basis.

    Can someone please provide us with some inputs on this issue.

    Thanks,
    Kannan