DataBindingRuntimeWireProcessor bug in processing boundary condition of no-arg, 
no-returnType  method
-----------------------------------------------------------------------------------------------------

                 Key: TUSCANY-1682
                 URL: https://issues.apache.org/jira/browse/TUSCANY-1682
             Project: Tuscany
          Issue Type: Bug
            Reporter: Scott Kurz


If I have a Java method like:

 void myMethod()

it will fail if I expose this method over something like the WS binding which 
results in trying to set up the Tuscany databinding framework mapping the 
equivalent WSDL to the no-arg, no-return method.

The exception looks like:                             

       java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
        at java.util.ArrayList.RangeCheck(ArrayList.java:572)
        at java.util.ArrayList.get(ArrayList.java:347)
        at 
org.apache.tuscany.core.databinding.wire.DataBindingRuntimeWireProcessor.isTransformationRequired(DataBindingRuntimeWireProcessor.java:97)
        at 
org.apache.tuscany.core.databinding.wire.DataBindingRuntimeWireProcessor.isTransformationRequired(DataBindingRuntimeWireProcessor.java:115)
        at 
org.apache.tuscany.core.databinding.wire.DataBindingRuntimeWireProcessor.process(DataBindingRuntimeWireProcessor.java:132)
        at 
org.apache.tuscany.sca.core.invocation.ExtensibleWireProcessor.process(ExtensibleWireProcessor.java:40)

For my failure, 

The logical of the source DataType is:                             
   [class java.lang.Object org.apache.axiom.om.OMElement Element: 
{http://basicapp}doNonBlockingReq Type: null]
The logical of the target DataType is:
   [] (empty array)


Now..  on the one hand this is a low-priority since this isn't a very useful 
service operation.    

On the other hand,  the only reason we don't have the same problem on a method 
like:    MyReturnType myMethod()
is because for something like the WS binding, the output types will be compared 
first, and this comparison will return 'true', causing the input types not to 
be compared.

Some sort of special-case (possibly involving recognizing that this is 
wrapped?)  seems to be needed.







-- 
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]

Reply via email to