You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-user@xml.apache.org by Don Forth <df...@venetica.com> on 2001/07/20 15:37:15 UTC

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?

RE: Bug with EJBStatefullProvider and SOAP Faults

Posted by Abraham Kang <ab...@infogain.com>.
//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:dforth@venetica.com]
> Sent: Friday, July 20, 2001 6:37 AM
> To: 'soap-user@xml.apache.org'
> 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?
>


RE: Bug with EJBStatefullProvider and SOAP Faults

Posted by Abraham Kang <ab...@infogain.com>.
//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:dforth@venetica.com]
> Sent: Friday, July 20, 2001 6:37 AM
> To: 'soap-user@xml.apache.org'
> 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?
>