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/

Reply via email to