Search code examples
javaweb-servicesdebuggingjava-metro-framework

Enable logging of metro/tube


I need to enable logging of the raw data captured during webservice calls/requests (using Metro WS 2.0).

I have tried to enable the two following properties, but they give no result at all to the logging:

System.setProperty("com.sun.xml.ws.transport.http.client.HttpTransportPipe.dump", "true");
System.setProperty("com.sun.xml.ws.assembler.jaxws.TransportTubeFactory", "true");

The following gives the wanted effect but with every entry logged 8 times:

System.setProperty("com.sun.metro.soap.dump", "true");

With every entry duplicated 8 times the log gets very cluttered and very timeconsuming to follow. How can I achieve tracing of the webservice calls/requests without having everything dumped in a duplicated manner?


Solution

  • I had a similar problem which I resolved by:

    Metro : Printing / dumping out the contents of a SOAP packet.

    Essentially, it uses the "MessageDumpingFeature". You find this in the Glassfish \lib directory in the webservices-rt.jar file.