ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » Clustering » MQ Configuration for Partner Integration

Post new topic  Reply to topic
 MQ Configuration for Partner Integration « View previous topic :: View next topic » 
Author Message
stockician
PostPosted: Tue Sep 18, 2012 8:55 am    Post subject: MQ Configuration for Partner Integration Reply with quote

Newbie

Joined: 18 Sep 2012
Posts: 7

Hi,
I am trying to setup integration with our Partner using MQ to MQ connectivity with the message flow as below:

Partner QMgr (PQ) <->My Front-end QMgr (FEQ) <-> My Back-end QMgr (BEQ)

I am trying this with a remote queue on PQ pointing to a queue that is actually defined locally on my BEQ and advertised as a cluster that FEQ and BEQ are in. I am trying this approach to ensure my connectivity to partners is only via FEQ so that 1) PQ doesn't have any visibility into the BEQ name. 2) Messages don't stay on FEQ and flow almost instantly from FEQ to BEQ.

I am having issues with getting this working because PQ is trying to send messages to BEQ and fails rightfully so because I didn't setup channels between the two. So I was wondering what I might be missing here. Any other thoughts on getting this working would be greatly appreciated.

thanks,
Kumar
Back to top
View user's profile Send private message
mqjeff
PostPosted: Tue Sep 18, 2012 8:59 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

You should define a QREMOTE on PQ.

This should have an RQMNAME of FEQ, and an RQNAME that points to a QREMOTE on FEQ - let's call it MYQUEUE.

Then define a QREMOTE on FEQ named MYQUEUE. It should have an RQMNAME of '' and a RQNAME of the name of the QLOCAL on BEQ that's shared in the cluster.

Then define a QLOCAL on BEQ, and share it in the cluster.
Back to top
View user's profile Send private message
Vitor
PostPosted: Tue Sep 18, 2012 9:03 am    Post subject: Re: MQ Configuration for Partner Integration Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

stockician wrote:
I am having issues with getting this working because PQ is trying to send messages to BEQ and fails rightfully so because I didn't setup channels between the two.


It might help if you mention how it fails, in terms of reason codes. I would however suspect that it's not the channels you're missing but some aliases.

stockician wrote:
So I was wondering what I might be missing here. Any other thoughts on getting this working would be greatly appreciated.


Rather than thinking in terms of channels, think in terms of name resolution. You either need PQ to have some way of resolving BEQ which leads it to FEQ as a first move, and then have FEQ resolve BEQ in the cluster, or you need PQ to send the message unconditionally to FEQ addressed to BEQ & let that resolve the name.

The first method is probably easier.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
stockician
PostPosted: Tue Sep 18, 2012 9:38 am    Post subject: Reply with quote

Newbie

Joined: 18 Sep 2012
Posts: 7

mqjeff,
Thank you for the response! I blanked out the RQMNAME because that seemed to be the difference between what I had configured and what you suggested. Now, the messages end up on the dead letter queue of FEQ instead of being on the BEQ.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Tue Sep 18, 2012 9:46 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

What's the reason code in the DLH on the message in the DLQ on FEQ?

Can you use amqsput/amqsputc to connect to FEQ and send a message to the qcluster using the name you put in the RQNAME of the QREMOTE on FEQ?
Back to top
View user's profile Send private message
stockician
PostPosted: Tue Sep 18, 2012 10:14 am    Post subject: Reply with quote

Newbie

Joined: 18 Sep 2012
Posts: 7

mqjeff,
I am getting an MQRC_UNKNOWN_REMOTE_Q_MGR (Reason Code=2087, Completion Code=2) when I try putting messages directly by opening the queue on FEQ.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Tue Sep 18, 2012 12:29 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

stockician wrote:
mqjeff,
I am getting an MQRC_UNKNOWN_REMOTE_Q_MGR (Reason Code=2087, Completion Code=2) when I try putting messages directly by opening the queue on FEQ.

Probably missing the cluster alias on the gateway qmgr.
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
stockician
PostPosted: Tue Sep 18, 2012 1:17 pm    Post subject: Reply with quote

Newbie

Joined: 18 Sep 2012
Posts: 7

Can you guide me on how to setup queue manager alias? I am new to the concept and any specifics would be of great help.

Thank you!
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Tue Sep 18, 2012 4:45 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

stockician wrote:
Can you guide me on how to setup queue manager alias? I am new to the concept and any specifics would be of great help.

Thank you!


You should have 2 examples of it: one in the intercommunications manual and one in the cluster manual.
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
stockician
PostPosted: Thu Sep 20, 2012 6:47 am    Post subject: Reply with quote

Newbie

Joined: 18 Sep 2012
Posts: 7

fjb_saper,
Thank you for pointing me to the manuals on clustering and intercommunication. That helped me in finding out how to setup an alias. Unfortunately, I am still not able to get things working and messages still end up on the dead letter queue of FEQ with RC2087, MQRC_UNKNOWN_REMOTE_Q_MGR with destination queue manager attribute being DUMMY, the alias I setup.

