According to the XPath specification, we have to use XPath with prefixes to search elements with namespaces.
Example: The XPath expression //person/name should NOT match any element in the following example but in some XPath implementations it does.
<person xmlns="xxx">
<name>Martin</name>
</person>
JBoss EAP (6.3.0.GA) XPathFactory.newInstance() =>_redirected._XPathFactory But internally is used default JDK XPathFactory implementation => org.apache.xpath.jaxp.XPathFactoryImpl. This implementation does NOT work properly.
JBoss Fuse (jboss-fuse-6.1.0.redhat-379) XPathFactory.newInstance() =>net.sf.saxon.xpath.XPathFactoryImpl This implementation does works properly.
Switchyard XPath operation selector works differently on both containers.
https://github.com/jboss-switchyard/components/blob/2.0.0.Alpha3/common/common/src/main/java/org/switchyard/component/common/selector/BaseOperationSelector.java
Some quickstarts are affected e.g. jca-inflow-activemq https://github.com/jboss-switchyard/quickstarts/blob/2.0.0.Alpha3/jca-inflow-activemq/src/main/resources/META-INF/switchyard.xml#L22 https://github.com/jboss-switchyard/quickstarts/blob/2.0.0.Alpha3/jca-inflow-activemq/src/test/java/org/switchyard/quickstarts/jca/inflow/JCAInflowBindingTest.java#L124
|