|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javax.xml.ws.spi.http.HttpExchange
public abstract class HttpExchange
This class encapsulates a HTTP request received and a response to be generated in one exchange. It provides methods for examining the request from the client, and for building and sending the response.
A HttpExchange
must be closed to free or reuse
underlying resources. The effect of failing to close an exchange
is undefined.
Field Summary | |
---|---|
static java.lang.String |
REQUEST_CIPHER_SUITE
Standard property: cipher suite value when the request is received over HTTPS |
static java.lang.String |
REQUEST_KEY_SIZE
Standard property: bit size of the algorithm when the request is received over HTTPS |
static java.lang.String |
REQUEST_X509CERTIFICATE
Standard property: A SSL certificate, if any, associated with the request |
Constructor Summary | |
---|---|
HttpExchange()
|
Method Summary | |
---|---|
abstract void |
addResponseHeader(java.lang.String name,
java.lang.String value)
Adds a response header with the given name and value. |
abstract void |
close()
This must be called to end an exchange. |
abstract java.lang.Object |
getAttribute(java.lang.String name)
Returns an attribute that is associated with this HttpExchange . |
abstract java.util.Set<java.lang.String> |
getAttributeNames()
Gives all the attribute names that are associated with this HttpExchange . |
abstract java.lang.String |
getContextPath()
Returns the context path of all the endpoints in an application. |
abstract HttpContext |
getHttpContext()
Returns a HttpContext for this exchange. |
abstract java.net.InetSocketAddress |
getLocalAddress()
Returns the unresolved local address on which the request was received. |
abstract java.lang.String |
getPathInfo()
Returns the extra path information that follows the web service path but precedes the query string in the request URI and will start with a "/" character. |
abstract java.lang.String |
getProtocol()
Returns the protocol string from the request in the form protocol/majorVersion.minorVersion. |
abstract java.lang.String |
getQueryString()
Returns the query string that is contained in the request URI after the path. |
abstract java.net.InetSocketAddress |
getRemoteAddress()
Returns the unresolved address of the remote entity invoking this request. |
abstract java.io.InputStream |
getRequestBody()
Returns a stream from which the request body can be read. |
abstract java.lang.String |
getRequestHeader(java.lang.String name)
Returns the value of the specified request header. |
abstract java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
getRequestHeaders()
Returns an immutable Map containing the HTTP headers that were included with this request. |
abstract java.lang.String |
getRequestMethod()
Get the HTTP request method |
abstract java.lang.String |
getRequestURI()
Returns the part of the request's URI from the protocol name up to the query string in the first line of the HTTP request. |
abstract java.io.OutputStream |
getResponseBody()
Returns a stream to which the response body must be written. |
abstract java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
getResponseHeaders()
Returns a mutable Map into which the HTTP response headers can be stored and which will be transmitted as part of this response. |
abstract java.lang.String |
getScheme()
Returns the name of the scheme used to make this request, for example: http, or https. |
abstract java.security.Principal |
getUserPrincipal()
Returns the Principal that represents the authenticated
user for this HttpExchange . |
abstract boolean |
isUserInRole(java.lang.String role)
Indicates whether an authenticated user is included in the specified logical "role". |
abstract void |
setStatus(int status)
Sets the HTTP status code for the response. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String REQUEST_CIPHER_SUITE
Type: String
public static final java.lang.String REQUEST_KEY_SIZE
Type: Integer
public static final java.lang.String REQUEST_X509CERTIFICATE
Type: java.security.cert.X509Certificate[] The order of this array is defined as being in ascending order of trust. The first certificate in the chain is the one set by the client, the next is the one used to authenticate the first, and so on.
Constructor Detail |
---|
public HttpExchange()
Method Detail |
---|
public abstract java.util.Map<java.lang.String,java.util.List<java.lang.String>> getRequestHeaders()
The keys in Map are case-insensitive.
public abstract java.lang.String getRequestHeader(java.lang.String name)
getRequestHeaders()
).
name
- the name of the request header
public abstract java.util.Map<java.lang.String,java.util.List<java.lang.String>> getResponseHeaders()
The keys in Map are case-insensitive.
public abstract void addResponseHeader(java.lang.String name, java.lang.String value)
name
- the name of the headervalue
- the additional header value. If it contains octet string,
it should be encoded according to
RFC 2047 (http://www.ietf.org/rfc/rfc2047.txt)getResponseHeaders()
public abstract java.lang.String getRequestURI()
public abstract java.lang.String getContextPath()
Context path is used in computing the endpoint address. See
HttpContext#getPath
HttpContext#getPath
public abstract java.lang.String getRequestMethod()
public abstract HttpContext getHttpContext()
HttpContext
for this exchange.
Container matches the request with the associated Endpoint's HttpContext
public abstract void close() throws java.io.IOException
java.io.IOException
- if any i/o errorpublic abstract java.io.InputStream getRequestBody() throws java.io.IOException
java.io.IOException
- if any i/o error during request processingpublic abstract java.io.OutputStream getResponseBody() throws java.io.IOException
setStatus(int)
) must be called prior to calling
this method. Multiple calls to this method (for the same exchange)
will return the same stream.
java.io.IOException
- if any i/o error during response processingpublic abstract void setStatus(int status)
This method must be called prior to calling getResponseBody()
.
status
- the response code to sendgetResponseBody()
public abstract java.net.InetSocketAddress getRemoteAddress()
public abstract java.net.InetSocketAddress getLocalAddress()
public abstract java.lang.String getProtocol()
public abstract java.lang.String getScheme()
public abstract java.lang.String getPathInfo()
This can be used for MessageContext#PATH_INFO
public abstract java.lang.String getQueryString()
This can be used for MessageContext#QUERY_STRING
public abstract java.lang.Object getAttribute(java.lang.String name)
HttpExchange
. JAX-WS handlers and endpoints may then
access the attribute via MessageContext
.
Servlet containers must expose MessageContext#SERVLET_CONTEXT
,
MessageContext#SERVLET_REQUEST
, and
MessageContext#SERVLET_RESPONSE
as attributes.
If the request has been received by the container using HTTPS, the
following information must be exposed as attributes. These attributes
are REQUEST_CIPHER_SUITE
, and REQUEST_KEY_SIZE
.
If there is a SSL certificate associated with the request, it must
be exposed using REQUEST_X509CERTIFICATE
name
- attribute name
public abstract java.util.Set<java.lang.String> getAttributeNames()
HttpExchange
.
getAttribute(String)
public abstract java.security.Principal getUserPrincipal()
Principal
that represents the authenticated
user for this HttpExchange
.
public abstract boolean isUserInRole(java.lang.String role)
role
- specifies the name of the role
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright © 2009, 2010, Oracle Corporation and/or its affiliates. All Rights Reserved. Use is subject to license terms.
Generated on 4-June-2010 04:34