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]

Reply via email to