You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomee.apache.org by Maxime Thieu <ma...@gmail.com> on 2008/11/28 16:53:46 UTC

web.xml with SYSTEM ENTITY (in DTD) provoques NPE in OPENEJB loading

Hello,

I am using OpenEJB 3.1 in Tomcat (with openejb.war).

I have webapps with web.xml containing SYSTEM ENTITY in DTD (for inclusion
of xml) like this :

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application
2.3//EN"
                         "http://java.sun.com/j2ee/dtds/web-app_2.3.dtd" [

<!ENTITY inclusionFile SYSTEM "file.xml" >
]>

<web-app>
&inclusionFile;

...

</web-app>

During Tomcat starting (when OpenEJB reads webapp definition), I have the
following blocking error: 

ERROR - Unable to load web.xml in war /test: Exception: Encountered unknown
error parsing the web.xml file: jndi:/localhost/test/WEB-INF/web.xml: null

I found (with the StackTrace) that the problem is situated in JaxbJavaee
class, in inner class NamespaceFilter, when resolving entity:
System entity have publicId with null value and it provoques a null pointer
exception when adding it to the Set publicIds. 

        public InputSource resolveEntity(String publicId, String systemId)
throws SAXException, IOException {
            Set<String> publicIds = currentPublicId.get();
            if (publicIds != null) {
                publicIds.add(publicId);
            }
            return EMPTY_INPUT_SOURCE;
        }


Is this a bug ? Is there any other way to resolve this ?

Thanks in advance,

Maxime

here is the complete StackTrace of the Error in the log : 
ERROR - Unable to load web.xml in war /test: Exception: Encountered unknown
error parsing the web.xml file: jndi:/localhost/test/WEB-INF/web.xml: null
org.apache.openejb.OpenEJBException: Encountered unknown error parsing the
web.xml file: jndi:/localhost/test/WEB-INF/web.xml: null
	at
org.apache.openejb.config.ReadDescriptors.readWebApp(ReadDescriptors.java:496)
	at
org.apache.openejb.tomcat.catalina.TomcatWebAppBuilder.createWebModule(TomcatWebAppBuilder.java:609)
	at
org.apache.openejb.tomcat.catalina.TomcatWebAppBuilder.loadApplication(TomcatWebAppBuilder.java:529)
	at
org.apache.openejb.tomcat.catalina.TomcatWebAppBuilder.start(TomcatWebAppBuilder.java:234)
	at
org.apache.openejb.tomcat.catalina.TomcatLoader.processRunningApplications(TomcatLoader.java:228)
	at
org.apache.openejb.tomcat.catalina.TomcatLoader.init(TomcatLoader.java:139)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:615)
	at org.apache.openejb.loader.Embedder.init(Embedder.java:75)
	at org.apache.openejb.tomcat.loader.TomcatHook.hook(TomcatHook.java:98)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:615)
	at
org.apache.openejb.tomcat.loader.TomcatEmbedder.embed(TomcatEmbedder.java:74)
	at
org.apache.openejb.tomcat.loader.LoaderServlet.init(LoaderServlet.java:44)
	at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
	at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4055)
	at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4361)
	at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
	at
org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626)
	at
org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
	at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
	at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
	at org.apache.catalina.core.StandardService.start(StandardService.java:516)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:576)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:615)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: 
java.lang.NullPointerException
	at java.util.TreeMap.compare(TreeMap.java:1108)
	at java.util.TreeMap.put(TreeMap.java:480)
	at java.util.TreeSet.add(TreeSet.java:225)
	at
org.apache.openejb.jee.JaxbJavaee$NamespaceFilter.resolveEntity(JaxbJavaee.java:120)
	at org.apache.xerces.util.EntityResolverWrapper.resolveEntity(Unknown
Source)
	at org.apache.xerces.impl.XMLEntityManager.resolveEntity(Unknown Source)
	at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source)
	at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEntityReference(Unknown
Source)
	at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
Source)
	at
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(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.xml.sax.helpers.XMLFilterImpl.parse(Unknown Source)
	at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:211)
	at
com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:184)
	at
javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:120)
	at
javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:103)
	at org.apache.openejb.jee.JaxbJavaee.unmarshal(JaxbJavaee.java:104)
	at
org.apache.openejb.config.ReadDescriptors.readWebApp(ReadDescriptors.java:488)
	... 43 more
