NullPointerException in DocumentBuilderFactoryImpl
--------------------------------------------------

                 Key: WSCOMMONS-210
                 URL: https://issues.apache.org/jira/browse/WSCOMMONS-210
             Project: WS-Commons
          Issue Type: Bug
          Components: AXIOM
         Environment: Axiom 1.2, Axis2 1.1, JRE 1.4.2, Tomcat 4.1.30
            Reporter: Johan Roch



We have a webapp with some Axis2 clients. Axis2 uses Axiom to handle xml. 
Other parts of the application parse some XML documents. 
After some time, our webapp starts to use the Axiom DocumentBuilderFactory 
everywhere(instead of Xerces) and we get some NullPointerException each 
time in Axiom:

Example with JasperReport:

        StackTrace on java.lang.NullPointerException
                
org.apache.axiom.om.impl.dom.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(DocumentBuilderFactoryImpl.java:73)
 
                
net.sf.jasperreports.engine.util.JRStyledTextParser.<init>(JRStyledTextParser.java:115)
  
                
net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:157)
                
net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:92)
                
net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:74)

                        // Prepare the parameters for jasper
                        logger.trace("prepare the parameters for jasper 
report");                       
                        Map parameterMap = new HashMap();
            parameterMap.put(JRParameter.REPORT_LOCALE, new 
Locale(this.templateContext.getUserLanguage()));
                        
parameterMap.put(JRXPathQueryExecuterFactory.PARAMETER_XML_DATA_DOCUMENT, 
reportDataSource);
                        // Prepare and open the streams
                        reportStream = 
TemplateMessageReporter.class.getClassLoader().getResourceAsStream("TemplateMessages.jasper");
            outputStream = new FileOutputStream(getReportFilename());
            // Run the report
            logger.trace("run jasper report");      
            JasperRunManager.runReportToPdfStream(reportStream, 
outputStream,parameterMap);

... another one:

        Caused by: java.lang.NullPointerException
                at 
org.apache.axiom.om.impl.dom.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(DocumentBuilderFactoryImpl.java:73)
  
                at 
com.notary.util.signature.impl.AbstractVerifierImpl.getDocBuilder(AbstractVerifierImpl.java:116)
  
                at 
com.notary.util.signature.impl.iaik.XadesVerifierImpl.verifySignature(XadesVerifierImpl.java:119)
                ... 55 more



***********************************
* Debugging Detail - JasperReport *
***********************************

Code:
-----

// Prepare the parameters for jasper
logger.trace("prepare the parameters for jasper report");                       
Map parameterMap = new HashMap();
parameterMap.put(JRParameter.REPORT_LOCALE, new 
Locale(this.templateContext.getUserLanguage()));
parameterMap.put(JRXPathQueryExecuterFactory.PARAMETER_XML_DATA_DOCUMENT, 
reportDataSource);
// Prepare and open the streams
reportStream = 
TemplateMessageReporter.class.getClassLoader().getResourceAsStream("TemplateMessages.jasper");
outputStream = new FileOutputStream(getReportFilename());
// Run the report
logger.trace("run jasper report");          
JasperRunManager.runReportToPdfStream(reportStream, outputStream,parameterMap);


** WORKING CASE **

enotary-kbo.log
---------------
2007-06-21 17:16:08,668 [http8082-Processor12] DEBUG 
[JAASContextDispatcherServlet] - doService
2007-06-21 17:16:08,668 [http8082-Processor12] DEBUG 
[JAASContextDispatcherServlet] - Authentication succeed for logon ID = VANBEL00
2007-06-21 17:16:08,668 [http8082-Processor12] DEBUG 
[JAASContextDispatcherServlet] - Current session was associated to logon ID = 
VANBEL00
2007-06-21 17:16:08,668 [http8082-Processor12] DEBUG [DispatcherServlet] - 
DispatcherServlet with name 'enotary-kbo-web' received request for 
[/enotary-kbo-web/createExpedition.ctrl]
2007-06-21 17:16:10,778 [http8082-Processor12] DEBUG [DispatcherServlet] - 
Testing handler map [EMAIL PROTECTED] in DispatcherServlet with name 
'enotary-kbo-web'
2007-06-21 17:16:10,778 [http8082-Processor12] DEBUG [DispatcherServlet] - 
Testing handler adapter [EMAIL PROTECTED]
2007-06-21 17:16:10,778 [http8082-Processor12] DEBUG [PersonImpl] - dispatching 
allRoles...
2007-06-21 17:16:10,793 [http8082-Processor12] DEBUG [PersonImpl] - allRoles 
dispateched currentRoles : 1 oldRoles : 0
2007-06-21 17:16:11,340 [http8082-Processor12] DEBUG [SimpleFormController] - 
No errors -> processing submit
2007-06-21 17:16:18,653 [http8082-Processor12] DEBUG [DispatcherServlet] - 
Rendering view [org.springframework.web.servlet.view.InternalResourceView: 
unnamed; URL [documents.ctrl]] in DispatcherServlet with name 'enotary-kbo-web'


enotary-document.log
--------------------
2007-06-21 
17:16:11,465|http8082-Processor12|DEBUG|DocumentManagerImpl.generateDraftDocument#152
 : initialize a new template context
2007-06-21 
17:16:11,465|http8082-Processor12|DEBUG|TemplateBase.loadXmlDocument#259 : load 
xml document in memory
2007-06-21 
17:16:11,465|http8082-Processor12|DEBUG|TemplateBase.loadXmlDocument#260 : 
document : file:///e:/enotary-kbo-files-FA/doc
...
2007-06-21 
17:16:18,497|http8082-Processor12|DEBUG|TemplateMessageReporterImpl.report#87 : 
report error/warning messages
2007-06-21 
17:16:18,497|http8082-Processor12|DEBUG|TemplateMessageReporterImpl.report#88 : 
report folder : E:/e-notary-documents/Output
2007-06-21 
17:16:18,497|http8082-Processor12|DEBUG|TemplateMessageReporterImpl.report#98 : 
report filename : 
E:/e-notary-documents/Output/015_133553-070621-001_20070621171611_errors.pdf
2007-06-21 
17:16:18,497|http8082-Processor12|DEBUG|TemplateMessageReporterImpl.report#99 : 
#template errors : 0
2007-06-21 
17:16:18,497|http8082-Processor12|DEBUG|TemplateMessageReporterImpl.report#100 
: #template warnings : 1
2007-06-21 
17:16:18,497|http8082-Processor12|DEBUG|TemplateMessageReporterImpl.report#109 
: generate xml elements for error messages
2007-06-21 
17:16:18,497|http8082-Processor12|DEBUG|TemplateMessageReporterImpl.report#123 
: generate xml elements for warning messages
2007-06-21 
17:16:18,497|http8082-Processor12|DEBUG|TemplateMessageReporterImpl.report#138 
: prepare the parameters for jasper report
2007-06-21 
17:16:18,497|http8082-Processor12|DEBUG|TemplateMessageReporterImpl.report#146 
: run jasper report
2007-06-21 
17:16:18,512|http8082-Processor12|DEBUG|DocumentManagerImpl.generateDraftDocument#194
 : returns the errors/warnings generated during the process




** ERROR CASE(same user a few minutes later) **

enotary-kbo.log
---------------
2007-06-21 17:25:21,622 [http8082-Processor16] DEBUG 
[JAASContextDispatcherServlet] - doService
2007-06-21 17:25:21,637 [http8082-Processor16] DEBUG 
[JAASContextDispatcherServlet] - Authentication succeed for logon ID = VANBEL00
2007-06-21 17:25:21,637 [http8082-Processor16] DEBUG 
[JAASContextDispatcherServlet] - Current session was associated to logon ID = 
VANBEL00
2007-06-21 17:25:21,637 [http8082-Processor16] DEBUG [DispatcherServlet] - 
DispatcherServlet with name 'enotary-kbo-web' received request for 
[/enotary-kbo-web/createExpedition.ctrl]
2007-06-21 17:25:23,731 [http8082-Processor16] DEBUG [DispatcherServlet] - 
Testing handler map [EMAIL PROTECTED] in DispatcherServlet with name 
'enotary-kbo-web'
2007-06-21 17:25:23,731 [http8082-Processor16] DEBUG [DispatcherServlet] - 
Testing handler adapter [EMAIL PROTECTED]
2007-06-21 17:25:23,731 [http8082-Processor16] DEBUG [PersonImpl] - dispatching 
allRoles...
2007-06-21 17:25:23,731 [http8082-Processor16] DEBUG [PersonImpl] - allRoles 
dispateched currentRoles : 1 oldRoles : 0
2007-06-21 17:25:24,278 [http8082-Processor16] DEBUG [SimpleFormController] - 
No errors -> processing submit
2007-06-21 17:25:29,059 [http8082-Processor16] DEBUG [DispatcherServlet] - 
Handler execution resulted in exception - forwarding to resolved error view: 
ModelAndView: reference to view with name 
'com.notary.app.compact.web.jsp.TechnicalException'; model is {exception=

APPLICATION EXCEPTION - #1182439529059

...
        Errors = []
        Warnings = [De waarde van de tag  [zetel_bus] is leeg.]
        DraftDocument = true
        ProcessingTimeStamp = Thu Jun 21 17:25:24 CEST 2007
        TemplateContextStatus = Warning
        FolderId = 133553-070621-001
        TemplateByteArray = [EMAIL PROTECTED]

        java.lang.NullPointerException - null
        by 
org.apache.axiom.om.impl.dom.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(DocumentBuilderFactoryImpl.java:73)

        StackTrace on java.lang.NullPointerException
                
org.apache.axiom.om.impl.dom.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(DocumentBuilderFactoryImpl.java:73)
                
net.sf.jasperreports.engine.util.JRStyledTextParser.<init>(JRStyledTextParser.java:115)
                
net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:157)
                
net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:92)
                
