Yeah, it's totally doable using servicemix-eip + any transformation (servicemix-saxon). The pipeline can be used if the exchange is InOnly. but if you have a reply, this usually means that the exchange will be an InOut, in which case you would use the eip static routing slip with the following targets: * the request transformer * the service to call * the response transformer This way, the canonical transformation can be done by the two transformers.
On Wed, Mar 26, 2008 at 4:55 PM, raulvk <[EMAIL PROTECTED]> wrote: > > Hi everyone, > > I would like to recover this question since it was not answered when > originally posted and I am encountering the same escenario. (as you can > see, > I have done my duty of checking for past posts ;)) > > I am using ServiceMix to expose services offered by heterogeneous > platforms > to consumers who interact with the ESB instead of invoking the final > services directly. > > However, the idea is to implement a Canonical Data Model, so that services > are agnostic of the interfaces of one another. Hence, when a consumer > invokes the ESB, it will do so in its Particular Data Model and the ESB > should transform the message into the Canonical Data Model. (could use the > pipeline pattern from servicemix-eip to achieve this). > > The call should then be routed to the final destination, where there would > be another transformer that understands CDM and transforms the message to > the format understood by the final system. > > If the service is synchronous, the same process should be repeated > backwards. > > My first question is wheter ServiceMix is suitable for such a scenario... > And if it is, how would I achieve it? > > Thanks a lot, > > Raul. > > > Peter Klotz-2 wrote: > > > > Hi, > > > > a question regarding transformers, it seems that when I have a component > > that > > implements TransformComponentSupport and send a InOut ME through this > > transformer only the request is received by the onMessageExchange() but > > not the > > response. > > > > The onMessageExchange() method is called twice, once normal and once > with > > status > > DONE. but both have as content of the in an out message the content of > the > > request. One never gets the response in the transformer. > > > > Now I need to have a transformer that does an action both on the request > > and the > > response of a InOut ME, how can I do this? > > > > req ---> +-------+ ----> +------+ > > | trans | | comp | > > resp <--- +-------+ <---- +------+ > > > > > > Thanks, Peter > > > > > > -- > View this message in context: > http://www.nabble.com/Transforming-request-and-response-tp5154324s12049p16304064.html > Sent from the ServiceMix - User mailing list archive at Nabble.com. > > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/
