[ http://issues.apache.org/jira/browse/TUSCANY-141?page=comments#action_12374590 ]
Jean-Sebastien Delfino commented on TUSCANY-141: ------------------------------------------------ I was able to reproduce the problem with the steps you indicated. Usage of WSDL interfaces on components doesn't work at all so I am also raising the priority of this JIRA issue to critical. I am getting a new exception now. See the exception I pasted at the bottom. My analysis after stepping through the code is the following: - o.a.t.core.loader.assembly.ComponentLoader is invoking ComponentInfoImpl.initialize() too early, I think it's actually the only case where initialize is called explicitly and so early in the loading cycle. I don't think that this right. We should wait for all the fragments of a module and all the <import.wsdl> they contain to be loaded before trying to initialize model objects. - o.a.t.core.loader.assembly.ImportWSDLLoader is now using a new WSDLDefinitionRegistry to load WSDL files, and the WSDLDefinitionRegistry is not used by WSDLServiceContract to lookup the portType specified on <interface.wsdl>. Actually WSDLDefinitionRegistry is not even passed to WSDLServiceContract so I don't understand how this can work at all. I looked for references to WSDLDefinitionRegistry and could only find references to it in the loader and WSDLDefinitionRegistryImpl. Jeremy, you added the new loader code and this new WSDLDefinitionRegistry recently and you understand how they are supposed to be used. It looks to me like a piece is missing in the integration of the WSDLDefinitionRegistry. So I'm going to assign the JIRA to you, more work is necessary to integrate the WSDLDefinitionRegistry and get support for WSDL working. Can you please help? Thanks. Here's the new exception: Exception in thread "main" java.lang.IllegalArgumentException: Cannot find WSDL definition for http://helloworld.samples.tuscany.apache.org at org.apache.tuscany.model.types.wsdl.impl.WSDLServiceContractImpl.getPortType(WSDLServiceContractImpl.java:158) at org.apache.tuscany.model.types.wsdl.impl.WSDLServiceContractImpl.initialize(WSDLServiceContractImpl.java:103) at org.apache.tuscany.model.assembly.impl.PortImpl.initialize(PortImpl.java:59) at org.apache.tuscany.model.assembly.impl.ComponentInfoImpl.initialize(ComponentInfoImpl.java:118) at org.apache.tuscany.model.assembly.impl.ImplementationImpl.initialize(ImplementationImpl.java:47) at org.apache.tuscany.core.loader.assembly.ComponentLoader.load(ComponentLoader.java:83) at org.apache.tuscany.core.loader.assembly.ComponentLoader.load(ComponentLoader.java:1) at org.apache.tuscany.core.loader.impl.StAXLoaderRegistryImpl.load(StAXLoaderRegistryImpl.java:62) at org.apache.tuscany.core.loader.assembly.AggregateLoader.loadAggregate(AggregateLoader.java:43) at org.apache.tuscany.core.loader.assembly.ModuleLoader.load(ModuleLoader.java:39) at org.apache.tuscany.core.loader.assembly.ModuleLoader.load(ModuleLoader.java:1) at org.apache.tuscany.core.loader.impl.StAXLoaderRegistryImpl.load(StAXLoaderRegistryImpl.java:62) at org.apache.tuscany.core.config.impl.StAXModuleComponentConfigurationLoaderImpl.loadModule(StAXModuleComponentConfigurationLoaderImpl.java:50) at org.apache.tuscany.core.config.impl.AbstractModuleComponentConfigurationLoader.loadModuleComponent(AbstractModuleComponentConfigurationLoader.java:98) at org.apache.tuscany.core.config.impl.AbstractModuleComponentConfigurationLoader.loadModuleComponent(AbstractModuleComponentConfigurationLoader.java:88) at org.apache.tuscany.core.config.impl.AbstractModuleComponentConfigurationLoader.loadModuleComponent(AbstractModuleComponentConfigurationLoader.java:61) at org.apache.tuscany.core.client.TuscanyRuntime.<init>(TuscanyRuntime.java:105) at org.apache.tuscany.core.client.TuscanyRuntime.<init>(TuscanyRuntime.java:69) at sample.Sample7Client.invoke(Sample7Client.java:38) at sample.Sample7Client.main(Sample7Client.java:31) > interface.wsdl doesn't work in .componentType side files > -------------------------------------------------------- > > Key: TUSCANY-141 > URL: http://issues.apache.org/jira/browse/TUSCANY-141 > Project: Tuscany > Type: Bug > Components: Java SCA Core > Reporter: ant elder > > Using interface.wsdl in .componentType side file fails as it can't find the > WSDL. > It looks like the import.wsdl doesn't get processed until after the side file > is processed. The JavaScript sample 7 can be used to recreate the problem, > look in HelloWorldImpl.componentType and there's a commented out > interface.wsdl, change to use that gives this exception: > java.lang.IllegalArgumentException: Cannot find WSDL definition for > http://helloworld.samples.tuscany.apache.org > at > org.apache.tuscany.model.types.wsdl.impl.WSDLServiceContractImpl.getPortType(WSDLServiceContractImpl.java:158) > at > org.apache.tuscany.model.types.wsdl.impl.WSDLServiceContractImpl.initialize(WSDLServiceContractImpl.java:103) > at > org.apache.tuscany.model.assembly.impl.PortImpl.initialize(PortImpl.java:77) > at > org.apache.tuscany.model.assembly.impl.ComponentTypeImpl.initialize(ComponentTypeImpl.java:117) > at > org.apache.tuscany.model.assembly.impl.ComponentImplementationImpl.initialize(ComponentImplementationImpl.java:62) > at > org.apache.tuscany.container.js.assembly.impl.JavaScriptImplementationImpl.initialize(JavaScriptImplementationImpl.java:73) > at > org.apache.tuscany.model.assembly.impl.ComponentImpl.initialize(ComponentImpl.java:115) > at > org.apache.tuscany.model.scdl.loader.impl.SCDLModelContentHandlerImpl$9.run(SCDLModelContentHandlerImpl.java:409) > at > org.apache.tuscany.model.util.ModelTransformerImpl.transformPass2(ModelTransformerImpl.java:122) > at > org.apache.tuscany.model.util.ModelTransformerImpl.transform(ModelTransformerImpl.java:42) > at > org.apache.tuscany.model.scdl.loader.impl.SCDLAssemblyModelLoaderImpl.transform(SCDLAssemblyModelLoaderImpl.java:198) > at > org.apache.tuscany.model.scdl.loader.impl.SCDLAssemblyModelLoaderImpl.loadModule(SCDLAssemblyModelLoaderImpl.java:107) > at > org.apache.tuscany.core.config.impl.ModuleComponentConfigurationLoaderImpl.loadModule(ModuleComponentConfigurationLoaderImpl.java:48) > at > org.apache.tuscany.core.config.impl.AbstractModuleComponentConfigurationLoader.loadModuleComponent(AbstractModuleComponentConfigurationLoader.java:98) > at > org.apache.tuscany.core.config.impl.AbstractModuleComponentConfigurationLoader.loadModuleComponent(AbstractModuleComponentConfigurationLoader.java:88) > at > org.apache.tuscany.core.config.impl.AbstractModuleComponentConfigurationLoader.loadModuleComponent(AbstractModuleComponentConfigurationLoader.java:61) > at > org.apache.tuscany.core.client.TuscanyRuntime.<init>(TuscanyRuntime.java:100) > at > org.apache.tuscany.core.client.TuscanyRuntime.<init>(TuscanyRuntime.java:64) > at sample.Sample7Client.invoke(Sample7Client.java:38) > at sample.Sample7TestCase.testGeetings(Sample7TestCase.java:28) > 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) -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