net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:74)
                
net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:147)
                
net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:119)
                
net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:420)
                
net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:383)
                
net.sf.jasperreports.engine.JasperRunManager.runReportToPdfStream(JasperRunManager.java:186)
                
com.notary.documents.template.TemplateMessageReporterImpl.report(TemplateMessageReporterImpl.java:147)
                
com.notary.documents.service.impl.DocumentManagerImpl.generateDraftDocument(DocumentManagerImpl.java:191)
                
com.notary.app.compact.prsuc.web.ctrl.CreateExpeditionCtrl.handleUpload(CreateExpeditionCtrl.java:144)
                
com.notary.app.compact.prsuc.web.ctrl.CreateExpeditionCtrl.onSubmit(CreateExpeditionCtrl.java:96)
                
org.springframework.web.servlet.mvc.SimpleFormController.processFormSubmission(SimpleFormController.java:258)
                
org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInternal(AbstractFormController.java:249)
                
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
                
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44)
                
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:723)
                
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:663)
                
com.notary.fwk.web.JAASContextDispatcherServlet.doService(JAASContextDispatcherServlet.java:71)
                
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:394)
                
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:358)
                javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
                javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
                
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
                
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
                
com.notary.fwk.web.CheckSessionExpirationFilter.doFilter(CheckSessionExpirationFilter.java:65)
                
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
                
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
                
