Tue, 07 Nov 2017 18:54:04 -0800
Added tag jdk8u162-b06 for changeset 6095742f8034
1 /*
2 * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
26 package javax.xml.ws;
28 import java.util.Map;
29 import javax.xml.ws.wsaddressing.W3CEndpointReference;
31 /**
32 * The <code>BindingProvider</code> interface provides access to the
33 * protocol binding and associated context objects for request and
34 * response message processing.
35 *
36 * @since JAX-WS 2.0
37 *
38 * @see javax.xml.ws.Binding
39 **/
40 public interface BindingProvider {
41 /**
42 * Standard property: User name for authentication.
43 * <p>Type: <code>java.lang.String</code>
44 **/
45 public static final String USERNAME_PROPERTY =
46 "javax.xml.ws.security.auth.username";
48 /**
49 * Standard property: Password for authentication.
50 * <p>Type: <code>java.lang.String</code>
51 **/
52 public static final String PASSWORD_PROPERTY =
53 "javax.xml.ws.security.auth.password";
55 /**
56 * Standard property: Target service endpoint address. The
57 * URI scheme for the endpoint address specification MUST
58 * correspond to the protocol/transport binding for the
59 * binding in use.
60 * <p>Type: <code>java.lang.String</code>
61 **/
62 public static final String ENDPOINT_ADDRESS_PROPERTY =
63 "javax.xml.ws.service.endpoint.address";
65 /**
66 * Standard property: This boolean property is used by a service
67 * client to indicate whether or not it wants to participate in
68 * a session with a service endpoint. If this property is set to
69 * <code>true</code>, the service client indicates that it wants the session
70 * to be maintained. If set to <code>false</code>, the session is not maintained.
71 * The default value for this property is <code>false</code>.
72 * <p>Type: <code>java.lang.Boolean</code>
73 **/
74 public static final String SESSION_MAINTAIN_PROPERTY =
75 "javax.xml.ws.session.maintain";
77 /**
78 * Standard property for SOAPAction. This boolean property
79 * indicates whether or not the value of the
80 * <code>javax.xml.ws.soap.http.soapaction.uri</code> property
81 * is used for the value of the SOAPAction. The
82 * default value of this property is <code>false</code> indicating
83 * that the
84 * <code>javax.xml.ws.soap.http.soapaction.uri</code> property
85 * is not used for the value of the SOAPAction, however,
86 * if WS-Addressing is enabled, the default value is
87 * <code>true</code>.
88 *
89 * <p>Type: <code>java.lang.Boolean</code>
90 **/
91 public static final String SOAPACTION_USE_PROPERTY =
92 "javax.xml.ws.soap.http.soapaction.use";
94 /**
95 * Standard property for SOAPAction. Indicates the SOAPAction
96 * URI if the <code>javax.xml.ws.soap.http.soapaction.use</code>
97 * property is set to <code>true</code>. If WS-Addressing
98 * is enabled, this value will also be used for the value of the
99 * WS-Addressing Action header. If this property is not set,
100 * the default SOAPAction and WS-Addressing Action will be sent.
101 *
102 * <p>Type: <code>java.lang.String</code>
103 **/
104 public static final String SOAPACTION_URI_PROPERTY =
105 "javax.xml.ws.soap.http.soapaction.uri";
107 /**
108 * Get the context that is used to initialize the message context
109 * for request messages.
110 *
111 * Modifications to the request context do not affect the message context of
112 * either synchronous or asynchronous operations that have already been
113 * started.
114 *
115 * @return The context that is used in processing request messages.
116 **/
117 Map<String, Object> getRequestContext();
119 /**
120 * Get the context that resulted from processing a response message.
121 *
122 * The returned context is for the most recently completed synchronous
123 * operation. Subsequent synchronous operation invocations overwrite the
124 * response context. Asynchronous operations return their response context
125 * via the Response interface.
126 *
127 * @return The context that resulted from processing the latest
128 * response messages.
129 **/
130 Map<String, Object> getResponseContext();
132 /**
133 * Get the Binding for this binding provider.
134 *
135 * @return The Binding for this binding provider.
136 **/
137 Binding getBinding();
141 /**
142 * Returns the <code>EndpointReference</code> associated with
143 * this <code>BindingProvider</code> instance.
144 * <p>
145 * If the Binding for this <code>bindingProvider</code> is
146 * either SOAP1.1/HTTP or SOAP1.2/HTTP, then a
147 * <code>W3CEndpointReference</code> MUST be returned.
148 *
149 * @return EndpointReference of the target endpoint associated with this
150 * <code>BindingProvider</code> instance.
151 *
152 * @throws java.lang.UnsupportedOperationException If this
153 * <code>BindingProvider</code> uses the XML/HTTP binding.
154 *
155 * @see W3CEndpointReference
156 *
157 * @since JAX-WS 2.1
158 */
159 public EndpointReference getEndpointReference();
162 /**
163 * Returns the <code>EndpointReference</code> associated with
164 * this <code>BindingProvider</code> instance. The instance
165 * returned will be of type <code>clazz</code>.
166 *
167 * @param clazz Specifies the type of <code>EndpointReference</code>
168 * that MUST be returned.
170 * @return EndpointReference of the target endpoint associated with this
171 * <code>BindingProvider</code> instance. MUST be of type
172 * <code>clazz</code>.
174 * @throws WebServiceException If the Class <code>clazz</code>
175 * is not supported by this implementation.
176 * @throws java.lang.UnsupportedOperationException If this
177 * <code>BindingProvider</code> uses the XML/HTTP binding.
178 *
179 * @since JAX-WS 2.1
180 */
181 public <T extends EndpointReference> T getEndpointReference(Class<T> clazz);
182 }