You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomee.apache.org by Dain Sundstrom <da...@iq80.com> on 2007/02/28 21:38:55 UTC

Can't seem to modify service-jar.xsd

I'm trying to add support for Resources to the service-jar.xml by  
adding a new "Resource" provider type.  The problem is when I modify  
the service-jar.xsd provider type declaration as follows:

     <!-- ProviderTypes -->
     <xsd:simpleType name="ProviderTypes">
         <xsd:restriction base="xsd:string">
             <xsd:pattern value="Container|Proxy|Security|Transaction| 
Resource|Connector|ConnectionManager|JNDI"/>
         </xsd:restriction>
     </xsd:simpleType>

castor doesn't seem to pickup my change.  I'm not even sure how  
castor is seeing the schema in the first place since the service- 
jar.xml doesn't declare a schema.  In the end, I get this error from  
castor:

FATAL - OpenEJB has encountered a fatal error and cannot be started:  
Assembler failed to build the container system.
org.apache.openejb.OpenEJBException: Cannot validate service-jar.xml  
file. Received message: The following exception occured while  
validating field: _serviceProviderList of class:  
org.apache.openejb.config.sys.ServicesJar: The following exception  
occured while validating field: _providerType of class:  
org.apache.openejb.config.sys.ServiceProvider: objects of this type  
must match the  following regular expression: Container|Proxy| 
Security|Transaction|Connector|ConnectionManager|JNDI
	at org.apache.openejb.config.Unmarshaller.unmarshalObject 
(Unmarshaller.java:182)
	at org.apache.openejb.config.Unmarshaller.unmarshal 
(Unmarshaller.java:153)
	at org.apache.openejb.config.ServiceUtils.readServicesJar 
(ServiceUtils.java:125)
	at org.apache.openejb.config.ServiceUtils.getServices 
(ServiceUtils.java:88)
	at org.apache.openejb.config.ServiceUtils.getServiceProvider 
(ServiceUtils.java:75)
	at org.apache.openejb.config.ConfigurationFactory.configureService 
(ConfigurationFactory.java:481)
	at org.apache.openejb.config.ConfigurationFactory.configureService 
(ConfigurationFactory.java:459)
	at org.apache.openejb.config.ConfigurationFactory.configureService 
(ConfigurationFactory.java:448)
	at org.apache.openejb.config.ConfigurationFactory.configureService 
(ConfigurationFactory.java:454)
	at  
org.apache.openejb.config.ConfigurationFactory.getOpenEjbConfiguration 
(ConfigurationFactory.java:215)
	at org.apache.openejb.assembler.classic.Assembler.build 
(Assembler.java:197)
	at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:147)
	at org.apache.openejb.OpenEJB.init(OpenEJB.java:280)
	at org.apache.openejb.OpenEJB.init(OpenEJB.java:265)
	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:585)
	at org.apache.openejb.loader.OpenEJBInstance.init 
(OpenEJBInstance.java:36)
	at org.apache.openejb.client.LocalInitialContextFactory.init 
(LocalInitialContextFactory.java:56)
	at  
org.apache.openejb.client.LocalInitialContextFactory.getInitialContext 
(LocalInitialContextFactory.java:42)
	at javax.naming.spi.NamingManager.getInitialContext 
(NamingManager.java:667)
	at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java: 
247)
	at javax.naming.InitialContext.init(InitialContext.java:223)
	at javax.naming.InitialContext.<init>(InitialContext.java:197)
	at org.apache.openejb.test.HsqldbTestDatabase.start 
(HsqldbTestDatabase.java:174)
	at org.apache.openejb.test.TestManager.start(TestManager.java:75)
	at org.apache.openejb.iTest.setUp(iTest.java:56)
	at org.apache.openejb.test.TestSuite.run(TestSuite.java:41)
	at junit.textui.TestRunner.doRun(TestRunner.java:115)
	at com.intellij.rt.execution.junit.IdeaTestRunner.doRun 
(IdeaTestRunner.java:69)
	at junit.textui.TestRunner.doRun(TestRunner.java:108)
	at com.intellij.rt.execution.junit.IdeaTestRunner.startRunnerWithArgs 
(IdeaTestRunner.java:24)
	at  
com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart 
(JUnitStarter.java:118)
	at com.intellij.rt.execution.junit.JUnitStarter.main 
(JUnitStarter.java:40)

Any help would be greatly appreciated,

-dain

Re: Can't seem to modify service-jar.xsd

Posted by Dain Sundstrom <da...@iq80.com>.
Figured it out.  It appears that castor sucked the schema into the  
file org.apache.openejb.config.sys.ServiceProviderDescriptor, so I  
had to update the regex there also.

-dain

On Feb 28, 2007, at 12:38 PM, Dain Sundstrom wrote:

