users@jax-ws.java.net

Re: Re-Send: JAX-WS/WSIT: Server-side logging of HTTP 500 response content in Oneway scenario?

From: Jitendra Kotamraju <Jitendra.Kotamraju_at_Sun.COM>
Date: Thu, 21 Jun 2007 15:19:53 -0700

Andreas Loew wrote:
> All,
>
> sorry, but I have to come back to a scenario already raised on the
> WSIT alias:
>
> I have implemented a WS-N endpoint providing a @Oneway service that is
> running in a WSIT container. My remote party receives a HTTP 500
> response with an error message (or even a complete error stack) on
> their side, while I myself - although I have set quite a lot of
> logging properies and switched log levels to maximum level - am
> completely unable to see any kind of error in my local server log.
>
> On the WSIT alias, Jitu has already commented on it as follows:
>
> "Some Pipe converts the exception to SOAP message so jax-ws runtime
> doesn't log it. If jax-ws runtime catches exception, it should be
> printing the stack trace before converting it to soap message."
>
> I can imagine that it is the fact of my operation being a @Oneway that
> makes the HTTP dumper pipe refrain from dumping the reply!?
>
> Can the JAX-WS team *please* have a look into this? Or do I have to
> move forward and create a formal issue first?
>
> From my point of view, this definitely is a P2: I definitely *cannot*
> live with the fact that my remote party knows the details about
> exceptions raised on my server, while I myself can't find even the
> slightest hint in my server.log that any exception has happened at all...
>
> As these contain confidential information, I am only able to provide
> the reply message as received by the remote party as well as my local
> server.log by private mail (I have in fact already included them in my
> previous mail sent to the internal alias).
Can you see if the server.log is complete(also remove all other dumping
except HttpAdapter.dump).
>
> Thanks again for looking into this!
>
> Best regards
>
> Andreas
>

* HttpAdapter.dump should log ALL the traffic messages(whether it is 500
or not). We use it all the time. So I am surprised that you wouldn't see
the response messages in the server log. It would be good to see in
debugger. Can you do little debugging, the dump happens in "if (dump) {"
* But this is the main issue. WSIT's SecurityServerPipe.java doesn't log
the runtime exception but it converts to Message. Ideally it shouldn't
do anything so that JAX-WS runtime would catch the exception and log and
convert it to Message. Currently, SecurityServerPipe is doing the following:

      } catch (WebServiceException xwse) {
           thereWasAFault = true;
           msg = Messages.create(xwse,
pipeConfig.getBinding().getSOAPVersion());

Jitu