This is how my setup looks like:

### Queue Confguration on PQ ###

QREMOTE('PARTNER.OUTBOUND') +
* QUEUE('PARTNER.OUTBOUND') +
* TYPE(QREMOTE) +
RNAME('INBOUND.QUEUE') +
RQMNAME('DUMMY') +
XMITQ('FEQ')

### Queue Confguration on FEQ ###

DEFINE QREMOTE('DUMMY') +
* QUEUE('DUMMY') +
* TYPE(QREMOTE) +


DEFINE QREMOTE('INBOUND.QUEUE') +
* QUEUE('INBOUND.QUEUE') +
* TYPE(QREMOTE) +
CLUSTER('MYCLUSTER') +
RNAME('INBOUND.QUEUE') +
XMITQ('XMITQ') + //Does this need to be my BEQ? It is not right now...


### Queue Confguration on BEQ ###
DEFINE QLOCAL('INBOUND.QUEUE') +
* QUEUE('INBOUND.QUEUE') +
* TYPE(QLOCAL) +
CLUSTER('MYCLUSTER') +

I would appreciate if you can chime in with any feedback/recommendations.

Thanks!
Back to top
View user's profile Send private message
stockician
PostPosted: Thu Sep 20, 2012 8:11 am    Post subject: Reply with quote

Newbie

Joined: 18 Sep 2012
Posts: 7

I was able to get my messages across by configuring PQ as below. Unfortunately, this means that my partner will have knowledge of internal queue manager name which, I would not want to expose. Besides, this doesn't take advantage of clustering that I have in place for back-end queue managers.

### Queue Confguration on PQ ###

QREMOTE('PARTNER.OUTBOUND') +
* QUEUE('PARTNER.OUTBOUND') +
* TYPE(QREMOTE) +
RNAME('INBOUND.QUEUE') +
RQMNAME(BEQ) +
XMITQ('FEQ')
Back to top
View user's profile Send private message
bruce2359
PostPosted: Thu Sep 20, 2012 8:31 am    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9469
Location: US: west coast, almost. Otherwise, enroute.

The outbound request message can specify any name in the REPLY-TO-QMGR name field of the MQMD. It need not be the real qmgr name.

If it is not the real qmgr name, then there must be a queue-manager-alias definition on the requesting qmgr to resolve the name when the reply message arrives.

A queue-manager-alias is a QRemote definition, but without an RName specified. Like this:

DEF QR(not-the-real-queue-manager-name)
RQMNAME(the-real-queue-manager-name).
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Thu Sep 20, 2012 7:07 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Delete the definition of the "INBOUND.QUEUE" on FEQ. It is not needed and will only cloud matters. Then try again using the DUMMY alias.

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
stockician
PostPosted: Fri Sep 21, 2012 12:01 pm    Post subject: Reply with quote

Newbie

Joined: 18 Sep 2012
Posts: 7

Hooray, I have been able to get this working. Found the article (link below) that very accurately depicts my setup.

[url] http://publib.boulder.ibm.com/infocenter/wmqv6/v6r0/index.jsp?topic=%2Fcom.ibm.mq.csqzah.doc%2Fqc10850_.htm [/url]

Basically, the missing piece was the creation of queue manager alias on BEQ. So, my final configuration looks like the below:

### Queue Confguration on PQ ###

QREMOTE('PARTNER.OUTBOUND') +
* QUEUE('PARTNER.OUTBOUND') +
* TYPE(QREMOTE) +
RNAME('INBOUND.QUEUE') +
RQMNAME('DUMMY') +
XMITQ('FEQ')

### Queue Confguration on FEQ ###

DEFINE QREMOTE('INBOUND.QUEUE') +
* QUEUE('INBOUND.QUEUE') +
* TYPE(QREMOTE) +
CLUSTER('MYCLUSTER') +
RNAME('INBOUND.QUEUE') +
XMITQ('XMITQ') + //Does this need to be my BEQ? It is not right now...


### Queue Confguration on BEQ ###

DEFINE QREMOTE('DUMMY') +
* QUEUE('DUMMY') +
* TYPE(QREMOTE) +

DEFINE QLOCAL('INBOUND.QUEUE') +
* QUEUE('INBOUND.QUEUE') +
* TYPE(QLOCAL) +
CLUSTER('MYCLUSTER') +

I greatly appreciate your help and valuable references.

Thanks!
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Fri Sep 21, 2012 9:49 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

It may well work but the definitions aren't right.

For one the Dummy alias should be defined on FEQ. FEQ should also have a defined alias to PQ and have it clustered, so that BEQ can dynamically find a path back to the request qmgr.

So in short:
Move the definition of the cluster alias Dummy from BEQ to FEQ
Delete the qremote inbound queue definition from FEQ.
On FEQ add
Code:
def qr(PQ) rqmname(PQ) xmitq(TO.PQ) cluster(MYCLUSTER)


Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » Clustering » MQ Configuration for Partner Integration
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.