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.
