Hi Eoghan,
I'm a bit concerned about having to set this on the HTTPConduit (or its
configuration). This seems to force the user to always be involved in
setting up the  decoupled endpoint as there is no standard way across
transports to set up the decoupled channel.

Lets say I embed CXF in another product and I need to configure via the API
the ReplyTo EPR for sequence acknowledgements. Now my product needs to be
aware of each and every transport that supports decoupling and how to set up
the decoupled response channel. i.e.
HTTPClientPolicy.setDecoupledEndpoint(...);
on each transport.

Couldn't we make a generic way for people to specify the ReplyTo EPR and let
CXF take care of the rest? By "the rest" I mean that CXF would set up the
decoupled response listener with just the knowledge of my EPR. Or am I
missing something here?

- Dan

On 2/27/07, Glynn, Eoghan <[EMAIL PROTECTED]> wrote:


Dan,

Have a look at the ws_addressing demo, specifically the explicit
propogation model.

Here the JAX-WS request context is used to associate a specific
AddressingProperties instance with the invocation, in this case to use a
particular message ID.

Note however that setting the replyTo to a specific EPR won't cause the
HTTP transport to start listening for decoupled responses on this URI.
We've discussed this before on this list, and as you know the decoupled
response endpoint is currently sepcified as part of the HTTPConduit
config.

Also as DanK points, the JAX-WS 2.1 subsumes JAX-WSA and provides a
bunch of convenience APIs for WS-A, including a
javax.xml.ws.EndpointReference type with a less ugly API than the JAXB
generated type that you're complaining about. Instances of this type may
be created via BindingProvider.getEndpointReference() and then used for
example to retrieve a proxy via Service.getPort(EndpointReference epr,
...).

Cheers,
Eoghan

> -----Original Message-----
> From: Dan Diephouse [mailto:[EMAIL PROTECTED]
> Sent: 27 February 2007 16:06
> To: [email protected]
> Subject: Client API, EPRs
>
> Hi All,
>
> Is there a way to use WS-Adressing from the Client API?
> Specifically I'd like to be able to set the replyTo/faultTo
> locations somehow for the Client itself and then also on the
> invocation context:
>
> client.setReplyTo(new EndpointReference(" http://foo/replyTo";));
>
> Or:
>
> Map<String, Object> context = ...;
> context.put(REPLY_TO, epr);
> client.invoke(operation, args, context);
>
> This brings up the question in my mind of whether or not we
> really want to use EndpointReferenceType throughout the
> codebase. I'm uncomfortable with the way things stand as
> - EndpointRefenceType has an ugly API. It is not easy to
> create an EPR from a String/URL and I think it should be
> doable via a constructor. (Yeah, we can create factories, but
> thats ugly and it still doesn't make retrieving values friendlier).
> - We seem to have an odd mixture of EndpointReferenceTypes
> and EndointInfos going on in our transport interfaces. On
> some methods we require both. It seems like it should be
> either one or the other.
> - WIth that said, using an EndpointInfo is odd to me as thats
> part of the service model. Using an EPR seems unnatural for
> reasons I state above.
>
> Whats the advantage of using EndpointReferenceType throughout
> the codebase as opposed to our own class?
>
> Regards,
> - Dan
> --
> Dan Diephouse
> Envoi Solutions
> http://envoisolutions.com | http://netzooid.com/blog
>




--
Dan Diephouse
Envoi Solutions
http://envoisolutions.com | http://netzooid.com/blog

Reply via email to