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