-- 
View this message in context: http://www.nabble.com/web.xml-with-SYSTEM-ENTITY-%28in-DTD%29-provoques-NPE-in-OPENEJB-loading-tp20736729p20736729.html
Sent from the OpenEJB User mailing list archive at Nabble.com.


Re: web.xml with SYSTEM ENTITY (in DTD) provoques NPE in OPENEJB loading

Posted by Dain Sundstrom <da...@iq80.com>.
On Dec 4, 2008, at 1:29 AM, Maxime Thieu wrote:

>
> Yes, this configuration works well in standalone Tomcat.
> The file.xml is situated in WEB-INF folder (where web.xml is  
> situated) and
> contains some servlet definitions.
>
> The fact is that OpenEJB parser does not read system entities  
> whereas Tomcat
> did it.

Ya, I was focused on disabling DTD downloading, and forgot the same  
system is used for file includes in XML.

> A temporary solution for me, is to store the content of file.xml in  
> web.xml,
> but it would be great if OpenEJB could read web.xml like Tomcat does.

I created a JIRA to track this issue https://issues.apache.org/jira/browse/OPENEJB-968

-dain

Re: web.xml with SYSTEM ENTITY (in DTD) provoques NPE in OPENEJB loading

Posted by Maxime Thieu <ma...@gmail.com>.
Yes, this configuration works well in standalone Tomcat.
The file.xml is situated in WEB-INF folder (where web.xml is situated) and
contains some servlet definitions.

The fact is that OpenEJB parser does not read system entities whereas Tomcat
did it.

A temporary solution for me, is to store the content of file.xml in web.xml,
but it would be great if OpenEJB could read web.xml like Tomcat does.

Thanks for your response

Maxime


