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 IndexUser ExitsAPI Exit for client call

Post new topicReply to topic
API Exit for client call View previous topic :: View next topic
Author Message
Fireworks
PostPosted: Wed Mar 13, 2019 3:25 am Post subject: API Exit for client call Reply with quote

Newbie

Joined: 13 Mar 2019
Posts: 3

Hello, I'm tring to catch some messages during MQGET and check some fields in MQMD headers. I'm using ibm amqsaxe0.c sample as start point. But after inspecting trace files I notice that API exit doesn't catch calls made from connected clients. Only MQXACT_INTERNAL calls. So, how can I catch MQXACT_EXTERNAL calls?
Back to top
View user's profile Send private message
RogerLacroix
PostPosted: Wed Mar 13, 2019 12:25 pm Post subject: Reply with quote

Jedi Knight

Joined: 15 May 2001
Posts: 3115
Location: London, ON Canada

I have no idea what you are looking at but I double-checked and there is nothing in the amqsaxe0.c code that has that behavior.

You should not be messing around with exit coding if you are not both a seasoned C programmer and have in-depth knowledge of MQ.

Speaking of indepth knowledge of MQ, I'm going to guess that you are not familiar with MQ's asynchronous get. In MQ v7 or v7.1 (I forget), IBM rewrote the MCA (Message Channel Agent) to use asynchronous get (callback) rather than synchronous get (MQGET). So, the information is there, you are just looking in the wrong spot.

Regards,
Roger Lacroix
Capitalware Inc.
_________________
Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter
Back to top
View user's profile Send private message Visit poster's website
hughson
PostPosted: Wed Mar 13, 2019 2:22 pm Post subject: Re: API Exit for client call Reply with quote

Grand Master

Joined: 09 May 2013
Posts: 1076
Location: Bay of Plenty, New Zealand

Fireworks wrote:
Hello, I'm tring to catch some messages during MQGET and check some fields in MQMD headers. I'm using ibm amqsaxe0.c sample as start point. But after inspecting trace files I notice that API exit doesn't catch calls made from connected clients. Only MQXACT_INTERNAL calls. So, how can I catch MQXACT_EXTERNAL calls?

Remember that your API exit is capturing what the SVRCONN channel does.

Remember that SVRCONN channels don't always do an MQGET when the client application does, they sometimes change it to an MQCB call. If you want to force it to be a like-for-like mapping from CLNTCONN->SVRCONN set SHARECNV to zero.

Cheers,
Morag
_________________
Morag Hughson @MoragHughson
IBM MQ Technical Education Specialist
Get your IBM MQ training here!
MQGem Software
Back to top
View user's profile Send private message Visit poster's website
Fireworks
PostPosted: Thu Mar 14, 2019 12:15 am Post subject: Reply with quote

Newbie

Joined: 13 Mar 2019
Posts: 3

RogerLacroix wrote:
I have no idea what you are looking at but I double-checked and there is nothing in the amqsaxe0.c code that has that behavior.

Hello, Roger. Thank you for async suggestion. As I said amqsaxe, is a start point only. I am trying to understand how all that staff works.

As I see amqsaxe collect traces from async callback too, but the is no logs in trace files after client calls. I use java jms client. So, maybe MQ manager by-pass client call in case of configuration?

hughson wrote:
If you want to force it to be a like-for-like mapping from CLNTCONN->SVRCONN set SHARECNV to zero.

Hello, Morag. As I have already written MQCB calls have not catchen in traces too. But, I applied your recommendations. Unfortunately nothing changed. What else should I tryed to ispect a problem?
Back to top
View user's profile Send private message
tczielke
PostPosted: Thu Mar 14, 2019 7:23 am Post subject: Reply with quote

Shaman

Joined: 08 Jul 2010
Posts: 794
Location: Illinois, USA

Quote:
Hello, I'm tring to catch some messages during MQGET and check some fields in MQMD headers.


If that is your main requirement, I would recommend researching the Application Activity Trace.
_________________
Working with MQ since 2010.
Back to top
View user's profile Send private message
hughson
PostPosted: Thu Mar 14, 2019 9:26 pm Post subject: Re: API Exit for client call Reply with quote

Grand Master

Joined: 09 May 2013
Posts: 1076
Location: Bay of Plenty, New Zealand

Fireworks wrote:
I'm using ibm amqsaxe0.c sample as start point. But after inspecting trace files I notice that API exit doesn't catch calls made from connected clients. Only MQXACT_INTERNAL calls. So, how can I catch MQXACT_EXTERNAL calls?


Are you using amqsaxe0.c sample as provided with IBM MQ, or does your comment "as a start point" mean you have changed it?

If you have already changed it, what is the output like if you use the provided (already built) version unchanged.

What did you do to configure the exit to the queue manager? Did you restart the queue manager after doing said configuration? Are you absolutely certain that the client application in question is connecting to THIS queue manager?

Cheers,
Morag
_________________
Morag Hughson @MoragHughson
IBM MQ Technical Education Specialist
Get your IBM MQ training here!
MQGem Software
Back to top
View user's profile Send private message Visit poster's website
Fireworks
PostPosted: Thu Mar 14, 2019 10:42 pm Post subject: Re: API Exit for client call Reply with quote

Newbie

Joined: 13 Mar 2019
Posts: 3

hughson wrote:
Are you using amqsaxe0.c sample as provided with IBM MQ, or does your comment "as a start point" mean you have changed it?

If you have already changed it, what is the output like if you use the provided (already built) version unchanged.

What did you do to configure the exit to the queue manager? Did you restart the queue manager after doing said configuration? Are you absolutely certain that the client application in question is connecting to THIS queue manager?


Thank for helping me, Morag. With your help I managed to find out what was wrong.
All configurations were right. The problem was in my Linux misunderstanding. amqsaxe uses environment variable for logs path, so I set it not global, in case of that api exit works correct, but wrote only part of the traces.
Again, great thanks for your help.
Back to top
View user's profile Send private message
Display posts from previous:
Post new topicReply to topic Page 1 of 1

MQSeries.net Forum IndexUser ExitsAPI Exit for client call
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.