[
https://issues.apache.org/jira/browse/TUSCANY-3954?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Greg Dritschler updated TUSCANY-3954:
-------------------------------------
Attachment: TUSCANY-3954.patch
> Change AsyncJDKInvocationHandler to not use AsyncFaultWrapper
> -------------------------------------------------------------
>
> Key: TUSCANY-3954
> URL: https://issues.apache.org/jira/browse/TUSCANY-3954
> Project: Tuscany
> Issue Type: Improvement
> Affects Versions: Java-SCA-2.0
> Reporter: Greg Dritschler
> Priority: Minor
> Attachments: TUSCANY-3954.patch
>
>
> Background:
> When asynchronous invocations are performed using a "non-native" binding,
> Tuscany creates a callback service that implements the AsyncResponseService
> interface. This interface includes the method
> public void setWrappedFault(AsyncFaultWrapper w)
> which is used to send an exception response. The wrapper contains
> information about the exception class which will be used on the client side
> to reconstruct the exception. This is all fine.
> Problem:
> AsyncJDKInvocationHandler also uses the AsyncFaultWrapper for exceptions it
> encounters. This does not make sense. These exceptions are either
> * runtime exceptions
> * in the case of invoking a sync service, business exceptions which the
> databinding framework is responsible for making type-compatible with the
> client.
> The use of the AsyncFaultWrapper is unnecessary in these cases. It also can
> cause problems because the unwrapping process tries to pick a constructor to
> use to reconstruct the exception, and some exception classes do not implement
> the standard constructors.
> I am attaching a patch to remove the use of the AsyncFaultWrapper in
> AsyncJDKInvocationHandler. All tests pass with this patch.
--
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