Author |
Message
|
akidase |
Posted: Tue Jul 15, 2014 8:21 pm Post subject: MQRC 2339 |
|
|
Centurion
Joined: 10 Jan 2011 Posts: 124
|
Quote: |
The Publication Node with Subscription Point '''' has received an error code 2339. |
is the Error faced.
I am facing this problem in one of the environments when the same code in different environment works fine.
Please suggest where I am missing.
Code: |
SET OutputRoot.Properties.Topic = Environment.Configuration.topic; |
This is how I specify Topic details in the present code.
If I change code like below.. it works. However the code in different environment without these code changes work.. Please help.
Code: |
SET OutputRoot.MQRFH2.(MQRFH2.Field)Version = 2;
SET OutputRoot.MQRFH2.(MQRFH2.Field)Format = 'MQSTR';
SET OutputRoot.MQRFH2.(MQRFH2.Field)NameValueCCSID = 1208;
SET OutputRoot.MQRFH2.psc.Command = 'Publish';
SET OutputRoot.MQRFH2.psc.Topic = Environment.Configuration.topic; |
|
|
Back to top |
|
 |
Vitor |
Posted: Wed Jul 16, 2014 4:54 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
What level(s) of queue manager do the differing environments have?
What are the compatibility settings of the queue managers in the differing environments? _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
akidase |
Posted: Thu Jul 17, 2014 9:10 pm Post subject: |
|
|
Centurion
Joined: 10 Jan 2011 Posts: 124
|
Please let me know what you mean by Compatibility settings of Queue Managers.
Now it is not working in the other environment as well..
dspmqver -i listed me the same in both servers.
Name: WebSphere MQ
Version: 7.5.0.3
Level: p750-003-140123
BuildType: IKAP - (Production)
Platform: WebSphere MQ for Linux (x86-64 platform)
Mode: 64-bit
O/S: Linux 2.6.32-358.6.2.el6.x86_64
InstName: Installation1
InstDesc:
Primary: Yes
InstPath: /opt/mqm
DataPath: /var/mqm
MaxCmdLevel: 750
LicenseType: Production |
|
Back to top |
|
 |
smdavies99 |
Posted: Thu Jul 17, 2014 9:41 pm Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
What my esteemed colleague means is the attributes of the Queue Manager itself and how it handles PUB/SUB.
do a
when running the runmqsc utility on both qmgrs and compare the results. The documentation will tell you the meanings of each and every parameter. _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
akidase |
Posted: Thu Jul 17, 2014 9:59 pm Post subject: |
|
|
Centurion
Joined: 10 Jan 2011 Posts: 124
|
display qmgr
1 : display qmgr
AMQ8408: Display Queue Manager details.
QMNAME(QM02) ACCTCONO(DISABLED)
ACCTINT(1800) ACCTMQI(OFF)
ACCTQ(OFF) ACTIVREC(MSG)
ACTVCONO(DISABLED) ACTVTRC(OFF)
ALTDATE(2014-07-01) ALTTIME(11.39.5
AUTHOREV(DISABLED) CCSID(1208)
CERTVPOL(ANY) CHAD(DISABLED)
CHADEV(DISABLED) CHADEXIT( )
CHLEV(DISABLED) CHLAUTH(DISABLED)
CLWLDATA( ) CLWLEXIT( )
CLWLLEN(100) CLWLMRUC(999999999)
CLWLUSEQ(LOCAL) CMDEV(DISABLED)
CMDLEVEL(750) COMMANDQ(SYSTEM.ADMIN.COMMAND.QUEUE)
CONFIGEV(DISABLED) CRDATE(2014-07-01)
CRTIME(10.47.00) CUSTOM( )
DEADQ(SYSTEM.DEAD.LETTER.QUEUE) DEFCLXQ(SCTQ)
DEFXMITQ(SYSTEM.DEFAULT.TRANSMIT.QUEUE)
DESCR(IIB SIT-A2) DISTL(YES)
INHIBTEV(DISABLED) IPADDRV(IPV4)
LOCALEV(DISABLED) LOGGEREV(DISABLED)
MARKINT(5000) MAXHANDS(256)
MAXMSGL(104857600) MAXPROPL(NOLIMIT)
MAXPRTY(9) MAXUMSGS(10000)
MONACLS(QMGR) MONCHL(OFF)
MONQ(OFF) PARENT( )
PERFMEV(DISABLED) PLATFORM(UNIX)
PSMODE(ENABLED) PSCLUS(ENABLED)
PSNPMSG(DISCARD) PSNPRES(NORMAL)
PSRTYCNT(5) PSSYNCPT(IFPER)
QMID(QM02_2014-07-01_10.47.00)
REMOTEEV(DISABLED) REPOS( )
REPOSNL( ) ROUTEREC(MSG)
SCHINIT(QMGR) SCMDSERV(QMGR)
SPLCAP(ENABLED) SSLCRLNL( )
SSLCRYP( ) SSLEV(DISABLED)
SSLFIPS(NO)
SSLKEYR(/opt/IIB/wmq/qmgrs/QM02/ssl/key)
SSLRKEYC(0) STATACLS(QMGR)
STATCHL(OFF) STATINT(1800)
STATMQI(OFF) STATQ(OFF)
STRSTPEV(ENABLED) SUITEB(NONE)
SYNCPT TREELIFE(1800)
TRIGINT(999999999) VERSION(07050003)
XRCAP(YES)
Here it is. |
|
Back to top |
|
 |
smdavies99 |
Posted: Thu Jul 17, 2014 11:03 pm Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
did you run the command on both QMGRS?
did you compare the results?
did you look at the descriptions of the various parameters in the documentation?
Have you tried writing the same message to an ordinary queue on both systems and comparing them (including the headers)? _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
akidase |
Posted: Thu Jul 17, 2014 11:32 pm Post subject: |
|
|
Centurion
Joined: 10 Jan 2011 Posts: 124
|
Quote: |
did you run the command on both QMGRS?
did you compare the results?
did you look at the descriptions of the various parameters in the documentation?
|
It is not working in both the environments now. So I didn't see a purpose in checking.
Quote: |
Have you tried writing the same message to an ordinary queue on both systems and comparing them (including the headers)? |
All I can do is trace and both result 2339 error.
Please let me know if
Code: |
SET OutputRoot.Properties.Topic='Topic' |
is enough for a publication message?
I was of the view that RFH2 Header is mandatory for Pub/Sub Messages. |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Jul 18, 2014 4:43 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Have you tried setting the pub/sub using RFHUTIL and then compare the message generated by RFHUtil with the one you built?  _________________ MQ & Broker admin |
|
Back to top |
|
 |
akidase |
Posted: Mon Jul 21, 2014 9:02 pm Post subject: |
|
|
Centurion
Joined: 10 Jan 2011 Posts: 124
|
This isn't a new integration that we are trying to build. It was an existing integration and used to work earlier(I believe).
So I am trying to understand what parameters could have changed with respect to the environment and how it could have worked earlier.
Other interface in the same environment works fine with the below code. Why isn't Broker looking for rhf2 values for this case? Please help.
Code: |
CALL CopyMessageHeaders();
SET OutputRoot.Properties.CodedCharSetId = 1208;
SET OutputRoot.MQMD.CodedCharSetId = 1208;
SET OutputRoot.Properties.Topic = 'TopicName';
DELETE FIELD OutputRoot.MQMD.UserIdentifier; |
|
|
Back to top |
|
 |
smdavies99 |
Posted: Mon Jul 21, 2014 9:57 pm Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
Are you setting the MQMD.Format properly? i.e. telling MQ that the next bit of data is an RFH2 header?
There are numberous examples in this forum of how to do this it you aren't.
If you aren't then you might like to read up on MQ Headers and how they can be 'chained' together. _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
akidase |
Posted: Mon Jul 21, 2014 10:02 pm Post subject: |
|
|
Centurion
Joined: 10 Jan 2011 Posts: 124
|
Some of the interfaces do not seem to set RHF2 header and yet to seem to work fine with Publishing. I wonder why.
As in the above, it doesn't specify the format.
Node 'Node1' used parser type ''MQMD'' to process a portion of the incoming message of length '364' bytes beginning at offset '0'. The parser type was selected based on value ''MQHMD'' from the previous parser.
This is what I see from the Trace.
Code: |
The Publication Node with Subscription Point '''' has received a message of type 'Publish'.
The Publication Node with Subscription Point '''' has started processing a message.
No user action required. |
Code: |
The Publication Node 'Publish' has passed a publish message to WebSphere MQ with topic ''TOPIC'' for subscription point ''TOPIC''.
The Publication Node has passed a publish message to WebSphere MQ.
No user action required. |
|
|
Back to top |
|
 |
akidase |
Posted: Thu Jul 24, 2014 5:02 am Post subject: |
|
|
Centurion
Joined: 10 Jan 2011 Posts: 124
|
In a new environment , the code worked fine for the first request.
Subsequent request failed to Publish and we had to do code change to add RFH2 Header code.
Please let me know what I am missing. |
|
Back to top |
|
 |
smdavies99 |
Posted: Thu Jul 24, 2014 5:47 am Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
At this point, I would send the message to a dump queue and then examine the good ones and bad ones carefully. _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
akidase |
Posted: Thu Jul 24, 2014 9:48 pm Post subject: |
|
|
Centurion
Joined: 10 Jan 2011 Posts: 124
|
There was a conditional clause which we overlooked because of an IF block and
Just
OutputRoot.Properties.Topic = "" did it.
Is it not mandatory to place RFH2 Headers? We are using IIB. |
|
Back to top |
|
 |
zpat |
Posted: Thu Jul 24, 2014 11:40 pm Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
You can publish without using RFH2 headers. Generally non-JMS messages are compatible with more applications (since JMS apps can read them as well).
In a message flow if you publish a message with a publication node and set the subscription up correctly the subscribing application will receive the message without an RFH header. To do this:-
• Publish a message to a topic string without creating an RFH header in your message flow. To do so, remove any RFH2 header if it already exists and just set the topic string SET OutputRoot.Properties.Topic = ‘/abc’ somewhere before your publication node. Do not setup an RFH2.psc folder
• When setting up a subscription set PSPROP(NONE) to make sure you do not get a psc folder generated.
DEFINE (MySubscription) TOPICSTR(‘/abc’) DEST(MY.Q) PSPROP(NONE) _________________ Well, I don't think there is any question about it. It can only be attributable to human error. This sort of thing has cropped up before, and it has always been due to human error. |
|
Back to top |
|
 |
|