KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > javax > xml > ws > Dispatch


1 /*
2  * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
3  * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
4  */

5
6 package javax.xml.ws;
7
8 import java.util.concurrent.Future JavaDoc;
9
10 /** The <code>Dispatch</code> interface provides support
11  * for the dynamic invocation of a service endpoint operations. The
12  * <code>javax.xml.ws.Service</code>
13  * interface acts as a factory for the creation of <code>Dispatch</code>
14  * instances.
15  *
16  * @since JAX-WS 2.0
17 **/

18 public interface Dispatch<T> extends BindingProvider {
19
20     /** Invoke a service operation synchronously.
21      *
22      * The client is responsible for ensuring that the <code>msg</code> object
23      * when marshalled is formed according to the requirements of the protocol
24      * binding in use.
25      *
26      * @param msg An object that will form the message or payload of
27      * the message used to invoke the operation.
28      * @return The response message or message payload to the
29      * operation invocation.
30      * @throws WebServiceException If a fault occurs during communication with
31      * the service
32      * @throws WebServiceException If there is any error in the configuration of
33      * the <code>Dispatch</code> instance
34     **/

35     public T invoke(T msg);
36
37     /** Invoke a service operation asynchronously. The
38      * method returns without waiting for the response to the operation
39      * invocation, the results of the operation are obtained by polling the
40      * returned <code>Response</code>.
41      * <p>
42      * The client is responsible for ensuring that the <code>msg</code> object
43      * when marshalled is formed according to the requirements of the protocol
44      * binding in use.
45      *
46      * @param msg An object that will form the message or payload of
47      * the message used to invoke the operation.
48      * @return The response message or message payload to the
49      * operation invocation.
50      * @throws WebServiceException If there is any error in the configuration of
51      * the <code>Dispatch</code> instance
52     **/

53     public Response<T> invokeAsync(T msg);
54
55     /** Invoke a service operation asynchronously. The
56      * method returns without waiting for the response to the operation
57      * invocation, the results of the operation are communicated to the client
58      * via the passed in <code>handler</code>.
59      * <p>
60      * The client is responsible for ensuring that the <code>msg</code> object
61      * when marshalled is formed according to the requirements of the protocol
62      * binding in use.
63      *
64      * @param msg An object that will form the message or payload of
65      * the message used to invoke the operation.
66      * @param handler The handler object that will receive the
67      * response to the operation invocation.
68      * @return A <code>Future</code> object that may be used to check the status
69      * of the operation invocation. This object MUST NOT be used to try to
70      * obtain the results of the operation - the object returned from
71      * <code>Future&lt;?>.get()</code> is implementation dependent
72      * and any use of it will result in non-portable behaviour.
73      * @throws WebServiceException If there is any error in the configuration of
74      * the <code>Dispatch</code> instance
75     **/

76     public Future JavaDoc<?> invokeAsync(T msg, AsyncHandler<T> handler);
77
78     /** Invokes a service operation using the one-way
79      * interaction mode. The operation invocation is logically non-blocking,
80      * subject to the capabilities of the underlying protocol, no results
81      * are returned. When
82      * the protocol in use is SOAP/HTTP, this method MUST block until
83      * an HTTP response code has been received or an error occurs.
84      * <p>
85      * The client is responsible for ensuring that the <code>msg</code> object
86      * when marshalled is formed according to the requirements of the protocol
87      * binding in use.
88      *
89      * @param msg An object that will form the message or payload of
90      * the message used to invoke the operation.
91      * @throws WebServiceException If there is any error in the configuration of
92      * the <code>Dispatch</code> instance or if an error occurs during the
93      * invocation.
94     **/

95     public void invokeOneWay(T msg);
96 }
97
Popular Tags