Thank you for the response:
The Response Context is changed in the doPost method of
org.apache.soap.server.http.RPCRouterServlet.
Saving the fullTargetObjectURI and resetting it when a fault occurs does
solve the problem. It would be nice if there was a better way to maintain
State between the client and the server.
Again thanks for the response.
-----Original Message-----
From: Abraham Kang [mailto:[EMAIL PROTECTED]]
Sent: Friday, July 20, 2001 2:02 PM
To: [EMAIL PROTECTED]
Subject: RE: Bug with EJBStatefullProvider and SOAP Faults
//Hi Don,
I just looked through the EJBStatefullProvider and I can't find where the
InitialContext is getting set to null;
What about storing the Serialized Handle on the client by calling
Call.getFullTargetObjectURI() and storing the part after "@" after the first
invocation;
//Abraham
> -----Original Message-----
> From: Don Forth [mailto:[EMAIL PROTECTED]]
> Sent: Friday, July 20, 2001 6:37 AM
> To: '[EMAIL PROTECTED]'
> Subject: Bug with EJBStatefullProvider and SOAP Faults
>
>
> I believe I have found a flaw/bug with how the EJBStatefullProvider
> maintains state and how SOAP faults are handled.
>
> The EJBStatefullProvider maintains it's connection to an EJB by appending
> the serialized Handle to the target object URI. This is passed
> between the
> client and the SOAP server for each request/response pair. The
> modified URI
> is held onto by the Call object. If an exception is thrown by one of the
> EJB's methods then a SOAP fault is created to pass the exception
> back to the
> Client. The SOAP Server clears out the Context object, thus throwing away
> the modified URI and losing the EJB Handle. Once an Exception occurs you
> lose your connection - Doh!
>
> Has anyone else created a workaround for this?
>