axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rich Scheuerle (JIRA)" <>
Subject [jira] Created: (AXIS2-3966) JAX-WS: Client engine should detach input stream after use
Date Wed, 06 Aug 2008 20:28:44 GMT
JAX-WS: Client engine should detach input stream after use

                 Key: AXIS2-3966
             Project: Axis 2.0 (Axis2)
          Issue Type: Bug
          Components: jaxws
            Reporter: Rich Scheuerle
            Assignee: Rich Scheuerle

The JAX-WS client engine (dispatch/proxy/asyncResponse) is ultimately responsible for creating
business objects (or exception) for the client call.
After that point, the unmarshalling is complete and the input stream (from the transport layer)
is no longer needed.

In some situations, the input stream is not closed.  Since the input stream comes from the
transport layer, this could result in resources not being freed.  (For example connection
resources may not be freed).

The soap builder code already wraps the incoming input stream with an axiom DetachableInputStream.
 The DetachableInputStream has a detach method, which copies the remainder of the original
stream to a local stream.  This allows the original stream (i.e. the HttpInputStream) to free
its resources without any loss of information for the consumer of the stream.  

I am making changes to the jaxws dispatch/proxy/asyncResponse code to always call DetachableInputStream.detach()
after all of the business objects are unmarshalled.  This will effectively guarantee that
the input stream from the transport layer is closed and allow resources to be freed.  

I have am testing these changes and will integrate soon.  All of the changes are in the jaxws

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message