I try to run quickstart transform-xslt demo project, it works well. I want to add content-based router based on the value of a element or attribute in the soap messaage after XSLT transformation. The destinations of the content-based router will be different web services located in the different JBoss application servers. Anyone who knows how to config the switchyard.xml file or which quickstart demo project may do this kind of the function, let me know please! Thank you in advance.
to implement this function, the previous JBoss SOA may set the following configuration in JBoss-esb.xml file.
<action class="org.jboss.soa.esb.actions.ContentBasedRouter" name="ContentBasedRouter">
<property name="cbrAlias" value="XPath"/>
<namespace prefix="soapenv" uri="http://schemas.xmlsoap.org/soap/envelope"/>
<namespace prefix="hel" uri="http://jboss.org/ws/helloworld"/>
<route-to service-category="Proxy_Basic1" service-name="Proxy1" expression="//arg0[@id='1']"/>
<route-to service-category="Proxy_Basic2" service-name="Proxy2" expression="//arg0[@id='2']"/>
Transformers should focus solely on transforming data and they should not be concerned with routing. If you want to route based on the content of the message, you should add a Camel routing service to your application. We don't have a quickstart for this yet, but I think it would be a good idea to add one. Would you mind filing a JIRA (https://issues.jboss.org/browse/SWITCHYARD) requesting this feature? I will put it on the schedule for our current release (0.4).
Thanks, Alan. We will get this done by the end of 0.4. I'm assuming this is related to the application in the other forum thread about proxying. If so, you already have a Camel route in that application. The next step would be to expand the Camel route by adding <choice> and <when> to configure your content-based routing rules. The CBR page on the Camel site has an example of what that should look like. Just in case you wanted to get a head start before we can add a specific quickstart.