You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Simon Laws (Closed) (JIRA)" <de...@tuscany.apache.org> on 2012/01/06 13:21:39 UTC
[jira] [Closed] (TUSCANY-4000) WS binding: ClassCastException:
org.apache.tuscany.sca.interfacedef.wsdl.impl.WSDLInterfaceImpl
incompatible with org.apache.tuscany.sca.interfacedef.java.JavaInterface
[ https://issues.apache.org/jira/browse/TUSCANY-4000?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Simon Laws closed TUSCANY-4000.
-------------------------------
Resolution: Fixed
Fix Version/s: Java-SCA-2.0
Fix committed at revision: 1228143
> 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
> Assignee: Simon Laws
> Fix For: Java-SCA-2.0
>
>
> 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