We have a Web Services Notification application that uses Xalan 2.7.0
(including xml-apis-1.3.03.jar, although I have also tried
xml-apis-1.3.04.jar). The application contains the following code:
public boolean accepts(NotificationMessage message) {
Document doc = XmlUtils.createDocument();
logger.debug("doc = " + doc);
Element messageXML = message.toXML(doc);
ogger.debug("messageXML = " + messageXML);
doc.appendChild(messageXML);
logger.debug("appended doc = " + doc);
XPathFactory factory = XPathFactory.newInstance();
XPath xpath = factory.newXPath();
CompositeNamespaceContext namespaceContext = new
CompositeNamespaceContext();
namespaceContext.addNamespaceContext(new ExtensionNamespaceContext());
namespaceContext.addNamespaceContext(new SnaNamespaceContext());
xpath.setNamespaceContext(namespaceContext);
xpath.setXPathFunctionResolver(new XPathFunctionResolverImpl());
try {
boolean result = ((Boolean)xpath.evaluate(this._pattern, doc,
XPathConstants.BOOLEAN)).booleanValue();
logger.debug("result = " + result);
return result;
}
catch (Exception error) {
error.printStackTrace();
return false;
}
}
This code works fine in the Eclipse debugger (version 3.2.2 with JDK build
1.6.0-b105) using the Maven 2 dependencies plugin. However, when we perform
a Maven build and deploy to Tomcat (version 5.5.20), we get the following
exception when XPathFactory.newInstance() is executed (bold line above):
java.lang.NullPointerException
at
javax.xml.xpath.XPathFactoryFinder._newFactory(XPathFactoryFinder.java:222)
at
javax.xml.xpath.XPathFactoryFinder.newFactory(XPathFactoryFinder.java:143)
at javax.xml.xpath.XPathFactory.newInstance(XPathFactory.java:185)
at javax.xml.xpath.XPathFactory.newInstance(XPathFactory.java:99)
at
com.myorg.myapp.ws.notification.impl.ExtnMessagePatternFilter.accepts(ExtnMessagePatternFilter.java:69)
at
org.apache.muse.ws.notification.impl.FilterCollection.accepts(FilterCollection.java:64)
at
com.myorg.myapp.ws.notification.impl.BufferedSubscriptionManager.publish(BufferedSubscriptionManager.java:73)
at
com.myorg.myapp.ws.notification.impl.NewsNotificationProducer.publish(NewsNotificationProducer.java:38)
at
org.apache.muse.ws.notification.impl.SimpleNotificationProducer.publish(SimpleNotificationProducer.java:420)
at com.myorg.myapp.ws.handler.DDSHandler.run(DDSHandler.java:304)
at
com.myorg.commons.util.reactor.ReactorAdapter.run(ReactorAdapter.java:19)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Any ideas what might be going wrong?
-David
--
View this message in context:
http://www.nabble.com/XPathFactory.newInstance%28%29-throwing-NullPointerException-tf4243595.html#a12075612
Sent from the Xalan - J - Users mailing list archive at Nabble.com.