Uploaded image for project: 'SwitchYard'
  1. SwitchYard
  2. SWITCHYARD-2402

Switchyard XPath operation selector works differently on JBossFuse and EAP because of different XPath imlementations

    Details

      Description

      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

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  virchete David virgil naranjo
                  Reporter:
                  mbasovni Martin Basovnik
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  4 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: