> Actually, the BETTER way would be to make sure the needed
> information is saved as specific properties on the
> BindingOperationInfo (or OperationInfo) and not access the
> method at all.
Yep, makes sense.
Where are these property sets currently built up?
> How would a non-JAX-WS annotated endpoint configure the WS-A stuff?
Fair point, we can't rely on the
@WebService/WebMethod/{Request|Response}Wrapper annotations being set.
But do you mean that we also may not be able to fall-back on the
@javax.ws.addressing.Action annotation, or the <wsaw:Action> extension
element in the WSDL?
Are we likely to have a front-end that uses neither an SEI type approach
nor WSDL?
If so, we'll have to have some more generic way of controlling these
free parameters (similarly for <wsaw:UsingAddressing> element).
/Eoghan
> On Tuesday September 12 2006 11:03 am, Glynn, Eoghan wrote:
> > On a slightly related point, we actually already had at least three
> > different ways of accessing the Method in an interceptor.
> >
> > On the requestor side, the ClientImpl caches the Method via
> > Message.setContent(Method.class, ...) and the
> > EndpointInvocationHandler also sticks the Method in its context map
> > with key "java.lang.reflect.Method", and this is then
> copied into the
> > Exchange map (but not the message!) by the ClientImpl.
> >
> > On the responder side, its available via the BindingOperationInfo
> > property "java.lang.reflect.Method", as you say.
> >
> > Currently in the WS-A (non-SOAP) interceptor, I'm looking up
> > Message.getContent(Method.class), and falling back to the
> > BindingOperationInfo property if the former is not set. BTW
> the Method
> > is used in this case to access certain annotations that
> determine the
> > wsa:Action header.
> >
> > Probably makes more sense though to just ensure the
> > BindingOperationInfo property is set in ClientImpl, and
> then use this
> > as the single consistent way of accessing the Method,
> whether on the
> > requestor or responder sides. I make this change if there's
> no objection.
> >
> > /Eoghan
> >
> > > The BindingOperationInfo name should correspond to the
> rpc element
> > > name and the JaxWsServiceFactory should have already instantiated
> > > the operation with a Method. The invoker can then invoke
> the service
> > > by looking up the operation from the exchange. Also,
> there shouldn't
> > > be a need to look up the class as the Databinding is
> handling (see
> > > all the wrapped/bare interceptors for examples).
> > >
> > > Cheers,
> > > - Dan
> > >
> > > --
> > > Dan Diephouse
> > > Envoi Solutions
> > > http://envoisolutions.com
> > > http://netzooid.com/blog
>
> --
> J. Daniel Kulp
> Principal Engineer
> IONA
> P: 781-902-8727 C: 508-380-7194 F:781-902-8001
> [EMAIL PROTECTED]
>