geronimo-dev mailing list archives

> -----Original Message-----
> From: news [mailto:news@sea.gmane.org] On Behalf Of Richard
> Monson-Haefel
> Sent: Sunday, November 02, 2003 7:06 PM
> To: geronimo-dev@incubator.apache.org
> Subject: Re: JSR 109 MessageContext import
>
>
> On 11/2/03 10:33 AM, in article
> GHEHKNNAODAPCLJONCCDEEAIDAAA.jeremy@coredevelopers.net,
> "Jeremy Boynes" <jeremy@coredevelopers.net> wrote:
>
> > IIRC the current 109 architecture plans to invoke EJBs using their
> > normal remote interface.
>
> This is the first I've hear of this plan. Did I miss a beat?
> I've kind of been distracted the past couple of days.
>
I was looking here
http://nagoya.apache.org/wiki/apachewiki.cgi?JSR109ProposalArchitecture
which implies invocation through the remote interface.
> >
> > However, the invocation in Geronimo needs to attach a
> MessageContext
> > with the invocation and notify the EJB container that this is a
> > web-service invocation rather than an component interface
> invocation
> > (so that the appropriate SessionContext methods can be enabled).
>
> There are a number of differences between a remote invocation
> and an endpoint invocation. For one thing, the EJB Endpoint
> implements (directly or
> implicitly) an endpoint interface, rather than an EJBObject
> type interface. Second, there may be a Message Handler chain
> that needs to intercept incoming requests and that chain
> works with a SAAJ Message object. Another thing, is the
> MessageContext. It needs to be accessible to all of the
> handlers and the bean instance through its SessionContext -
> as you already mentioned.
>
> >
> > This seems to imply that a different invocation API is
> needed from the
> > normal remote interface implementation. There may be a way
> to hack it
> > in using the client-side interceptor stack, but given this
> is required
> > functionality we should have a cleaner approach.
>
> My understanding is that the interceptor stack is supposed to
> be flexible enough to allow different calling methods (e.g.
> Remote IIOP, Remote JRMP, Local, etc.). Is this true? I mean
> is it necessary to "hack" client- or server-side interceptor stack?
>
Yes it is - but you would need to construct an interceptor stack and
invocation that indicates this is a web-service invocation rather than a
remote interface invocation. I think this is the right way to go, but
means that there needs to be a inflow interface between Axis/JST109 and
Geronimo.
The 'hack' I was referring to was some magic interceptor hooked into the
EJBObject stack that tweaked the regular invocation into a web-service
one. I think this is the wrong way to go.
There's no panic here - I just wanted to raise the issue that simple
invocation through the remote interface, as indicated in the wiki, may
not be the way to go.
--
jeremy