Thanks Gert,

So, I could drop the <Save> element from the <Document> that the File BC
picks up, specify Save as the operation on the JSR181 service in the
Pipeline EIP <Exchange-Target>, add a route to a Saxon XSLT endpoint to
strip the resulting <SaveResponse> returned from the JSR181 service? That
sounds like it would work but am I going to have to strip every response
from every service call like this? The sounds like something infrastructure
should take into consideration in the EIP SE, no? Say, if an operation (e.g.
Save) is specified in the <Exchange-Target> and the first element returned
in an In-Out MEP has the operation name in it (e.g. <SaveResponse>) then
remove it?

Respectfully,
Brian


Gert Vanthienen wrote:
> 
> Brian,
> 
> One way to handle this would be by adding a Saxon XSLT endpont to the
> pipeline to translate the XML message payloads in between webservice
> invocations.  The other solution would be to only send the plain
> payload (<Document/>) in the ESB and specify an operation name on the
> <eip:exchange-target/>, so the JSR181/CXF endpoint knows what
> operation to invoke.
> 
> Regards,
> 
> Gert Vanthienen
> ------------------------
> Open Source SOA: http://fusesource.com
> Blog: http://gertvanthienen.blogspot.com/
> 
> 
> 
> 2009/7/27 ObjectOrange <[email protected]>:
>>
>> Hi,
>>
>> I'm having difficulties understanding how ServiceMix-EIP routes an XML
>> document from one service to another when using wrapped documents to
>> determine service operations.
>>
>> For example, an XML document (<Save><Document/></Save>) is picked up by
>> the
>> File BC and forwarded to an EIP Pipeline route service. That service
>> routes
>> this document to a data service deployed in the JSR181 SE which is
>> configured as a JSR181/JAXB2 service with Save as its operation and
>> Document
>> as its input parameter type. When that service persists to the database,
>> it
>> returns a <SaveResponse><Document></SaveResponse>. This all is working
>> fine
>> to this point and is where I'm getting stuck. The next service is an
>> external HTTP service (Intalio BPM) that requires a <Document> payload
>> and
>> SOAP action to be set. The EIP Pipeline Routing service is attempting to
>> call that service with the output from the data service call using the
>> <SaveResponse> as an operation wrapper around it as such:
>> <SaveResponse><Document></SaveResponse>. Is the EIP supposed to unwrap
>> this
>> response and wrap it again with the operation required by the next
>> service
>> or none if that service doesn't use wrapped documents?
>>
>> Respectively,
>> Brian
>> --
>> View this message in context:
>> http://www.nabble.com/Wrapped-Document-Services-Routing-tp24686738p24686738.html
>> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>>
>>
> 
> 
> -----
> ---
> Gert Vanthienen
> http://gertvanthienen.blogspot.com
> 

-- 
View this message in context: 
http://www.nabble.com/Wrapped-Document-Services-Routing-tp24686738p24698096.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to