WS binding: ClassCastException: 
org.apache.tuscany.sca.interfacedef.wsdl.impl.WSDLInterfaceImpl incompatible 
with org.apache.tuscany.sca.interfacedef.java.JavaInterface
------------------------------------------------------------------------------------------------------------------------------------------------------------------------

                 Key: TUSCANY-4000
                 URL: https://issues.apache.org/jira/browse/TUSCANY-4000
             Project: Tuscany
          Issue Type: Bug
          Components: Java SCA Axis Binding Extension
    Affects Versions: Java-SCA-2.0-Beta3
            Reporter: Rashmi Hunt


WS Binding reference with WSDL interface with a WSDL callback interface
<---invoking---> WS Binding Service with WSDL interface with a WSDL callback 
interface
throws ClassCastException when Tuscany tries to cast WSDLInterfaceImpl to 
JavaInterface
at JavaImplementationInvoker.invoke() method, at 
(JavaInterface)interfaze.getCallbackInterface()

            // If there is a callback interface and the implementation is 
stateless, we need to
            // inject callbacks at invocation time. For Composite scope, this 
has already been done. 
            if (( interfaze.getCallbackInterface() != null )  && 
(scopeContainer.getScope().equals(Scope.STATELESS))){
                injectCallbacks(wrapper, 
(JavaInterface)interfaze.getCallbackInterface());
            }
This exception occurs when Web Service message reaches service implementation 
which eventually invokes 
JavaImplementationInvoker.invoke()

The above code is assuming that interfaze.getCallbackInterface() will return 
instance of JavaInterface.

What if the callback interface on both service and reference are using WSDL 
interface?
Shouldn't above logic take care of WSDL interface case?

Exception stack,

Caused by: java.lang.ClassCastException: 
org.apache.tuscany.sca.interfacedef.wsdl.impl.WSDLInterfaceImpl incompatible 
with org.apache.tuscany.sca.interfacedef.java.JavaInterface
        at 
org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:117)
        ...............
        at 
org.apache.tuscany.sca.core.invocation.InterceptorAsyncImpl.invoke(InterceptorAsyncImpl.java:58)
        at 
org.apache.tuscany.sca.core.invocation.RuntimeInvoker.invoke(RuntimeInvoker.java:126)
        at 
org.apache.tuscany.sca.core.invocation.RuntimeInvoker.invoke(RuntimeInvoker.java:109)
        at 
org.apache.tuscany.sca.core.assembly.impl.RuntimeEndpointImpl.invoke(RuntimeEndpointImpl.java:328)

components,

    <component name="MyComponent">
        <implementation.java class="samples.MyServiceImpl"/>
        <service name="MyService">
            <interface.wsdl 
interface="http://www.mybank.com/account#wsdl.interface(MyService)" 
                
callbackInterface="http://www.mybank.com/account#wsdl.interface(MyServiceCallback)"
 />
                
                <binding.ws 
                         
wsdlElement="http://www.mybank.com/account#wsdl.port(MyService/MyServicePort)"
                 />

                 <callback>
                                <binding.ws name="MyServiceCallback"/>
                 </callback>
        </service>
    </component>


    <component name="MySummaryService">
      <implementation.java class="samples.MySummaryServiceImpl"/>

      <reference name="myService">
          <interface.wsdl 
interface="http://www.mybank.com/account#wsdl.interface(MyService)" 
                
callbackInterface="http://www.mybank.com/account#wsdl.interface(MyServiceCallback)"
 />
         
          <binding.ws 
wsdlElement="http://www.mybank.com/account#wsdl.port(MyService/MyServicePort)" 
/>

               <callback>
                   <binding.ws 
wsdlElement="http://www.mybank.com/account#wsdl.binding(MyServiceCallback)"/>
               </callback>
      </reference>

    </component>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to