Transformation doesn't work when a component uses camel routing
ibek Nov 8, 2012 4:55 AMHi,
I'm not able to do xslt transformation of soap messages in switchyard when the soap message is routed. I think that any other transformation wouldn't work either. When I use camel's transformation (<to uri="xslt:orderReq_To_productOrderReq.xslt"/>), it works ... but I really would like to use the switchyard transformations. I'm no sure if it's a bug or I do something wrong or it's not possible yet.
This is my working switchyard.xml with camel's transformations but if I remove them, the soap messages aren't transformed through switchyard:
<switchyard xmlns="urn:switchyard-config:switchyard:1.0" xmlns:soap="urn:switchyard-component-soap:config:1.0" xmlns:camel="urn:switchyard-component-camel:config:1.0"> <composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" name="transform_xslt_bpel" targetNamespace="urn:switchyard-soa:transform_xslt_bpel:0.1.0"> <service name="GenericOrder" promote="GenericOrder"> <interface.wsdl interface="GenericOrderArtifacts.wsdl#wsdl.porttype(GenericOrderService)"/> <soap:binding.soap> <soap:wsdl>GenericOrderArtifacts.wsdl</soap:wsdl> <soap:socketAddr>:18001</soap:socketAddr> <soap:contextPath>GenericOrder</soap:contextPath> </soap:binding.soap> </service> <reference multiplicity="1..1" name="ProductOrderServiceRef" promote="ProductOrderService"> <soap:binding.soap> <soap:wsdl>ProductOrderArtifacts.wsdl</soap:wsdl> </soap:binding.soap> </reference> <component name="GenericOrder"> <camel:implementation.camel> <route xmlns="http://camel.apache.org/schema/spring"> <from uri="switchyard://GenericOrder"/> <to uri="xslt:orderReq_To_productOrderReq.xslt"/> <to uri="switchyard://ProductOrderServiceRef"/> <to uri="xslt:productOrderResp_To_orderResp.xslt"/> </route> </camel:implementation.camel> <reference name="ProductOrderServiceRef"> <interface.wsdl interface="ProductOrderArtifacts.wsdl#wsdl.porttype(ProductOrderService)"/> </reference> <service name="GenericOrder"> <interface.wsdl interface="GenericOrderArtifacts.wsdl#wsdl.porttype(GenericOrderService)"/> </service> </component> </composite> <transforms> <transform.xslt xmlns="urn:switchyard-config:transform:1.0" from="{http://www.jboss.org/bpel/examples}orderReq" to="{http://www.jboss.org/bpel/examples/product}productOrderReq" xsltFile="orderReq_To_productOrderReq.xslt"/> <transform.xslt xmlns="urn:switchyard-config:transform:1.0" from="{http://www.jboss.org/bpel/examples/product}productOrderResp" to="{http://www.jboss.org/bpel/examples}orderResp" xsltFile="productOrderResp_To_orderResp.xslt"/> </transforms> </switchyard>
Thanks, Ivo