dev@jax-ws.java.net

MessageContext HTTP Status code and ResponseCode

From: kathy walsh <Kathleen.Walsh_at_Sun.COM>
Date: Mon, 07 Aug 2006 16:10:33 -0400

Kohsuke,

I am working on a bug in the jax-ws rearch that was found while fixing a
unit test.
Incidently, the unit test was added during a bug fix to the JAX-WS 2.0
FCS version.

In the unit test, a proxy client attempts a method invocation on a Web
Service with an
incorrect endpoint Addresss. This is merely to cause an HTTP Response
Code of 404-Not Found
to be returned in the
stub.getResponseContext().get(MessageContext..HTTP_STATUS_CODE)
to be retrievable by the client program.

However, what happens is that a ClientTransportException is thrown by
the HttpClientTransport
checkResponseCode() method which returns the HTTP_STATUS_CODE in the
String Message
to the Client Program. When the Client program catches the
ClientTransportException and
attempts to retrieve the ResponseContext from the Stub, it is found to
be null.

Unfortunately, in the current rearch code base if a Transport exception
occurs no reply packet
or response context with HTTP Response Headers or HTTP_STATUS_CODE is
returned
to the client. Only the exception is thrown.

When developing JAX-WS 2.0 we have had customers specifically
point out that the HTTP_STATUS_CODE is a very useful and needed piece of
information for the products being developed in both exception and not
exception cases.

So given the current programming model in JAX-WS rearch,
how might you suggest we fix this problem? I would like to get this bug fix
in tonight's build without causing side effects. Your quick response
would be
appreciated.

Thanks so much,
Kathy