Uploaded image for project: 'Axiom'
  1. Axiom
  2. AXIOM-3

NullPointerException in DocumentBuilderFactoryImpl

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Duplicate
    • None
    • None
    • None
    • None
    • Axiom 1.2, Axis2 1.1, JRE 1.4.2, Tomcat 4.1.30

    Description

      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 [org.springframework.web.servlet.handler.SimpleUrlHandlerMapping@b5615d] in DispatcherServlet with name 'enotary-kbo-web'
      2007-06-21 17:16:10,778 [http8082-Processor12] DEBUG [DispatcherServlet] - Testing handler adapter [org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter@151a712]
      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 [org.springframework.web.servlet.handler.SimpleUrlHandlerMapping@b5615d] in DispatcherServlet with name 'enotary-kbo-web'
      2007-06-21 17:25:23,731 [http8082-Processor16] DEBUG [DispatcherServlet] - Testing handler adapter [org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter@151a712]
      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 = [B@1c8a570

      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 [org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter@151a712]
      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;
      }

      Attachments

        Issue Links

          Activity

            People

              veithen Andreas Veithen
              johanr Johan Roch
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: