[
https://issues.apache.org/jira/browse/TUSCANY-3591?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12877436#action_12877436
]
Mike Edwards commented on TUSCANY-3591:
---------------------------------------
The problem arises due to the handling of the additional callback services that
are added to the Tuscany runtime model in ComponentBuilderImpl class in the
builder module - in the createCallbackService method
Basically, when the extra services are added to the model, a new copy is made
of the leafmost service implementation object, which is the one that applies to
the implementation artifact providing the callback - in this case a Java class.
By using a copy, rather than simply pointing directly at the existing service
implementation object, vital information about the form of the implementation's
interface is lost, with the result that appropriate data bindings are not put
in place when the Wire is created to connect to this callback service.
The fix is to change the code simply to point to the existing service
implementation object and not to create a copy.
> Handling of nested references with callback interfaces is incorrect
> -------------------------------------------------------------------
>
> Key: TUSCANY-3591
> URL: https://issues.apache.org/jira/browse/TUSCANY-3591
> Project: Tuscany
> Issue Type: Bug
> Components: Java SCA Core Runtime
> Affects Versions: Java-SCA-2.0-M4
> Reporter: Mike Edwards
> Assignee: Mike Edwards
> Fix For: Java-SCA-Next
>
>
> Found using the OASIS Web services testcase BWS_5001_TestCase
> This testcase tests the handling of an SCA reference which has a callback.
> Test_BWS_5001.composite has an SCA component with a reference with a callback
> interface, which is configured using <binding.ws/> to communicate with a Web
> service implemented on a standalone JAXWS application implemented using pure
> Java on JDK 1.6. The Web service implementation is coded to offer the
> service with the forward interface of the SCA reference and then calls back
> over the callback interface of the SCA reference. The protocol used is as
> described in the SCA Web Services Binding specification, using WS-Addressing
> headers.
> The problem found with the Tuscany runtime is that the callback invocation
> onto the SCA component fails due to the "wrong data type" for the parameter
> passed in to the (Java) implementation from the Web service binding, although
> checking of the SOAP messages flowing between the JAXWS application and the
> SCA component show that they are all correct and meet the requirements of the
> WSDL and the Java interfaces defined for the forward and callback interfaces.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.