Dain Sundstrom wrote:
> 
> Is this something that works in standalone Tomcat?  If it is, where is  
> the "file.xml" file located?  This is not likely to be fixed in the  
> next release, so in the mean time, you'll have to unroll the entity  
> reference by hand (or using some tool).
> 
> -dain
> 
> On Nov 28, 2008, at 7:53 AM, Maxime Thieu wrote:
> 
>>
>> Hello,
>>
>> I am using OpenEJB 3.1 in Tomcat (with openejb.war).
>>
>> I have webapps with web.xml containing SYSTEM ENTITY in DTD (for  
>> inclusion
>> of xml) like this :
>>
>> <?xml version="1.0" encoding="ISO-8859-1"?>
>> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web  
>> Application
>> 2.3//EN"
>>                         "http://java.sun.com/j2ee/dtds/web- 
>> app_2.3.dtd" [
>>
>> <!ENTITY inclusionFile SYSTEM "file.xml" >
>> ]>
>>
>> <web-app>
>> &inclusionFile;
>>
>> ...
>>
>> </web-app>
>>
>> During Tomcat starting (when OpenEJB reads webapp definition), I  
>> have the
>> following blocking error:
>>
>> ERROR - Unable to load web.xml in war /test: Exception: Encountered  
>> unknown
>> error parsing the web.xml file: jndi:/localhost/test/WEB-INF/ 
>> web.xml: null
>>
>> I found (with the StackTrace) that the problem is situated in  
>> JaxbJavaee
>> class, in inner class NamespaceFilter, when resolving entity:
>> System entity have publicId with null value and it provoques a null  
>> pointer
>> exception when adding it to the Set publicIds.
>>
>>        public InputSource resolveEntity(String publicId, String  
>> systemId)
>> throws SAXException, IOException {
>>            Set<String> publicIds = currentPublicId.get();
>>            if (publicIds != null) {
>>                publicIds.add(publicId);
>>            }
>>            return EMPTY_INPUT_SOURCE;
>>        }
>>
>>
>> Is this a bug ? Is there any other way to resolve this ?
>>
>> Thanks in advance,
>>
>> Maxime
>>
>> here is the complete StackTrace of the Error in the log :
>> ERROR - Unable to load web.xml in war /test: Exception: Encountered  
>> unknown
>> error parsing the web.xml file: jndi:/localhost/test/WEB-INF/ 
>> web.xml: null
>> org.apache.openejb.OpenEJBException: Encountered unknown error  
>> parsing the
>> web.xml file: jndi:/localhost/test/WEB-INF/web.xml: null
>> 	at
>> org 
>> .apache 
>> .openejb.config.ReadDescriptors.readWebApp(ReadDescriptors.java:496)
>> 	at
>> org 
>> .apache 
>> .openejb 
>> .tomcat 
>> .catalina 
>> .TomcatWebAppBuilder.createWebModule(TomcatWebAppBuilder.java:609)
>> 	at
>> org 
>> .apache 
>> .openejb 
>> .tomcat 
>> .catalina 
>> .TomcatWebAppBuilder.loadApplication(TomcatWebAppBuilder.java:529)
>> 	at
>> org 
>> .apache 
>> .openejb 
>> .tomcat.catalina.TomcatWebAppBuilder.start(TomcatWebAppBuilder.java: 
>> 234)
>> 	at
>> org 
>> .apache 
>> .openejb 
>> .tomcat 
>> .catalina.TomcatLoader.processRunningApplications(TomcatLoader.java: 
>> 228)
>> 	at
>> org 
>> .apache.openejb.tomcat.catalina.TomcatLoader.init(TomcatLoader.java: 
>> 139)
>> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> 	at
>> sun 
>> .reflect 
>> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
>> 	at
>> sun 
>> .reflect 
>> .DelegatingMethodAccessorImpl 
>> .invoke(DelegatingMethodAccessorImpl.java:43)
>> 	at java.lang.reflect.Method.invoke(Method.java:615)
>> 	at org.apache.openejb.loader.Embedder.init(Embedder.java:75)
>> 	at org.apache.openejb.tomcat.loader.TomcatHook.hook(TomcatHook.java: 
>> 98)
>> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> 	at
>> sun 
>> .reflect 
>> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
>> 	at
>> sun 
>> .reflect 
>> .DelegatingMethodAccessorImpl 
>> .invoke(DelegatingMethodAccessorImpl.java:43)
>> 	at java.lang.reflect.Method.invoke(Method.java:615)
>> 	at
>> org 
>> .apache 
>> .openejb.tomcat.loader.TomcatEmbedder.embed(TomcatEmbedder.java:74)
>> 	at
>> org 
>> .apache.openejb.tomcat.loader.LoaderServlet.init(LoaderServlet.java: 
>> 44)
>> 	at
>> org 
>> .apache 
>> .catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
>> 	at  
>> org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java: 
>> 981)
>> 	at
>> org 
>> .apache 
>> .catalina.core.StandardContext.loadOnStartup(StandardContext.java: 
>> 4055)
>> 	at
>> org.apache.catalina.core.StandardContext.start(StandardContext.java: 
>> 4361)
>> 	at
>> org 
>> .apache 
>> .catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
>> 	at  
>> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java: 
>> 771)
>> 	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java: 
>> 525)
>> 	at
>> org 
>> .apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java: 
>> 626)
>> 	at
>> org 
>> .apache 
>> .catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
>> 	at  
>> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
>> 	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
>> 	at
>> org 
>> .apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java: 
>> 311)
>> 	at
>> org 
>> .apache 
>> .catalina 
>> .util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
>> 	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java: 
>> 1053)
>> 	at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
>> 	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java: 
>> 1045)
>> 	at  
>> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
>> 	at  
>> org.apache.catalina.core.StandardService.start(StandardService.java: 
>> 516)
>> 	at  
>> org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
>> 	at org.apache.catalina.startup.Catalina.start(Catalina.java:576)
>> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> 	at
>> sun 
>> .reflect 
>> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
>> 	at
>> sun 
>> .reflect 
>> .DelegatingMethodAccessorImpl 
>> .invoke(DelegatingMethodAccessorImpl.java:43)
>> 	at java.lang.reflect.Method.invoke(Method.java:615)
>> 	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
>> 	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
>> Caused by:
>> java.lang.NullPointerException
>> 	at java.util.TreeMap.compare(TreeMap.java:1108)
>> 	at java.util.TreeMap.put(TreeMap.java:480)
>> 	at java.util.TreeSet.add(TreeSet.java:225)
>> 	at
>> org.apache.openejb.jee.JaxbJavaee 
>> $NamespaceFilter.resolveEntity(JaxbJavaee.java:120)
>> 	at org.apache.xerces.util.EntityResolverWrapper.resolveEntity(Unknown
>> Source)
>> 	at org.apache.xerces.impl.XMLEntityManager.resolveEntity(Unknown  
>> Source)
>> 	at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown  
>> Source)
>> 	at
>> org 
>> .apache 
>> .xerces 
>> .impl.XMLDocumentFragmentScannerImpl.scanEntityReference(Unknown
>> Source)
>> 	at
>> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl 
>> $FragmentContentDispatcher.dispatch(Unknown
>> Source)
>> 	at
>> org 
>> .apache 
>> .xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(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.xml.sax.helpers.XMLFilterImpl.parse(Unknown Source)
>> 	at
>> com 
>> .sun 
>> .xml 
>> .bind 
>> .v2 
>> .runtime 
>> .unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:211)
>> 	at
>> com 
>> .sun 
>> .xml 
>> .bind 
>> .v2 
>> .runtime 
>> .unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:184)
>> 	at
>> javax 
>> .xml 
>> .bind 
>> .helpers 
>> .AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:120)
>> 	at
>> javax 
>> .xml 
>> .bind 
>> .helpers 
>> .AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:103)
>> 	at org.apache.openejb.jee.JaxbJavaee.unmarshal(JaxbJavaee.java:104)
>> 	at
>> org 
>> .apache 
>> .openejb.config.ReadDescriptors.readWebApp(ReadDescriptors.java:488)
>> 	... 43 more
>> -- 
>> View this message in context:
>> http://www.nabble.com/web.xml-with-SYSTEM-ENTITY-%28in-DTD%29-provoques-NPE-in-OPENEJB-loading-tp20736729p20736729.html
>> Sent from the OpenEJB User mailing list archive at Nabble.com.
>>
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/web.xml-with-SYSTEM-ENTITY-%28in-DTD%29-provoques-NPE-in-OPENEJB-loading-tp20736729p20829932.html
Sent from the OpenEJB User mailing list archive at Nabble.com.


