Author |
Message
|
AlainB |
Posted: Fri Mar 12, 2004 1:08 am Post subject: Channels exits using Spazio DataSecure |
|
|
 Voyager
Joined: 31 Oct 2002 Posts: 79 Location: Belgium
|
Hello World !
We're using Spazio DataSecure for channel exits handling. On one AIX box, we're having problems, as MQSeries has problems with the shared object to be used for exits :
Quote: |
-------------------------------------------------------------------------------
03/12/04 08:45:26
AMQ9002: Channel program started.
EXPLANATION:
Channel program 'BBDAKCBD.RS020BD.1.I' started.
ACTION:
None.
-------------------------------------------------------------------------------
03/12/04 08:45:26
AMQ6174: The library /var/mqm/exits//mqppsx.so was not found. The queue manager
will continue without this module.
EXPLANATION:
The dynamically loadable file /var/mqm/exits//mqppsx.so was not found.
ACTION:
Check that the file exists and is either fully qualified or is in the
appropriate directory.
-------------------------------------------------------------------------------
03/12/04 08:45:26
AMQ9535: User exit not valid.
EXPLANATION:
Channel program 'BBDAKCBD.RS020BD.1.I' ended because user exit
'mqppsx.so(MSGEXIT)' is not valid.
ACTION:
Ensure that the user exit is specified correctly in the channel definition, and
that the user exit program is correct and available.
-------------------------------------------------------------------------------
03/12/04 08:45:26
AMQ9999: Channel program ended abnormally.
EXPLANATION:
Channel program 'BBDAKCBD.RS020BD.1.I' ended abnormally.
ACTION:
Look at previous error messages for channel program 'BBDAKCBD.RS020BD.1.I' in
the error files to determine the cause of the failure.
-------------------------------------------------------------------------------
|
When I check this file, it seems (to me) to have the correct right ...
Quote: |
[mqm@sdakc] /var/mqm/qmgrs/BBDAKCBD/errors # ls -l /var/mqm/exits//mqppsx.so
lrwxrwxrwx 1 root mqm 25 Feb 9 16:16 /var/mqm/exits//mqppsx.so -> /BBL/SPAZIO/bin/mqppsx.so
[mqm@sdakc] /var/mqm/qmgrs/BBDAKCBD/errors # ls -l /BBL/SPAZIO/bin/mqppsx.so
-rwxr-x--- 1 mqm mqm 68366 Jun 25 2003 /BBL/SPAZIO/bin/mqppsx.so
|
You can see that it talks about [...]exits//mqppsx.so : this is strange, as the mqs.ini file entry related to exits has the following value :
ExitsDefaultPath=/var/mqm/exits
And the security/message exit name contains only mqppsx.so(some value), so no full path.
Any idea about problem origin and/or solution ? _________________ Alain Buret
Visit http://www.fosdem.org |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Mar 12, 2004 4:37 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
I think the issue is in how you have registered your exit. The path that MQSeries is complaining about is "../exits//mqppsx.so", with two / between exits and mqppsx.so. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
Shalini |
Posted: Fri May 06, 2005 11:49 pm Post subject: |
|
|
Master
Joined: 30 Apr 2002 Posts: 224 Location: India
|
Hi,
MQ5.2 CSD0 : Sun OS :5.8
I am also getting the similar error
AMQ6174: The library /var/mqm/exits//MQJUNK was not found. The queue manager
will continue without this module.
EXPLANATION:
The dynamically loadable file /var/mqm/exits//MQJUNK was not found.
ACTION:
Check that the file exists and is either fully qualified or is in the
appropriate directory.
The command :
1) $ls -l /var/mqm/exits
total 0
2) There is nothing in /var/mqm/exits
3) nor the /var/mqm/qmgrs/JUNKQMR/qm.ini donot any entry for MQJUNK exits ...
Basically there not even single exits entry in both files (qm.ini/mqs.ini files
But I donot know why we are continuslly getting this exit error.
3) there is FDC generated only the error entry is in qmgrs logs ..
Please comment ???
 |
|
Back to top |
|
 |
EddieA |
Posted: Sat May 07, 2005 9:18 am Post subject: |
|
|
 Jedi
Joined: 28 Jun 2001 Posts: 2453 Location: Los Angeles
|
Perhaps you have a message that has a Format of MQJUNK and you are doing a Get with Convert.
Cheers, _________________ Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0 |
|
Back to top |
|
 |
bbburson |
Posted: Mon May 09, 2005 7:10 am Post subject: |
|
|
Partisan
Joined: 06 Jan 2004 Posts: 378 Location: Nowhere near a queue manager
|
jefflowrey wrote: |
The path that MQSeries is complaining about is "../exits//mqppsx.so", with two / between exits and mqppsx.so. |
Actually, AIX (and Sun and HP) behave the same if there is one / between subdirectory names or many //// between subdirectory names.
ls /var/mqm/exits - returns the same as
ls ///var///mqm///exits |
|
Back to top |
|
 |
