Ok, forget this. Brain dead coding in the scdl module loader.
On 3/7/06, ant elder <[EMAIL PROTECTED]> wrote: > > Unfortunately I still can't get this to work, although the assembly > testcase now works if I try to use the new binding in an sca module in > tomcat it fails to find the new binding. It looks like the runtime is not > correctly picking up the new SCDL and it ignores the binding on entry points > trying to use it. > > To show the problem build the binding in the sandbox and drop the jar in > the tomcat server lib, then edit the sca.module in tomcat > webapps\helloworldws-SNAPSHOT\WEB-INF\classes changing the binding.ws to > be <ajax:binding.ajax/> and add the additional namespace xmlns:ajax=" > http://org.apache.tuscany/xmlns/ajax/0.9". > > Start up tomcat and you get the exception below which happens because the > entryPoint has zero bindings. > > I've not been able to figure out whats going wrong, is this a bug > somewhere or is there a step i'm missing out? > > Thanks for any help, > > ...ant > > - Error deploying web application archive helloworldws-SNAPSHOT.war > java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 > at java.util.ArrayList.RangeCheck(ArrayList.java:546) > at java.util.ArrayList.get(ArrayList.java:321) > at > org.apache.tuscany.core.system.builder.SystemEntryPointBuilder.build ( > SystemEntryPointBuilder.java:49) > at > org.apache.tuscany.core.system.builder.SystemEntryPointBuilder.build( > SystemEntryPointBuilder.java:31) > at org.apache.tuscany.core.builder.impl.AssemblyVisitor.visit ( > AssemblyVisitor.java:57) > at > org.apache.tuscany.model.assembly.impl.AssemblyModelObjectImpl.accept( > AssemblyModelObjectImpl.java:43) > at org.apache.tuscany.model.assembly.impl.ExtensibleImpl.accept( > ExtensibleImpl.java :81) > at org.apache.tuscany.model.assembly.impl.EntryPointImpl.accept( > EntryPointImpl.java:127) > at > org.apache.tuscany.model.assembly.impl.AssemblyModelObjectImpl.accept( > AssemblyModelObjectImpl.java:55) > at org.apache.tuscany.model.assembly.impl.AggregateImpl.accept( > AggregateImpl.java:296) > at org.apache.tuscany.model.assembly.impl.ModuleImpl.accept( > ModuleImpl.java:229) > at org.apache.tuscany.model.assembly.impl.ComponentImpl.accept ( > ComponentImpl.java:215) > at org.apache.tuscany.core.builder.impl.AssemblyVisitor.start( > AssemblyVisitor.java:49) > at org.apache.tuscany.core.runtime.RuntimeContextImpl.build( > RuntimeContextImpl.java:227) > at > org.apache.tuscany.core.context.impl.AbstractAggregateContext.registerModelObject > (AbstractAggregateContext.java:272) > at org.apache.tuscany.tomcat.TuscanyContextListener.startContext( > TuscanyContextListener.java :96) > at org.apache.tuscany.tomcat.TuscanyContextListener.lifecycleEvent > (TuscanyContextListener.java:69) > at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent( > LifecycleSupport.java:119) > at org.apache.catalina.core.StandardContext.start( > StandardContext.java:4111) > at org.apache.catalina.core.ContainerBase.addChildInternal( > ContainerBase.java:759) > at org.apache.catalina.core.ContainerBase.addChild ( > ContainerBase.java:739) > at org.apache.catalina.core.StandardHost.addChild( > StandardHost.java:524) > at org.apache.tuscany.tomcat.TuscanyHost.addChild(TuscanyHost.java > :149) > at org.apache.catalina.startup.HostConfig.deployWAR ( > HostConfig.java:804) > at org.apache.catalina.startup.HostConfig.deployWARs( > HostConfig.java:693) > at org.apache.catalina.startup.HostConfig.deployApps( > HostConfig.java:472) > at org.apache.catalina.startup.HostConfig.start (HostConfig.java > :1118) > at org.apache.catalina.startup.HostConfig.lifecycleEvent( > HostConfig.java:310) > at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent( > LifecycleSupport.java:119) > at org.apache.catalina.core.ContainerBase.start(ContainerBase.java > :1020) > at org.apache.catalina.core.StandardHost.start(StandardHost.java > :718) > at org.apache.tuscany.tomcat.TuscanyHost.start(TuscanyHost.java:75) > at org.apache.catalina.core.ContainerBase.start(ContainerBase.java > :1012) > at org.apache.catalina.core.StandardEngine.start( > StandardEngine.java:442) > at org.apache.catalina.core.StandardService.start ( > StandardService.java:450) > at org.apache.catalina.core.StandardServer.start( > StandardServer.java:700) > at org.apache.catalina.startup.Catalina.start(Catalina.java:551) > > 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.catalina.startup.Bootstrap.start(Bootstrap.java:275) > at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) > > On 3/6/06, Jean-Sebastien Delfino <[EMAIL PROTECTED]> wrote: > > > ant elder wrote: > > > I'm messing about trying to add a new binding to Tuscany but can't get > > it to > > > work. There must be something I'm missing to register the new binding > > SCDL > > > as all I get is the exception below saying "Feature ' binding.ajax' > > not > > > found". Could someone have a quick look if its something obvious? The > > > code's up at > > > http://svn.apache.org/repos/asf/incubator/tuscany/sandbox/ant/ > > , > > > the AJAXAssemblyLoaderTestCase shows the problem. > > > > > > Thanks, > > > > > > ...ant > > > > > > java.lang.RuntimeException: > > > > > file:/C:/SCA/SVN/WORK/sca/binding.ajax/bin/org/apache/tuscany/binding/ajax/assembly/tests/sca.module > > > > > at > > org.apache.tuscany.model.scdl.loader.impl.SCDLXMLReader.getRootObject > > > (SCDLXMLReader.java:103) > > > at > > org.apache.tuscany.model.scdl.loader.impl.SCDLXMLReader.getModule( > > > SCDLXMLReader.java :61) > > > at > > > > > org.apache.tuscany.model.scdl.loader.impl.SCDLAssemblyModelLoaderImpl.loadModule > > > (SCDLAssemblyModelLoaderImpl.java:101) > > > at > > > > > org.apache.tuscany.binding.ajax.assembly.tests.AJAXAssemblyLoaderTestCase.testLoader > > > (AJAXAssemblyLoaderTestCase.java:63) > > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) > > > at sun.reflect.DelegatingMethodAccessorImpl.invoke (Unknown > > Source) > > > at java.lang.reflect.Method.invoke(Unknown Source) > > > at junit.framework.TestCase.runTest(TestCase.java:154) > > > at junit.framework.TestCase.runBare(TestCase.java:127) > > > at junit.framework.TestResult$1.protect(TestResult.java:106) > > > at junit.framework.TestResult.runProtected(TestResult.java:124) > > > at junit.framework.TestResult.run(TestResult.java:109) > > > at junit.framework.TestCase.run (TestCase.java:118) > > > at junit.framework.TestSuite.runTest(TestSuite.java:208) > > > at junit.framework.TestSuite.run(TestSuite.java:203) > > > at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests( > > > RemoteTestRunner.java:478) > > > at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run( > > > RemoteTestRunner.java:344) > > > at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main ( > > > RemoteTestRunner.java:196) > > > Caused by: > > org.eclipse.emf.ecore.resource.Resource$IOWrappedException:Feature ' > > > binding.ajax' not found. (http:///temp.xml, 23, 24) > > > at org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl.load( > > XMLLoadImpl.java:283) > > > at org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl.doLoad( > > > XMLResourceImpl.java:646) > > > at org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl.load ( > > > XMLResourceImpl.java:614) > > > at org.apache.tuscany.sdo.helper.XMLDocumentImpl.load( > > > XMLDocumentImpl.java:246) > > > at org.apache.tuscany.sdo.helper.XMLDocumentImpl.load( > > > XMLDocumentImpl.java :225) > > > at org.apache.tuscany.sdo.helper.XMLHelperImpl.load( > > XMLHelperImpl.java > > > :72) > > > at org.apache.tuscany.sdo.helper.XMLHelperImpl.load( > > XMLHelperImpl.java > > > :66) > > > at > > org.apache.tuscany.model.scdl.loader.impl.SCDLXMLReader.getRootObject > > > (SCDLXMLReader.java:100) > > > ... 18 more > > > > > > > > Ant, > > > > Good news, I took a look at your AJAX binding in your sandbox and was > > able to get your test case working... You just had a few minor problems > > in your XSD, missing a namespace prefix declaration, and some left-over > > references to axis2. > > > > I am committing the fixes for you. Here are the details: > > - In sca-binding-ajax.xsd, removed the <include > > location="sca-core.xsd"/> which actually included a copy of the whole > > SCDL schema in your Ajax binding namespace. This is not necessary, > > instead the base SCDL XSD needs to be correctly imported so that your > > AJAXBinding can extend the correct base SCDL Binding type. > > - Fixed the location attribute in the <import location=".... > > sca-core.xsd"> to a correct relative location pointing to sca-core.xsd > > in the java/sca/model project from your sandbox/ant/binding.ajax. > > - In sca.module, added an ajax namespace prefix declaration for your > > Ajax binding namespace and changed <binding.ajax/> to <ajax:binding.ajax > > />. > > - Changed the left over references to axis2 to ajax in sca.module and > > the test case itself. > > > > Hope this helps... > > > > -- > > Jean-Sebastien > > > > >