> I'm trying to add support for Resources to the service-jar.xml by  
> adding a new "Resource" provider type.  The problem is when I  
> modify the service-jar.xsd provider type declaration as follows:
>
>     <!-- ProviderTypes -->
>     <xsd:simpleType name="ProviderTypes">
>         <xsd:restriction base="xsd:string">
>             <xsd:pattern value="Container|Proxy|Security| 
> Transaction|Resource|Connector|ConnectionManager|JNDI"/>
>         </xsd:restriction>
>     </xsd:simpleType>
>
> castor doesn't seem to pickup my change.  I'm not even sure how  
> castor is seeing the schema in the first place since the service- 
> jar.xml doesn't declare a schema.  In the end, I get this error  
> from castor:
>
> FATAL - OpenEJB has encountered a fatal error and cannot be  
> started: Assembler failed to build the container system.
> org.apache.openejb.OpenEJBException: Cannot validate service- 
> jar.xml file. Received message: The following exception occured  
> while validating field: _serviceProviderList of class:  
> org.apache.openejb.config.sys.ServicesJar: The following exception  
> occured while validating field: _providerType of class:  
> org.apache.openejb.config.sys.ServiceProvider: objects of this type  
> must match the  following regular expression: Container|Proxy| 
> Security|Transaction|Connector|ConnectionManager|JNDI
> 	at org.apache.openejb.config.Unmarshaller.unmarshalObject 
> (Unmarshaller.java:182)
> 	at org.apache.openejb.config.Unmarshaller.unmarshal 
> (Unmarshaller.java:153)
> 	at org.apache.openejb.config.ServiceUtils.readServicesJar 
> (ServiceUtils.java:125)
> 	at org.apache.openejb.config.ServiceUtils.getServices 
> (ServiceUtils.java:88)
> 	at org.apache.openejb.config.ServiceUtils.getServiceProvider 
> (ServiceUtils.java:75)
> 	at org.apache.openejb.config.ConfigurationFactory.configureService 
> (ConfigurationFactory.java:481)
> 	at org.apache.openejb.config.ConfigurationFactory.configureService 
> (ConfigurationFactory.java:459)
> 	at org.apache.openejb.config.ConfigurationFactory.configureService 
> (ConfigurationFactory.java:448)
> 	at org.apache.openejb.config.ConfigurationFactory.configureService 
> (ConfigurationFactory.java:454)
> 	at  
> org.apache.openejb.config.ConfigurationFactory.getOpenEjbConfiguration 
> (ConfigurationFactory.java:215)
> 	at org.apache.openejb.assembler.classic.Assembler.build 
> (Assembler.java:197)
> 	at org.apache.openejb.OpenEJB$Instance.<init>(OpenEJB.java:147)
> 	at org.apache.openejb.OpenEJB.init(OpenEJB.java:280)
> 	at org.apache.openejb.OpenEJB.init(OpenEJB.java:265)
> 	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:585)
> 	at org.apache.openejb.loader.OpenEJBInstance.init 
> (OpenEJBInstance.java:36)
> 	at org.apache.openejb.client.LocalInitialContextFactory.init 
> (LocalInitialContextFactory.java:56)
> 	at  
> org.apache.openejb.client.LocalInitialContextFactory.getInitialContext 
> (LocalInitialContextFactory.java:42)
> 	at javax.naming.spi.NamingManager.getInitialContext 
> (NamingManager.java:667)
> 	at javax.naming.InitialContext.getDefaultInitCtx 
> (InitialContext.java:247)
> 	at javax.naming.InitialContext.init(InitialContext.java:223)
> 	at javax.naming.InitialContext.<init>(InitialContext.java:197)
> 	at org.apache.openejb.test.HsqldbTestDatabase.start 
> (HsqldbTestDatabase.java:174)
> 	at org.apache.openejb.test.TestManager.start(TestManager.java:75)
> 	at org.apache.openejb.iTest.setUp(iTest.java:56)
> 	at org.apache.openejb.test.TestSuite.run(TestSuite.java:41)
> 	at junit.textui.TestRunner.doRun(TestRunner.java:115)
> 	at com.intellij.rt.execution.junit.IdeaTestRunner.doRun 
> (IdeaTestRunner.java:69)
> 	at junit.textui.TestRunner.doRun(TestRunner.java:108)
> 	at  
> com.intellij.rt.execution.junit.IdeaTestRunner.startRunnerWithArgs 
> (IdeaTestRunner.java:24)
> 	at  
> com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart 
> (JUnitStarter.java:118)
> 	at com.intellij.rt.execution.junit.JUnitStarter.main 
> (JUnitStarter.java:40)
>
> Any help would be greatly appreciated,
>
> -dain