My appologies. This is not a Xalan or Xerces problem, but a but in the Axis implemenation of SAAJ.
> -----Original Message----- > From: Mark D. Hansen [mailto:[EMAIL PROTECTED] > Sent: Tuesday, November 30, 2004 9:36 PM > To: XALAN-J-USERS (E-mail) > Subject: NPE from XSLT transformer based on a StreamSource > > > A Xalan TransformerImpl invoked from within Tomcat Servlet is > throwing a NPE. The Transformer is created using JAXP > factory from an XML String converted to a StreamSource. > Below, I have provided: > * code that defines the Xalan TransformerImpl > * code the throws the NPE > * org.apache.xalan.xslt.EnvironmentCheck output > * stack trace > > Any help would be very much appreciated! Thanks, Mark > > Here is the code that defines the Transformer that is giving > the NPE. As you can see, the XSLT is defined as a String - > not a file. > > // XSLT to format printing of raw XML - no spaces > public static final String XSLT_RAW = "<?xml version=\"1.0\" > encoding=\"UTF-8\"?><xsl:stylesheet > xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\" > version=\"1.0\"><xsl:output method=\"xml\" encoding=\"UTF-8\" > indent=\"no\"/><xsl:strip-space elements=\"*\"/><xsl:template > match=\"*\"><xsl:copy><xsl:copy-of > select=\"@*\"/><xsl:apply-templates/></xsl:copy></xsl:template > ></xsl:stylesheet>"; > TransformerFactory transFac = > TransformerFactory.newInstance(); > rawXformer = transFac.newTransformer > (new StreamSource(new ByteArrayInputStream(XSLT_RAW.getBytes()))); > > The following code throws the NPE: > > ByteArrayOutputStream out = new ByteArrayOutputStream(); > StreamResult res = new StreamResult(out); > try { > rawXformer.transform(new DOMSource(n), res); > } catch(TransformerException te) { .... > > Initially, I thought this might be a bug from an old version > of Xalan, but I have installed the latest. Here is the > output from org.apache.xalan.xslt.EnvironmentCheck: > > #---- BEGIN writeEnvironmentReport($Revision: 1.26 $): Useful > stuff found: ---- > version.DOM.draftlevel=2.0fd > java.class.path=/usr/share/non-apt/jdk/lib/tools.jar:/usr/shar e/java/tomcat/bin/bootstrap.jar:/usr/share/java/tomcat/bin/commons-logging-api.jar > version.JAXP=1.1 or higher > java.ext.dirs=/usr/share/non-apt/j2sdk1.4.2_05/jre/lib/ext > #---- BEGIN Listing XML-related jars in: > foundclasses.sun.boot.class.path ---- > xalan.jar-path=/usr/share/java/tomcat/common/endorsed/xalan.jar > xercesImpl.jar-apparent.version=xercesImpl.jar from Xerces-J-bin.2.6.2 > xercesImpl.jar-path=/usr/share/java/tomcat/common/endorsed/xer > cesImpl.jar > xml-apis.jar-apparent.version=xml-apis.jar from > tck-jaxp-1_2_0 branch of xml-commons, tag: xml-commons-external_1_2_01 > xml-apis.jar-path=/usr/share/java/tomcat/common/endorsed/xml-apis.jar > xsltc.jar-apparent.version=xsltc.jar present-unknown-version > xsltc.jar-path=/usr/share/java/tomcat/common/endorsed/xsltc.jar > #----- END Listing XML-related jars in: > foundclasses.sun.boot.class.path ----- > version.xerces2=Xerces-J 2.6.2 > version.xerces1=not-present > version.xalan2_2=Xalan Java 2.6.0 > version.xalan1=not-present > version.ant=Apache Ant version 1.6.1 compiled on February 12 2004 > java.version=1.4.2_05 > version.DOM=2.0 > version.crimson=present-unknown-version > sun.boot.class.path=/usr/share/java/tomcat/common/endorsed/xal > an.jar:/usr/share/java/tomcat/common/endorsed/xercesImpl.jar:/ > usr/share/java/tomcat/common/endorsed/xml-apis.jar:/usr/share/ java/tomcat/common/endorsed/xsltc.jar:/usr/share/non-apt/j2sdk1.4.2_05/jre/lib/rt.jar:/usr/share/non-> apt/j2sdk1.4.2_05/jre/lib/i18n.jar:/usr/share/non-apt/j2sdk1.4 > .2_05/jre/lib/sunrsasign.jar:/usr/share/non-apt/j2sdk1.4.2_05/ > jre/lib/jsse.jar:/usr/share/non-apt/j2sdk1.4.2_05/jre/lib/jce. > jar:/usr/share/non-apt/j2sdk1.4.2_05/jre/lib/charsets.jar:/usr > /share/non-apt/j2sdk1.4.2_05/jre/classes > version.SAX=2.0 > version.xalan2x=Xalan Java 2.6.0 > #----- END writeEnvironmentReport: Useful properties found: ----- > # YAHOO! Your environment seems to be OK. > > > Lastly, this is the stack trace from the NPE: > > [http-8080-Processor25] ERROR com.javector.util.XMLUtil ; > Line#: 1; Column#: 286 > javax.xml.transform.TransformerException: > java.lang.NullPointerException > at > org.apache.xalan.transformer.TransformerImpl.executeChildTempl > ates(TransformerImpl.java:2341) > at > org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:115) > at > org.apache.xalan.templates.ElemApplyTemplates.transformSelecte > dNodes(ElemApplyTemplates.java:395) > at > org.apache.xalan.templates.ElemApplyTemplates.execute(ElemAppl > yTemplates.java:177) > at > org.apache.xalan.transformer.TransformerImpl.executeChildTempl > ates(TransformerImpl.java:2336) > at > org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:115) > at > org.apache.xalan.templates.ElemApplyTemplates.transformSelecte > dNodes(ElemApplyTemplates.java:395) > at > org.apache.xalan.templates.ElemApplyTemplates.execute(ElemAppl > yTemplates.java:177) > at > org.apache.xalan.transformer.TransformerImpl.executeChildTempl > ates(TransformerImpl.java:2336) > at > org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:115) > at > org.apache.xalan.transformer.TransformerImpl.executeChildTempl > ates(TransformerImpl.java:2336) > at > org.apache.xalan.transformer.TransformerImpl.applyTemplateToNo > de(TransformerImpl.java:2202) > at > org.apache.xalan.transformer.TransformerImpl.transformNode(Tra > nsformerImpl.java:1276) > at > org.apache.xalan.transformer.TransformerImpl.transform(Transfo > rmerImpl.java:673) > at > org.apache.xalan.transformer.TransformerImpl.transform(Transfo > rmerImpl.java:1192) > at > org.apache.xalan.transformer.TransformerImpl.transform(Transfo > rmerImpl.java:1170) > at com.javector.util.XMLUtil.domToString(XMLUtil.java:125) > at com.javector.util.XMLUtil.domToString(XMLUtil.java:137) > at > samples.chap5.oneway.PrintMessage.processMessage(PrintMessage.java:59) > at > com.javector.ws.jaxrpc.JAXRPCOneWayService.unmarshalAndProcess > (JAXRPCOneWayService.java:98) > at > com.javector.ws.jaxrpc.axis.AxisOneWayService.onMessage(AxisOn > eWayService.java:90) > at > com.javector.ws.jaxrpc.axis.oneway.PrintMessageSOAPBindingSkel > eton.onMessage(PrintMessageSOAPBindingSkeleton.java:66) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess > orImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth > odAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:324) > at > org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCPro > vider.java:384) > at > org.apache.axis.providers.java.RPCProvider.processMessage(RPCP > rovider.java:281) > at > org.apache.axis.providers.java.JavaProvider.invoke(JavaProvide > r.java:319) > at > org.apache.axis.strategies.InvocationStrategy.visit(Invocation > Strategy.java:32) > at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) > at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) > at > org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:450) > at org.apache.axis.server.AxisServer.invoke(AxisServer.java:285) > at > org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet. > java:653) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) > at > org.apache.axis.transport.http.AxisServletBase.service(AxisSer > vletBase.java:301) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt > er(ApplicationFilterChain.java:237) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli > cationFilterChain.java:157) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardW > rapperValve.java:214) > at > org.apache.catalina.core.StandardValveContext.invokeNext(Stand > ardValveContext.java:104) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipel > ine.java:520) > at > org.apache.catalina.core.StandardContextValve.invokeInternal(S > tandardContextValve.java:198) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardC > ontextValve.java:152) > at > org.apache.catalina.core.StandardValveContext.invokeNext(Stand > ardValveContext.java:104) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipel > ine.java:520) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHost > Valve.java:137) > at > org.apache.catalina.core.StandardValveContext.invokeNext(Stand > ardValveContext.java:104) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport > Valve.java:117) > at > org.apache.catalina.core.StandardValveContext.invokeNext(Stand > ardValveContext.java:102) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipel > ine.java:520) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEn > gineValve.java:109) > at > org.apache.catalina.core.StandardValveContext.invokeNext(Stand > ardValveContext.java:104) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipel > ine.java:520) > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) > at > org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter. > java:160) > at > org.apache.coyote.http11.Http11Processor.process(Http11Process > or.java:799) > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle > r.processConnection(Http11Protocol.java:705) > at > org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoi > nt.java:577) > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run( > ThreadPool.java:683) > at java.lang.Thread.run(Thread.java:534) > 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:565) > at > org.apache.xml.dtm.ref.DTMDefaultBase.getNextSibling(DTMDefaul > tBase.java:1142) > at > org.apache.xpath.axes.ChildIterator.nextNode(ChildIterator.java:84) > at > org.apache.xpath.axes.NodeSequence.nextNode(NodeSequence.java:280) > at > org.apache.xalan.templates.ElemApplyTemplates.transformSelecte > dNodes(ElemApplyTemplates.java:280) > at > org.apache.xalan.templates.ElemApplyTemplates.execute(ElemAppl > yTemplates.java:177) > at > org.apache.xalan.transformer.TransformerImpl.executeChildTempl > ates(TransformerImpl.java:2336) > ... 61 more >
<<winmail.dat>>
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]