com.notary.filters.AuthenticationFilter.doFilter(AuthenticationFilter.java:197)
                
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
                
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
                
com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
                
com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
                
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
                
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
                
filters.RequestDumperFilter.doFilter(RequestDumperFilter.java:218)
                
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
                
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
                
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
                
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
                
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
                
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
                
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
                
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
                
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
                
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
                
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
                
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
                
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
                
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
                
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
                
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
                
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
                
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
                
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
                
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
                
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
                
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
                
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
                
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
                
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
                
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
                
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
                
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
                java.lang.Thread.run(Thread.java:534)


enotary-document.log
--------------------
2007-06-21 
17:25:24,387|http8082-Processor16|DEBUG|DocumentManagerImpl.generateDraftDocument#152
 : initialize a new template context
2007-06-21 
17:25:24,387|http8082-Processor16|DEBUG|TemplateBase.loadXmlDocument#259 : load 
xml document in memory
2007-06-21 
17:25:24,403|http8082-Processor16|DEBUG|TemplateBase.loadXmlDocument#260 : 
document : file:///e:/enotary-kbo-files-FA/docs/MarkerDictionary.xml
...
2007-06-21 
17:25:29,043|http8082-Processor16|DEBUG|TemplateMessageReporterImpl.report#87 : 
report error/warning messages
2007-06-21 
17:25:29,043|http8082-Processor16|DEBUG|TemplateMessageReporterImpl.report#88 : 
report folder : E:/e-notary-documents/Output
2007-06-21 
17:25:29,043|http8082-Processor16|DEBUG|TemplateMessageReporterImpl.report#98 : 
report filename : 
E:/e-notary-documents/Output/015_133553-070621-001_20070621172524_errors.pdf
2007-06-21 
17:25:29,043|http8082-Processor16|DEBUG|TemplateMessageReporterImpl.report#99 : 
#template errors : 0
2007-06-21 
17:25:29,043|http8082-Processor16|DEBUG|TemplateMessageReporterImpl.report#100 
: #template warnings : 1
2007-06-21 
17:25:29,043|http8082-Processor16|DEBUG|TemplateMessageReporterImpl.report#109 
: generate xml elements for error messages
2007-06-21 
17:25:29,043|http8082-Processor16|DEBUG|TemplateMessageReporterImpl.report#123 
: generate xml elements for warning messages
2007-06-21 
17:25:29,043|http8082-Processor16|DEBUG|TemplateMessageReporterImpl.report#138 
: prepare the parameters for jasper report
2007-06-21 
17:25:29,043|http8082-Processor16|DEBUG|TemplateMessageReporterImpl.report#146 
: run jasper report


****************************************
* Debugging detail - XadesVerifierImpl *
****************************************

