Author |
Message
|
WBIMaestro |
Posted: Thu Jul 27, 2017 1:12 pm Post subject: MQChlCli msg exit compiling issues |
|
|
Acolyte
Joined: 18 Feb 2005 Posts: 53
|
Hi,
I am trying to compile the MQChlCli message exit from the capitalware website http://capitalware.com/pc_win_code_c.html on RHEL 6 and MQ 8.0.4. I used the compile options from the IBM Knowledge center for 64 bit linux:
Code: |
gcc -m64 -shared -fPIC -o mqchlcli mqchlcli.c -I/opt/mqm/inc |
but I get an error indicating architecture of the exit library does not match the process's architecture which is '64'. what am i doing wrong?
Also, can the same exit be used as a RCVEXIT instead of a MSGEXIT (since RCVEXIT) is valid for a wider range of channel types), If not, what needs to change in a RCVEXIT?
can a RCVEXIT/MSGEXIT update fields in the mqmd? any other msgexit or rcvexit I can look at as a sample?
thanks |
|
Back to top |
|
 |
PaulClarke |
Posted: Thu Jul 27, 2017 3:30 pm Post subject: |
|
|
 Grand Master
Joined: 17 Nov 2005 Posts: 1002 Location: New Zealand
|
Can't help you with the building problem, I suspect Roger will reply sooner or later. However, your question about Receive exits. No, you can not use a Message Exit as a Receive Exit. They are two different types of exit. The concept is similar but the values passed to the exit is different. Where as the Message Exit is passed the whole message and MQMD a Receive Exit isn't. A Receive Exit is just passed the bytes that come down the socket 'asis'. So, for example, if you are using something like SSL/TLS then the data would be encrypted anyway.
Cheers,
Paul. _________________ Paul Clarke
MQGem Software
www.mqgem.com |
|
Back to top |
|
 |
WBIMaestro |
Posted: Thu Jul 27, 2017 4:06 pm Post subject: |
|
|
Acolyte
Joined: 18 Feb 2005 Posts: 53
|
What would be the equivalent of a message exit in the case of client connection channel? Scyexit seems to be the only other choice... |
|
Back to top |
|
 |
PaulClarke |
Posted: Thu Jul 27, 2017 4:12 pm Post subject: |
|
|
 Grand Master
Joined: 17 Nov 2005 Posts: 1002 Location: New Zealand
|
There isn't an equivalent. Your best bet is to use an API Crossing exit.
Cheers,
Paul. _________________ Paul Clarke
MQGem Software
www.mqgem.com |
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Jul 27, 2017 9:27 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
And please remember to look up the right compilation commands.
Exits cannot be compiled with the same commands as regular programs.
You need the REENTRANT key word and potential thread safety parameters and and and ....
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
hughson |
Posted: Sat Jul 29, 2017 6:05 pm Post subject: Re: MQChlCli msg exit compiling issues |
|
|
 Padawan
Joined: 09 May 2013 Posts: 1959 Location: Bay of Plenty, New Zealand
|
WBIMaestro wrote: |
I am trying to compile the MQChlCli message exit from the capitalware website http://capitalware.com/pc_win_code_c.html on RHEL 6 and MQ 8.0.4. I used the compile options from the IBM Knowledge center for 64 bit linux:
Code: |
gcc -m64 -shared -fPIC -o mqchlcli mqchlcli.c -I/opt/mqm/inc |
but I get an error indicating architecture of the exit library does not match the process's architecture which is '64'. what am i doing wrong? |
Can you post the actual error you get?
Cheers,
Morag _________________ Morag Hughson @MoragHughson
IBM MQ Technical Education Specialist
Get your IBM MQ training here!
MQGem Software |
|
Back to top |
|
 |
RogerLacroix |
Posted: Mon Jul 31, 2017 10:18 am Post subject: Re: MQChlCli msg exit compiling issues |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
Please read my warning comments here (another post on mqseries.net).
WBIMaestro wrote: |
Code: |
gcc -m64 -shared -fPIC -o mqchlcli mqchlcli.c -I/opt/mqm/inc |
|
That command looks correct - what was the exact error message?
WBIMaestro wrote: |
can the same exit be used as a RCVEXIT instead of a MSGEXIT (since RCVEXIT) is valid for a wider range of channel types), If not, what needs to change in a RCVEXIT? |
Yes and no. The 'mqchlcli.c' program is a template that can be used to create either send/receive exits or message exit.
- The ExitId of MQCXP will tell the exit what type (send/receive/message) of exit is being invoke.
- ChannelType of MQCD will tell the exit the type of channel (SVRCONN).
- When the exit is invoke with an ExitReason (MQCXP) of MQXR_XMIT then the exit is receiving a message segment (TSH) of up to 32KB of data (the 1st segment will have the MQMD). Note: TSH segments are NOT documented.
- When the exit is invoke with an ExitReason (MQCXP) of MQXR_MSG then the exit is receiving the entire message payload which includes the MQMD.
WBIMaestro wrote: |
can a RCVEXIT/MSGEXIT update fields in the mqmd? any other msgexit or rcvexit I can look at as a sample? |
Yes, but it is extremely difficult for a send/receive. Not as difficult for a message exit. What field are you trying to modify? Wouldn't it be easier for the application to do this?
Regards,
Roger Lacroix
Capitalware Inc. _________________ Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter |
|
Back to top |
|
 |
Vitor |
Posted: Mon Jul 31, 2017 11:35 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
I've said it before and I'll say it again - if the answer's a user exit, there's a good chance you're asking the wrong question.
Much better to have this done in the application, or anywhere other than an exit. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
|