Re: web.xml with SYSTEM ENTITY (in DTD) provoques NPE in OPENEJB loading

Posted by Dain Sundstrom <da...@iq80.com>.
Is this something that works in standalone Tomcat?  If it is, where is  
the "file.xml" file located?  This is not likely to be fixed in the  
next release, so in the mean time, you'll have to unroll the entity  
reference by hand (or using some tool).

-dain

On Nov 28, 2008, at 7:53 AM, Maxime Thieu wrote:

>
> Hello,
>
> I am using OpenEJB 3.1 in Tomcat (with openejb.war).
>
> I have webapps with web.xml containing SYSTEM ENTITY in DTD (for  
> inclusion
> of xml) like this :
>
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web  
> Application
> 2.3//EN"
>                         "http://java.sun.com/j2ee/dtds/web- 
> app_2.3.dtd" [
>
> <!ENTITY inclusionFile SYSTEM "file.xml" >
> ]>
>
> <web-app>
> &inclusionFile;
>
> ...
>
> </web-app>
>
> During Tomcat starting (when OpenEJB reads webapp definition), I  
> have the
> following blocking error:
>
> ERROR - Unable to load web.xml in war /test: Exception: Encountered  
> unknown
> error parsing the web.xml file: jndi:/localhost/test/WEB-INF/ 
> web.xml: null
>
> I found (with the StackTrace) that the problem is situated in  
> JaxbJavaee
> class, in inner class NamespaceFilter, when resolving entity:
> System entity have publicId with null value and it provoques a null  
> pointer
> exception when adding it to the Set publicIds.
>
>        public InputSource resolveEntity(String publicId, String  
> systemId)
> throws SAXException, IOException {
>            Set<String> publicIds = currentPublicId.get();
>            if (publicIds != null) {
>                publicIds.add(publicId);
>            }
>            return EMPTY_INPUT_SOURCE;
>        }
>
>
> Is this a bug ? Is there any other way to resolve this ?
>
> Thanks in advance,
>
> Maxime
>
> here is the complete StackTrace of the Error in the log :
> ERROR - Unable to load web.xml in war /test: Exception: Encountered  
> unknown
> error parsing the web.xml file: jndi:/localhost/test/WEB-INF/ 
> web.xml: null
> org.apache.openejb.OpenEJBException: Encountered unknown error  
> parsing the
> web.xml file: jndi:/localhost/test/WEB-INF/web.xml: null
> 	at
> org 
> .apache 
> .openejb.config.ReadDescriptors.readWebApp(ReadDescriptors.java:496)
> 	at
> org 
> .apache 
> .openejb 
> .tomcat 
> .catalina 
> .TomcatWebAppBuilder.createWebModule(TomcatWebAppBuilder.java:609)
> 	at
> org 
> .apache 
> .openejb 
> .tomcat 
> .catalina 
> .TomcatWebAppBuilder.loadApplication(TomcatWebAppBuilder.java:529)
> 	at
> org 
> .apache 
> .openejb 
> .tomcat.catalina.TomcatWebAppBuilder.start(TomcatWebAppBuilder.java: 
> 234)
> 	at
> org 
> .apache 
> .openejb 
> .tomcat 
> .catalina.TomcatLoader.processRunningApplications(TomcatLoader.java: 
> 228)
> 	at
> org 
> .apache.openejb.tomcat.catalina.TomcatLoader.init(TomcatLoader.java: 
> 139)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at
> sun 
> .reflect 
> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
> 	at
> sun 
> .reflect 
> .DelegatingMethodAccessorImpl 
> .invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:615)
> 	at org.apache.openejb.loader.Embedder.init(Embedder.java:75)
> 	at org.apache.openejb.tomcat.loader.TomcatHook.hook(TomcatHook.java: 
> 98)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at
> sun 
> .reflect 
> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
> 	at
> sun 
> .reflect 
> .DelegatingMethodAccessorImpl 
> .invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:615)
> 	at
> org 
> .apache 
> .openejb.tomcat.loader.TomcatEmbedder.embed(TomcatEmbedder.java:74)
> 	at
> org 
> .apache.openejb.tomcat.loader.LoaderServlet.init(LoaderServlet.java: 
> 44)
> 	at
> org 
> .apache 
> .catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
> 	at  
> org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java: 
> 981)
> 	at
> org 
> .apache 
> .catalina.core.StandardContext.loadOnStartup(StandardContext.java: 
> 4055)
> 	at
> org.apache.catalina.core.StandardContext.start(StandardContext.java: 
> 4361)
> 	at
> org 
> .apache 
> .catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
> 	at  
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java: 
> 771)
> 	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java: 
> 525)
> 	at
> org 
> .apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java: 
> 626)
> 	at
> org 
> .apache 
> .catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
> 	at  
> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
> 	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
> 	at
> org 
> .apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java: 
> 311)
> 	at
> org 
> .apache 
> .catalina 
> .util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
> 	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java: 
> 1053)
> 	at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
> 	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java: 
> 1045)
> 	at  
> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
> 	at  
> org.apache.catalina.core.StandardService.start(StandardService.java: 
> 516)
> 	at  
> org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
> 	at org.apache.catalina.startup.Catalina.start(Catalina.java:576)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at
> sun 
> .reflect 
> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
> 	at
> sun 
> .reflect 
> .DelegatingMethodAccessorImpl 
> .invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:615)
> 	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
> 	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
> Caused by:
> java.lang.NullPointerException
> 	at java.util.TreeMap.compare(TreeMap.java:1108)
> 	at java.util.TreeMap.put(TreeMap.java:480)
> 	at java.util.TreeSet.add(TreeSet.java:225)
> 	at
> org.apache.openejb.jee.JaxbJavaee 
> $NamespaceFilter.resolveEntity(JaxbJavaee.java:120)
> 	at org.apache.xerces.util.EntityResolverWrapper.resolveEntity(Unknown
> Source)
> 	at org.apache.xerces.impl.XMLEntityManager.resolveEntity(Unknown  
> Source)
> 	at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown  
> Source)
> 	at
> org 
> .apache 
> .xerces 
> .impl.XMLDocumentFragmentScannerImpl.scanEntityReference(Unknown
> Source)
> 	at
> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl 
> $FragmentContentDispatcher.dispatch(Unknown
> Source)
> 	at
> org 
> .apache 
> .xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(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.xml.sax.helpers.XMLFilterImpl.parse(Unknown Source)
> 	at
> com 
> .sun 
> .xml 
> .bind 
> .v2 
> .runtime 
> .unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:211)
> 	at
> com 
> .sun 
> .xml 
> .bind 
> .v2 
> .runtime 
> .unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:184)
> 	at
> javax 
> .xml 
> .bind 
> .helpers 
> .AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:120)
> 	at
> javax 
> .xml 
> .bind 
> .helpers 
> .AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:103)
> 	at org.apache.openejb.jee.JaxbJavaee.unmarshal(JaxbJavaee.java:104)
> 	at
> org 
> .apache 
> .openejb.config.ReadDescriptors.readWebApp(ReadDescriptors.java:488)
> 	... 43 more
> -- 
> View this message in context: http://www.nabble.com/web.xml-with-SYSTEM-ENTITY-%28in-DTD%29-provoques-NPE-in-OPENEJB-loading-tp20736729p20736729.html
> Sent from the OpenEJB User mailing list archive at Nabble.com.
>