Your asynchronous messaging seems safe to assume. I understand better with your 
new explanation. I think, as gert said, that you will have to wrap, unwrap 
yourself with a saxon component then. However, in your specific case, you only 
have to do that once.

I am not very experienced yet about servicemix, but in the use case I 
implemented, the SOAP wrapping was done by the CXF-BC component. I had no time 
to finish my most complex use case (SOAP input call, dispatched on 2 SOAP 
output calls) yet because I am currently working on something else. So now you 
got gert to help you, I am leaving it to him, he knows better!

Regards
Vivian


-----Message d'origine-----
De : ObjectOrange [mailto:[email protected]] 
Envoyé : mardi 28 juillet 2009 15:55
À : [email protected]
Objet : Re: Wrapped Document Services Routing


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-tp24686738p24
>> 686738.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