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 » WebSphere Message Broker (ACE) Support » Monitor the invocation of web service call?

Post new topic  Reply to topic
 Monitor the invocation of web service call? « View previous topic :: View next topic » 
Author Message
liminzhang
PostPosted: Tue Oct 21, 2014 2:56 pm    Post subject: Monitor the invocation of web service call? Reply with quote

Novice

Joined: 29 Sep 2014
Posts: 11

I have deployed a simple message flow providing a web service with SOAP Input Node. The message flow was secured with the following set up.

.Policy set : WSS10Default
.Policy set binding : WSS10Default
.Security Profile Name : a LDAP-based profile


I would like to monitor the invocation of the web service whether authentications succeed or not. Ideally I hope I can find some logging information in WMB. Is it possible?

After I tried unsuccessfully to find the logging information, I turned to monitoring events of the SOAPInput node. However I still could not get the error message.

All event sources (Transaction start, Failure, Catch...) : Enabled
All terminals : Connected.

If I tested with a valid user id, I got records inside the monitoring subscription queue. However, if I tested with an invalid user, no record was put in the queue.

Your advice will be greatly appreciated.

Thanks a advance.

Limin
Back to top
View user's profile Send private message
kimbert
PostPosted: Tue Oct 21, 2014 3:10 pm    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Which terminal does the message get propagated to when there is an authentication failure?
_________________
Before you criticize someone, walk a mile in their shoes. That way you're a mile away, and you have their shoes too.
Back to top
View user's profile Send private message
ruimadaleno
PostPosted: Wed Oct 22, 2014 2:37 am    Post subject: Reply with quote

Master

Joined: 08 May 2014
Posts: 274

one hint:

as far as i understand you said that all terminals of soapinput node are connected.

Place a trace node between each terminal of soapinput node and the destination node.

configure the trace node to record $Root , have a look at the values kept in the tree.
_________________
Best regards

Rui Madaleno
Back to top
View user's profile Send private message
liminzhang
PostPosted: Wed Oct 22, 2014 7:46 am    Post subject: Reply with quote

Novice

Joined: 29 Sep 2014
Posts: 11

Thanks for all the responses. I tried trace nodes connected to all the terminals, nothing was emitted to the trace file. I also made sure trace record was emitted for a successful authentication. I think after an authentication failure, the request message will not be propagated to any of the terminals.

I can see the authentication failure in user trace, however I don't want to enable the trace in production as performance will be affected. Also the information provided by user trace only shows a request comes and does not show where the request comes from.

I feel WMB should provide a method to monitor HTTP request regardless of authentication status.
Back to top
View user's profile Send private message
Vitor
PostPosted: Wed Oct 22, 2014 8:22 am    Post subject: Reply with quote

Grand High Poobah

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

liminzhang wrote:
I think after an authentication failure, the request message will not be propagated to any of the terminals.


Gosh....

liminzhang wrote:
I can see the authentication failure in user trace, however I don't want to enable the trace in production as performance will be affected.


Wise.

liminzhang wrote:
Also the information provided by user trace only shows a request comes and does not show where the request comes from.


If only there was some way of seeing the headers with that information in WMB....

liminzhang wrote:
I feel WMB should provide a method to monitor HTTP request regardless of authentication status.


You'd think that. And it's not what you asked for. You asked about notification on authorisation failure, not the status of HTTP traffic.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
liminzhang
PostPosted: Wed Oct 22, 2014 8:57 am    Post subject: Reply with quote

Novice

Joined: 29 Sep 2014
Posts: 11

Ideally I would like to log all http requests in a way similar to IIS http://www.iis.net/configreference/system.webserver/httplogging#004. In this way, I would know the invocations of the web service from clients.

I could not find such a logging mechanism in WMB. So I tried monitoring all the terminals though this is not a good solution at all as I need to configure all the SOAPInput nodes in all message follows. However even this suboptimal solution does not work when authentication failure happens.

Maybe my posts created some confusion. Sorry about that.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Wed Oct 22, 2014 9:00 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

The best solution for your requirement is to use an external web server, perhaps just Apache. then use the functions to export the Broker HTTP config as a mod_proxy configuration file.

Then configure the HTTP server to do the authentication and all the logging you need.
Back to top
View user's profile Send private message
Vitor
PostPosted: Wed Oct 22, 2014 9:08 am    Post subject: Reply with quote

Grand High Poobah

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

liminzhang wrote:
Ideally I would like to log all http requests in a way similar to IIS http://www.iis.net/configreference/system.webserver/httplogging#004. In this way, I would know the invocations of the web service from clients.


It's a shame WMB is not IIS, WAS or any other kind of web server. It's also a shame it's not a pixie dust mine, but I've learned to live with my disapointment.

liminzhang wrote:
I could not find such a logging mechanism in WMB.


You'll find a lot of the SOAP fault logging in IIS is missing as well. That's because WMB is still not a web server.

liminzhang wrote:
So I tried monitoring all the terminals though this is not a good solution at all as I need to configure all the SOAPInput nodes in all message follows. However even this suboptimal solution does not work when authentication failure happens.


So do you want to monitor authentication failures or HTTP traffic?
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Vitor
PostPosted: Wed Oct 22, 2014 9:09 am    Post subject: Reply with quote

Grand High Poobah

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

mqjeff wrote:
The best solution for your requirement is to use an external web server, perhaps just Apache. then use the functions to export the Broker HTTP config as a mod_proxy configuration file.

Then configure the HTTP server to do the authentication and all the logging you need.




Or front end your flow with an IIS application, as I assume from your post you have access / experience with that technolgy.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
liminzhang
PostPosted: Wed Oct 22, 2014 9:56 am    Post subject: Reply with quote

Novice

Joined: 29 Sep 2014
Posts: 11

Thank you all for the quick responses

An external web server is unavailable for us. However your posts remind me a solution. I can create a Gateway web service provider in WMB. In the Gateway service provider, no authentication is required. Thus all the requests can be logged. Then the requests can be forwarded to the service provider which requires authentication. The drawback of this solution is one more redirection within WMB.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Wed Oct 22, 2014 10:24 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

You can install apache on the same server as broker, and configure the broker http listeners to only listen on localhost.
Back to top
View user's profile Send private message
liminzhang
PostPosted: Wed Oct 22, 2014 11:20 am    Post subject: Reply with quote

Novice

Joined: 29 Sep 2014
Posts: 11

mqjeff wrote:
You can install apache on the same server as broker, and configure the broker http listeners to only listen on localhost.

Cool. It is a good option. Because of the policy of my company, I couldn't install software without many approvals . However I will try this option in suitable projects. Thanks again, mqjeff.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Monitor the invocation of web service 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.