Support for Async Callbacks

Async callbacks allow a component to perform a request on another component and to receive its response asynchronously via a callback. This feature follows the programming model specified in the SCA Client and Implementation Model for Java (found in

Currently, async callbacks are supported for components wired via bindless references, and via references with a web services binding using Axis2 (WS/Axis2).

Async Callbacks via Bindless References

In this mode, a source component uses a reference that does not include a binding, which is then wired to a target component via a service that does not include a binding either. For an example, see the inner.composite sample. To illustrate, an excerpt of the SCDLs for the inner.composite sample is as follows:

Source Composite

Contained in InnerComposite.scdl

Target Composite

Contained in InnerComposite2.scdl

Containing Composite

Contained in default.scdl

Async Callbacks via WS/Axis2 Binding

In this mode, the reference and service used by the source and target components use a WS/Axis2 binding (<>). For an example, see the helloworldws-async and helloworldwsclient-async samples. A preview of the SCDLs is as follows:

Server side

Client side


Currently, async callbacks over WS/Axis2 has the following limitations:

Tuscany/TuscanyJava/SCA_Java/AsyncCallbacks (last edited 2009-09-20 22:47:41 by localhost)