You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Lior Wehrli (Created) (JIRA)" <ji...@apache.org> on 2012/03/16 16:35:37 UTC
[jira] [Created] (AXIS2-5271) NullPointerException when executing
XPath expression on DOM Tree in Provider
NullPointerException when executing XPath expression on DOM Tree in Provider<SOAPMessage>
-----------------------------------------------------------------------------------------
Key: AXIS2-5271
URL: https://issues.apache.org/jira/browse/AXIS2-5271
Project: Axis2
Issue Type: Bug
Components: jaxws
Affects Versions: 1.6.1
Environment: JBoss 5
Reporter: Lior Wehrli
Implementing a JAX-WS service using the Provider<SOAPMessage> interface, I would like to extract elements from the SOAP request using XPath. But when the XPathExpression is executed on the SOAPPart of the message, a NullPointerException is thrown. I assume that, since SOAPPart implements a DOM Document, this should work.
Here is an (abstracted) extract of my code:
{code}
public SOAPMessage invoke(SOAPMessage message) {
XPathFactory factory = XPathFactory.newInstance();
XPath xpathBuilder = factory.newXPath();
XPathExpression xpath = xpathBuilder.compile("//OnBehalfOf/UsernameToken/Username/text()");
Node node = (Node) xpath.evaluate(message.getSOAPPart(), XPathConstants.NODE);
}
{code}
The exception:
{noformat}
Caused by: javax.xml.transform.TransformerException: Unknown error in XPath.
at org.apache.xpath.XPath.execute(XPath.java:363)
at org.apache.xpath.XPath.execute(XPath.java:301)
at org.apache.xpath.jaxp.XPathExpressionImpl.eval(XPathExpressionImpl.java:123)
at org.apache.xpath.jaxp.XPathExpressionImpl.eval(XPathExpressionImpl.java:97)
at org.apache.xpath.jaxp.XPathExpressionImpl.evaluate(XPathExpressionImpl.java:178)
... 38 more
Caused by: java.lang.NullPointerException
at org.apache.xml.dtm.ref.dom2dtm.DOM2DTM.nextNode(DOM2DTM.java:387)
at org.apache.xml.dtm.ref.DTMDefaultBase._nextsib(DTMDefaultBase.java:563)
at org.apache.xml.dtm.ref.DTMDefaultBase.getNextSibling(DTMDefaultBase.java:1140)
at org.apache.xml.dtm.ref.DTMDefaultBaseTraversers$ChildTraverser.next(DTMDefaultBaseTraversers.java:461)
at org.apache.xpath.axes.AxesWalker.getNextNode(AxesWalker.java:333)
at org.apache.xpath.axes.AxesWalker.nextNode(AxesWalker.java:361)
at org.apache.xpath.axes.WalkingIterator.nextNode(WalkingIterator.java:192)
at org.apache.xpath.axes.NodeSequence.nextNode(NodeSequence.java:281)
at org.apache.xpath.axes.NodeSequence.runTo(NodeSequence.java:435)
at org.apache.xpath.axes.NodeSequence.setRoot(NodeSequence.java:218)
at org.apache.xpath.axes.LocPathIterator.execute(LocPathIterator.java:210)
at org.apache.xpath.XPath.execute(XPath.java:335)
{noformat}
Seen on Axis2 1.6.1 and JBoss 5
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org