Thank you! That was the key I needed. It turns out the file was being deployed to the web-app's WEB-INF directory. The quartz code that parses the document uses ClassLoader.getResourceAsStream to get the document. Unfortunately the servlet container class loader didn't wasn't reading the WEB-INF directory, but rather the WEB-INF/classes & WEB-INF/lib directory. Moving the deployment location allowed the classloader to find the doc and parse it.
Thanks again! --- Michael Glavassevich <[EMAIL PROTECTED]> wrote: > Hello Jon, > > From the error message it looks like the parser is > being passed a > org.xml.sax.InputSource with all null fields. That > would explain the > failure. > > Jon Wilmoth <[EMAIL PROTECTED]> wrote on > 07/21/2004 07:18:04 PM: > > > I'm having problems parsing an xml config doc of > an > > open source scheduling tool (Quartz). The > document > > (below)is well formed and valid. I'm able to > > successfully validate it using and xml editor > (Stylus > > Studio) and with Xerces in a stand-alone command > line > > parsing utility. However, when the document is > parsed > > during server startup (Tomcat v5.0.25) I get the > > following exception: > > > > Jul-21-2004 4:04:12:720 PM, PDT [INFO ] > > (org.quartz.xml.JobSchedulingDataProcessor:?) -- > > Parsing XML file: > > webapps/chronos/web-inf/ScheduledJobs.xml with > > systemId: null validating: true validating schema: > > file:/C:/dev/java/jakarta/tomcat-5.0. > > > 25/work/Catalina/localhost/chronos/loader/org/quartz/xml/job_scheduling_data_1_1. > > xsd > > Jul-21-2004 4:04:12:740 PM, PDT [ERROR] > > (org.quartz.plugins.xml.JobInitializationPlugin:?) > -- > > Error scheduling jobs: null > > java.net.MalformedURLException > > at java.net.URL.<init>(URL.java:571) > > at java.net.URL.<init>(URL.java:434) > > at java.net.URL.<init>(URL.java:383) > > at > > > org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown > > Source) > > at > > > org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(Unknown > > Source) > > at > > > org.apache.xerces.parsers.XML11Configuration.parse(Unknown > > Source) > > at > > > org.apache.xerces.parsers.XML11Configuration.parse(Unknown > > Source) > > at > org.apache.xerces.parsers.XMLParser.parse(Unknown > > Source) > > at > > > org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown > > Source) > > at > > > org.apache.commons.digester.Digester.parse(Digester.java:1548) > > at > > org.quartz.xml.JobSchedulingDataProcessor. > > processFile(JobSchedulingDataProcessor.java:369) > > at > > org.quartz.xml.JobSchedulingDataProcessor. > > > processFileAndScheduleJobs(JobSchedulingDataProcessor.java:394) > > at > > org.quartz.plugins.xml.JobInitializationPlugin. > > processFile(JobInitializationPlugin.java:347) > > at > > org.quartz.plugins.xml.JobInitializationPlugin. > > start(JobInitializationPlugin.java:317) > > at > > > org.quartz.core.QuartzScheduler.startPlugins(QuartzScheduler.java:1800) > > at > > > org.quartz.core.QuartzScheduler.start(QuartzScheduler.java:367) > > at > > > org.quartz.impl.StdScheduler.start(StdScheduler.java:149) > > at > > org.quartz.ee.servlet.QuartzInitializerServlet. > > init(QuartzInitializerServlet.java:126) > > at > > org.apache.catalina.core.StandardWrapper. > > loadServlet(StandardWrapper.java:1019) > > at > > > org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:862) > > at > > org.apache.catalina.core.StandardContext. > > loadOnStartup(StandardContext.java:3991) > > at > > > org.apache.catalina.core.StandardContext.start(StandardContext.java:4335) > > at > > > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083) > > at > > > org.apache.catalina.core.StandardHost.start(StandardHost.java:789) > > at > > > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083) > > at > > > org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478) > > at > > > org.apache.catalina.core.StandardService.start(StandardService.java:476) > > at > > > org.apache.catalina.core.StandardServer.start(StandardServer.java:2298) > > at > > > org.apache.catalina.startup.Catalina.start(Catalina.java:556) > > at > > > sun.reflect.NativeMethodAccessorImpl.invoke0(Native > > Method) > > at > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > > at > > sun.reflect.DelegatingMethodAccessorImpl. > > invoke(DelegatingMethodAccessorImpl.java:25) > > at > java.lang.reflect.Method.invoke(Method.java:324) > > at > > > org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:284) > > at > > > org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:422) > > > > > > > > What is the root cause for this failure? What is > it > > that Xerces is trying to do that it can't? > > > > > > <?xml version="1.0" encoding="utf-8"?> > > <!DOCTYPE quartz SYSTEM > > > "file:///apex/projects/internal/timeentry/extlib/job_scheduling_data_1_0.dtd"> > > <quartz> > > <job> > > <job-detail> > > <name>ExpireRoleAssignmentsJob</name> > > <group>authorization</group> > > > > <job-class>com.apex.chronos.app.authorization. > > ExpireRoleAssignmentsJob</job-class> > > <volatility>true</volatility> > > <durability>false</durability> > > <recover>false</recover> > > </job-detail> > > <trigger> > > <cron> > > <name>ExpireRolesCronTrigger</name> > > <group>authorization-triggers</group> > > <job-name>ExpireRoleAssignmentsJob</job-name> > > <job-group>authorization</job-group> > > <!-- Every day at 11:55pm --> > > <cron-expression>0 55 23 ? * > *</cron-expression> > > <time-zone>America/Los_Angeles</time-zone> > > </cron> > > </trigger> > > </job> > > </quartz> > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: > [EMAIL PROTECTED] > > For additional commands, e-mail: > [EMAIL PROTECTED] > > > > Michael Glavassevich > XML Parser Development > IBM Toronto Lab > E-mail: [EMAIL PROTECTED] > E-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]