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]