I want to log every call to my web services (the logging message must group the SOAP message and some additional context information). I will log the request and the response.

Log messaging must be assured by a MQ infrastructure.

I was going to implement the logging with a JAX-RPC handler using JMS.

But the J2EE for Web services spec indicate that :
Handlers run under the transaction context of the component they are associated to.

So, if I associate my handler with an EJB Session stateless and this latter one calls setRollbackOnly, my logging actions will also be rolled back.

Is there a good solution ?

Thanks for your help