2007-06-21 17:33:47,309 [http8082-Processor9] DEBUG [DispatcherServlet] - 
DispatcherServlet with name 'enotary-kbo-web' received request for 
[/enotary-kbo-web/submitDeposit.ctrl]
2007-06-21 17:33:47,309 [http8082-Processor9] DEBUG [DispatcherServlet] - 
Testing handler adapter [EMAIL PROTECTED]
2007-06-21 17:33:47,325 [http8082-Processor9] DEBUG [PersonImpl] - dispatching 
allRoles...
2007-06-21 17:33:47,325 [http8082-Processor9] DEBUG [PersonImpl] - allRoles 
dispateched currentRoles : 1 oldRoles : 0
2007-06-21 17:33:47,434 [http8082-Processor9] ERROR [XadesVerifierImpl] - 
java.lang.NullPointerException
2007-06-21 17:33:47,434 [http8082-Processor9] ERROR [DocumentValidatorImpl] - 
com.notary.util.signature.exception.TechnicalException: 
java.lang.NullPointerException null
2007-06-21 17:33:47,434 [http8082-Processor9] WARN 
[EnotaryGenericRuntimeException] - 
com.notary.exception.EnotaryTechnicalException [78486]
2007-06-21 17:33:47,434 [http8082-Processor9] ERROR 
[EnotaryGenericRuntimeException] - 
com.notary.util.signature.exception.TechnicalException: 
java.lang.NullPointerException null
        at 
com.notary.util.signature.impl.iaik.XadesVerifierImpl.verifySignature(XadesVerifierImpl.java:219)
        at 
com.notary.app.compact.util.impl.DocumentValidatorImpl.validate(DocumentValidatorImpl.java:49)
        at 
com.notary.app.compact.folder.validator.CompanyCreationFolderValidator.validateSignedExpedition(CompanyCreationFolderValidator.java:124)
        at 
com.notary.app.compact.folder.validator.CompanyCreationFolderValidator.validateReadyForSubmission(CompanyCreationFolderValidator.java:87)
        at 
com.notary.app.compact.prsuc.web.ctrl.SubmitDepositCtrl.handleRequestInternal(SubmitDepositCtrl.java:59)
        at 
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
        at 
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44)
        at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:723)
        at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:663)
        at 
com.notary.fwk.web.JAASContextDispatcherServlet.doService(JAASContextDispatcherServlet.java:71)
        at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:394)
        at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:348)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
        at 
com.notary.fwk.web.CheckSessionExpirationFilter.doFilter(CheckSessionExpirationFilter.java:65)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
        at 
com.notary.filters.AuthenticationFilter.doFilter(AuthenticationFilter.java:197)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
        at 
com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:118)
        at 
com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:52)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
        at filters.RequestDumperFilter.doFilter(RequestDumperFilter.java:218)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at 
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at 
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
        at 
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at 
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
        at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
        at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
        at 
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
        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.axiom.om.impl.dom.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(DocumentBuilderFactoryImpl.java:73)
        at 
com.notary.util.signature.impl.AbstractVerifierImpl.getDocBuilder(AbstractVerifierImpl.java:116)
        at 
com.notary.util.signature.impl.iaik.XadesVerifierImpl.verifySignature(XadesVerifierImpl.java:119)
        ... 55 more


Code:
-----

DocumentBuilder db = getDocBuilder();
// parse the signature document
log.debug("Parsing stream...");
document = db.parse(context.getSignedDocStream());

protected DocumentBuilder getDocBuilder()throws Exception{
        // Create a schema validating parser
        log.debug("Set XSD for validation: " + xsdPath);                
        //File schemaFile = new File(xsdPath);
        /*
         * First look in classpath, then look for a file
         */
        URL schemaURL = 
XadesVerifierImpl.class.getClassLoader().getResource(xsdPath);
        if(schemaURL==null){
                schemaURL = new URL("file:///" + xsdPath);
        }
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        dbf.setNamespaceAware(true);
        dbf.setIgnoringElementContentWhitespace(true);
        dbf.setExpandEntityReferences(false);
        boolean validateSchema = verificationPolicy.isValidateSchema();
        dbf.setValidating(validateSchema);

        if(validateSchema){
                dbf.setAttribute(
                                
"http://java.sun.com/xml/jaxp/properties/schemaLanguage";,
                                "http://www.w3.org/2001/XMLSchema";);
                dbf.setAttribute(
                                
"http://java.sun.com/xml/jaxp/properties/schemaSource";,
                                schemaURL.toExternalForm());
                dbf.setAttribute(
                                
"http://apache.org/xml/features/validation/schema/normalized-value";,
                                Boolean.FALSE);
        }

        DocumentBuilder db = dbf.newDocumentBuilder();
        errorHandler = new ErrorHandler();
        db.setErrorHandler(errorHandler);
        return db;
}       



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to