7 Replies Latest reply: Nov 23, 2009 3:02 AM by 625709 RSS

    How to put message on remote queue from Business service

    625709
      Hello All,
      I have a requirement to send binary messages to IBM remote queue from business service. All of the time it;s ended with exception that remote queue not found and MQ 2045. I have try to add Put Options in business service properties but all in vain.

      Is there any way to send message to remote queue from OSB? Thank'x in Advance.
      Shamim.
        • 1. Re: How to put message on remote queue from Business service
          675693
          Could you give us more details about your configuration and the exception?

          If configured correctly sending messages to IBM's MQ should not be a problem. Are you using the MQ transport?

          http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/mqtransport/intro.html

          You could also look at weblogic's messaging bridges. With a setup using a bridge, your business service would publish to a local queue (in my experience a lot more efficient) and weblogic's messaging bridge would take care of forwarding the messages to the foreign destination. With the added benefit of hiding any availability problems of the foreign destination for your business service. If the MQ queue is not available your business service won't fail, the bridge will take care of forwarding the messages once the queue is available again.
          • 2. Re: How to put message on remote queue from Business service
            625709
            Thank's for quick reply,

            Yes i have configure MQ transport according to oracle documentation, uri of the messaging queue are as follows mq://NSI.TEMP.OUT?conn=NsiDistributions/resources/MQResource
            When NSI.TEMP.OUT is a local queue everything works fine, but when it's a remote queue it throws exception MQ 2045, which mean that MQRC_OPTION_NOT_VALID_FOR_TYPE.
            I also tried to configure transport PUT option with this MQC.MQOO_OUTPUT parameter, but couldn't success to publish.
            Thank'x
            Shamim
            • 3. Re: How to put message on remote queue from Business service
              675693
              Ok I understand now. When you said remote I thought you meant a destination outside the service bus, and not an MQ remote queue. Unfortunately I have little advice to give. The documentation states:
              When you create an MQ service, select the transport protocol as mq and specify the Endpoint URI in the Transport Configuration >page. Specify the Endpoint URI in mq://local-queue-name?conn=mq-connection-resource-ref format where

              local-queue-name is the name of the local queue configured on the MQ server
              mq-connection-resource-ref points to the location of the MQ connection resource
              I don't know if it's possible to use a remote queue directly, my knowledge of MQ is limited. Hopefully someone else can help. Or you could contact support and ask if remote queues are supported.
              • 4. Re: How to put message on remote queue from Business service
                625709
                Thank you eduardo,
                according to your suggestion "mq://local-queue-name?conn=mq-connection-resource-ref", this configuration only work with local messaging queue. Still i haven't found any way to publish message to remote messaging queue, will try to create trigger on queue to redirect message from local queue to remote queue.

                Shamim.
                • 5. Re: How to put message on remote queue from Business service
                  Patrick Taylor
                  Hi Shamim,

                  There is a possibility of using the alias queue to realize your requirement to publish a message to the remote queue.

                  The IBM documentation states "+An alias queue allows applications to access a queue by referring to it indirectly in MQI calls. When an alias queue name is used in an MQI call, the name is resolved to the name of either a local or a remote queue at run time.+"

                  I am not sure how this would happen in OSB. But going by the usage of the alias queue, this should work for you.

                  You can create an alias queue on the local queue manager that points to the remote queue, to which you want to publish the message. And then use the alias queue name in the URI.

                  You might want to give this a try.

                  Thanks.
                  Patrick
                  • 6. Re: How to put message on remote queue from Business service
                    735541
                    I configured the MQ using mq://local-queue-name?conn=mq-connection-resource-ref , where local-queue-name is the name of the local queue on the MQ Server, but the channel used in the MQ server to the queue must be a Channel Server type.
                    • 7. Re: How to put message on remote queue from Business service
                      625709
                      The problem i have describe above is not related with local MQ. I have remote MQ manager which located on another computer. when i am trying to connect with REMOTE/Alias queue created on MQ manager, OSB throws exception that such queue is not exists.

                      best regards
                      Shamim