Hi Aki, please see below.

> -----Ursprüngliche Nachricht-----
> Von: Aki Yoshida [mailto:elak...@gmail.com]
> Gesendet: Donnerstag, 22. Januar 2015 22:04
> An: users@camel.apache.org
> Betreff: Re: Camel-CXF: Problems transforming namespace of incoming
> message
> 
> 2015-01-22 10:07 GMT+01:00 Dirk Lattermann - expertplace
> <dirk.latterm...@expertplace.de>:
> > Hi Aki,
> >
> > it was not working initially because I tried to use the WSDL for
> namespace A. CXF could not process the message because it was
> transformed to namespace B too early.
> 
> okay. That means, it didn't even get to the out chain. The

I'm confused here. I was talking about the processing of the incoming request. 
The out chain is responsible for the response?
But yes, you're right, the CXF component cannot produce a Camel message in this 
case, because from its perspective, the message is in namespace B, not A. 

> transformation occurs while reading the data for the inbound and while
> writing the data for the outbound. So if you have mapping A->B at the
> inbound and B->A at the outbound, the logical interface is B and hence
> the endpoint needs to be configured with WSDL.

Yes, I understand that now. I was wondering if the transformation can be placed 
later in the chain to enable configuring the WSDL for namespace A, but I doubt 
it is possible.


> 
> >
> > For the second point, the situation is like this:
> >
> > we have old clients and old services that exchanged messages in
> namespace A. Now, for some reason beyond our influence, the web service
> has to change the namespace to B, and our routing should make this
> change transparent to the old clients (as well as support new clients
> that use the new namespace B). We don't know if some of the old clients
> depend on the old A WSDL in the standard place ".../service?wsdl"
> instead of using a local version -- in other projects, I have seen
> clients that do. So, to be on the safe side, we'd like to provide the
> old namespace WSDL for the service.
> 
> But how can this be feasible when you are using the same endpoint and
> the same WSDL query? How do you decide which WSDL to return?

I'm offering two endpoints: one for namespace B without mapping and one for 
namespace A with mapping which forwards its processing to the namespace B 
endpoint. Right now, the forwarding even happens over the net, leaving the 
camel route; I have to refactor that to have both endpoints routed to the same 
subroute.

Dirk

Reply via email to