[
https://issues.apache.org/jira/browse/TUSCANY-1071?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jim Marino closed TUSCANY-1071.
-------------------------------
Resolution: Fixed
Fix Version/s: (was: Java-SCA-M3)
Java-SCA-2.0-Alpha
> 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-2.0-Alpha
>
>
> 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.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]