Uploaded image for project: 'Axis2'
  1. Axis2
  2. AXIS2-3555

Axis 2 SAAJ + java XPath expressions (javax.xml.xpath)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 1.3
    • None
    • saaj
    • None
    • jdk5

    Description

      Any attemp to use axis 2 with XPath expressions from javax.xml.xpath leads to an error like this:

      java.lang.ClassCastException: org.apache.axiom.om.impl.dom.DocumentImpl
      at org.apache.axis2.saaj.NodeImplEx.toSAAJNode2(NodeImplEx.java:260)
      at org.apache.axis2.saaj.NodeImplEx.toSAAJNode(NodeImplEx.java:181)
      at org.apache.axis2.saaj.SOAPElementImpl.getParentElement(SOAPElementImpl.java:723)
      at org.apache.axis2.saaj.SOAPElementImpl.getParentNode(SOAPElementImpl.java:778)
      at com.sun.org.apache.xml.internal.dtm.ref.DTMManagerDefault.getDTMHandleFromNode(DTMManagerDefault.java:534)
      at com.sun.org.apache.xpath.internal.XPathContext.getDTMHandleFromNode(XPathContext.java:154)
      at com.sun.org.apache.xpath.internal.XPath.execute(XPath.java:234)
      at com.sun.org.apache.xpath.internal.jaxp.XPathExpressionImpl.eval(XPathExpressionImpl.java:123)
      at com.sun.org.apache.xpath.internal.jaxp.XPathExpressionImpl.eval(XPathExpressionImpl.java:97)
      at com.sun.org.apache.xpath.internal.jaxp.XPathExpressionImpl.evaluate(XPathExpressionImpl.java:178)
      at com.sun.org.apache.xpath.internal.jaxp.XPathExpressionImpl.evaluate(XPathExpressionImpl.java:223)
      at Demo.test2(Demo.java:207)

      Sample you can try:
      message = MessageFactory.newInstance().createMessage();
      soapBody = message.getSOAPBody().addBodyElement(new QName("namespace", "root"));
      path = "name(.)";
      xp = XPathFactory.newInstance().newXPath().compile(path);
      System.out.println("|" + xp.evaluate(soapBody) + "|");

      If you think empty body may cause this, fill it: nothing will change. Of use not body, usual SOAPElement: all the same. No need to say, XPath works fine with java's native DOM.
      Thank you.

      Attachments

        1. AXIS2-3555-incomplete.patch.txt
          9 kB
          Andreas Veithen

        Activity

          People

            Unassigned Unassigned
            kit Nikita Rybak
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: