Wiring from Source that has only a subset of operations on Target fails. ------------------------------------------------------------------------
Key: TUSCANY-1071 URL: https://issues.apache.org/jira/browse/TUSCANY-1071 Project: Tuscany Issue Type: Bug Affects Versions: Java-SCA-M3 Reporter: Rick Rineholt Fix For: Java-SCA-M3 Tried running helloworldwsClient this fails with the below exception NoMethodForOperationException for "getGreetings1" operation. This operation exists on the target (WSDL) but not on the source which SHOULD IMO wire. I tried changing the logic in org.apache.tuscany.core.wire.WireUtils.createInboundMapping to the following which I think is "better" it tries to match source with target operations. But it failed several unit test cases in core. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Map<Method, InboundInvocationChain> chains = new HashMap<Method, InboundInvocationChain>(); for(Method method : methods){ boolean found = false; Iterator<Entry<Operation<?>, InboundInvocationChain>> entryI; for ( entryI = wire.getInvocationChains().entrySet().iterator(); entryI.hasNext() && !found ;) { Entry<Operation<?>, InboundInvocationChain> mape = entryI.next(); Operation<?> operation = mape.getKey(); InboundInvocationChain chain = mape.getValue(); if (JavaIDLUtils.match(operation, method)){ chains.put(method, chain); found= true; } } if(!found){ throw new NoMethodForOperationException(method.getName()); } } return chains; =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- The exception org.apache.tuscany.core.wire.WireUtils.createInboundMapping(org.apache.tuscany.spi.wire.InboundWire, java.lang.reflect.Method[]) line: 90 org.apache.tuscany.core.wire.jdk.JDKInboundInvocationHandler.init(java.lang.Class<?>, org.apache.tuscany.spi.wire.InboundWire) line: 153 org.apache.tuscany.core.wire.jdk.JDKInboundInvocationHandler.<init>(java.lang.Class<?>, org.apache.tuscany.spi.wire.InboundWire, org.apache.tuscany.spi.component.WorkContext) line: 76 org.apache.tuscany.core.wire.jdk.JDKWireService.createProxy(java.lang.Class<T>, org.apache.tuscany.spi.wire.Wire) line: 62 org.apache.tuscany.core.launcher.CompositeContextImpl(org.apache.tuscany.core.implementation.composite.AbstractCompositeContext).locateService(java.lang.Class<T>, java.lang.String) line: 76 helloworld.HelloWorldClient.main(java.lang.String[]) line: 32 sun.reflect.NativeMethodAccessorImpl.invoke0(java.lang.reflect.Method, java.lang.Object, java.lang.Object[]) line: not available [native method] sun.reflect.NativeMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 39 sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 25 java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object...) line: 585 org.apache.tuscany.launcher.Main.runApplication(java.io.File, java.lang.ClassLoader, java.lang.String[]) line: 154 org.apache.tuscany.launcher.Main.main(java.lang.String[]) line: 77 -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]