I am having trouble understanding how to log requests to my services in Axis2, specifically how to pass information between the phases. I'd like to log the client IP address, the response size, the name of the method being invoked, and (ideally) the parameter values they're using (ie method signature).

I followed the example on creating a logging module, but I found that the client IP is only available from the in context; in the out context it's null. I tried writing two handlers, one for the inflow (get the client IP) and one for the outflow (get the SOAP action and response size, log the info). But how I can pass information between the inflow and outflow contexts? I saw this: http://marc.info/?l=axis-user&m=116967807112741&w=2, which says "set the incoming IP address on a InheritableThreadLocal variable to have access to it throughout your application," but I don't understand what that means. Where do I define the InheritableThreadLocal variable? How do I access it?

Thanks for you help,
Kimberly Nicholls

Reply via email to