Shalini |
Posted: Tue May 17, 2005 5:33 am Post subject: |
|
|
Master
Joined: 30 Apr 2002 Posts: 224 Location: India
|
Hi,
MQ5.3 CSD 9 and MQ5.2 CSD0
Quote: |
Perhaps you have a message that has a Format of MQJUNK and you are doing a Get with Convert. |
I am using simple amqsput from one QMGr to another and the reverse way still I get the same error only in one direction not in reverse.
***************************************************
This is the error from QMGR with CCSID 819[HP-UX:MQ5.2CSD0].
AMQ6047: Conversion not supported.
EXPLANATION:
MQSeries is unable to convert string data tagged in CCSID 1089 to data in CCSID 819.
ACTION:
Check the appropriate National Language Support publications to see if the
CCSIDs are supported by your system.
AMQ6174: The library /var/mqm/exits//MQSTR was not found. The queue manager
will continue without this module.
EXPLANATION:
The dynamically loadable file /var/mqm/exits//MQSTR was not found.
ACTION:
Check that the file exists and is either fully qualified or is in the
appropriate directory.
-------------------------------------------------------------------------------
~
**************************************************
This happens only one way ie If I do amqsput from QMGR with CCSID QMGR [AIX:5.3 CSD9] (1089) to 819 CCSID QMgr [HP-UX:MQ5.2CSD0].
I donot get any error message if I do amqsput from 819[HP-UX :MQ 5.2 ] to 1089[AIX MQ5.3 CSD9] QMGR
If the CCSID is not supported then why should it work for messages from QMGR with 819 to 1089 , but in the reverse flow it gives me the error.
According to Prog Referece ..
Quote: |
WebSphere MQ AIX support for Unicode
On MQSeries for AIX Version 5 or later, conversion on AIX to and from the
Unicode CCSIDs is supported for the following CCSIDs:
297 423 437 500 813 819954 964 970 1026 1046 1089
|
Quote: |
WebSphere MQ HP-UX support for Unicode
813 819 920 932 938 950 954 964 1089
|
|
|
Back to top |
|
 |
fjb_saper |
Posted: Tue May 17, 2005 6:34 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
check out the manuals about the CCSID conversion and add the right information to your CCSID table. The message is specifying that the queue manager is missing the mapping from one CCSID to the other.
Enjoy  |
|
Back to top |
|
 |
Shalini |
Posted: Mon Jun 06, 2005 6:41 am Post subject: |
|
|
Master
Joined: 30 Apr 2002 Posts: 224 Location: India
|
Hi All,
Please confirm my understandings ...
I am new to C Prog... for the CCSID error
Quote: |
AMQ6047: Conversion not supported.
EXPLANATION:
MQSeries is unable to convert string data tagged in CCSID 1089 to data in CCSID 819.
ACTION:
Check the appropriate National Language Support publications to see if the
CCSIDs are supported by your system.
AMQ6174: The library /var/mqm/exits//MQSTR was not found. The queue manager
will continue without this module.
EXPLANATION:
The dynamically loadable file /var/mqm/exits//MQSTR was not found.
ACTION:
Check that the file exists and is either fully qualified or is in the
appropriate directory.
------------------------------------------------------------------------------- |
I think the problem may be in the code also as given below...
mqmdg.Version = MQMD_VERSION_2;
mqmdg.Encoding = MQENC_NATIVE;
mqmdg.CodedCharSetId = MQCCSI_Q_MGR;
MQGET(Hcon, /* connection handle */
Hobjg, /* object handle */
&mqmd, /* message descriptor */
&gmo, /* get message options */
inbuflen, /* buffer length */
inbuffer, /* message buffer */
&inmesslen, /* message length */
&CompCode, /* completion code */
&Reason); /* reason code */
And the put message option is without Encoding and CCSID option
mqmdp.Version = MQMD_VERSION_2;
pmo.Version = MQPMO_VERSION_2;
MQPUT(Hcon, /* connection handle */
Hobjp, /* object handle */
&mqmdp, /* message descriptor */
&pmo, /* default options (datagram) */
outmesslen, /* message length */
outbuffer, /* message buffer */
&CompCode, /* completion code */
&Reason); /* reason code */
Quote: |
As per the MQ Application Prog Reference :
*************************************************************************************
MQCCSI_Q_MGR
Queue manager’s character set identifier.
Character data in the message is in the queue manager’s character set. On the MQPUT and MQPUT1 calls, the queue manager changes this value in the MQMD sent with the message to the true character-set identifier of the queue manager. As a result, the value MQCCSI_Q_MGR is never returned by the MQGET call.
***************************************************************************************** |
As I understand "MQCCSI_Q_MGR" and "MQENC_NATIVE" should be used in MQPMO not in MQGMO of MQMD
So I belive the code should be "mqmdp.CodedCharSetId = MQCCSI_Q_MGR" and mqmdp.Encoding = MQENC_NATIVE
so that the message will have Character data in the message is in the queue manager’s character set even if goes to remote QMgr (ie in remote it will have remote QMGr CCSID).
Hope I understood correctly..
[/quote] |
|
Back to top |
|
 |
|