|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.oracle.webservices.api.message.BasePropertySet
com.sun.xml.ws.transport.http.WSHTTPConnection
com.sun.xml.ws.transport.http.servlet.ServletConnectionImpl
public class ServletConnectionImpl
WSHTTPConnection
implemented for HttpServlet
.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class com.oracle.webservices.api.message.BasePropertySet |
---|
com.oracle.webservices.api.message.BasePropertySet.Accessor, com.oracle.webservices.api.message.BasePropertySet.PropertyMap, com.oracle.webservices.api.message.BasePropertySet.PropertyMapEntry |
Nested classes/interfaces inherited from interface com.oracle.webservices.api.message.PropertySet |
---|
com.oracle.webservices.api.message.PropertySet.Property |
Field Summary |
---|
Fields inherited from class com.sun.xml.ws.transport.http.WSHTTPConnection |
---|
INTERNAL_ERR, MALFORMED_XML, OK, ONEWAY, UNSUPPORTED_MEDIA |
Constructor Summary | |
---|---|
ServletConnectionImpl(ServletAdapter adapter,
javax.servlet.ServletContext context,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
|
Method Summary | |
---|---|
java.lang.String |
getBaseAddress()
Gets the absolute URL up to the context path. |
javax.servlet.ServletContext |
getContext()
Environment specific context , if available |
java.lang.String |
getContextPath()
Portion of the request URI that groups related service addresses. |
java.lang.String |
getCookie(java.lang.String name)
Subclasses are expected to override |
java.lang.String |
getEPRAddress(Packet p,
WSEndpoint endpoint)
Gets the address of the endpoint. |
HaInfo |
getHaInfo()
|
java.io.InputStream |
getInput()
Transport's underlying input stream. |
java.io.OutputStream |
getOutput()
Transport's underlying output stream |
java.lang.String |
getPathInfo()
Extra portion of the request URI after the end of the expected address of the service but before the query string |
protected com.oracle.webservices.api.message.BasePropertySet.PropertyMap |
getPropertyMap()
Map representing the Fields and Methods annotated with PropertySet.Property . |
java.lang.String |
getProtocol()
Subclasses are expected to override |
java.lang.String |
getQueryString()
HTTP Query string, such as "foo=bar", or null if none exists. |
javax.servlet.http.HttpServletRequest |
getRequest()
|
java.lang.Object |
getRequestAttribute(java.lang.String key)
Gets request metadata attribute |
java.lang.String |
getRequestHeader(java.lang.String headerName)
Gets an HTTP request header. |
java.util.Set<java.lang.String> |
getRequestHeaderNames()
HTTP request header names. |
java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
getRequestHeaders()
HTTP request headers. |
java.util.List<java.lang.String> |
getRequestHeaderValues(java.lang.String headerName)
Gets an HTTP request header. |
java.lang.String |
getRequestMethod()
HTTP request method, such as "GET" or "POST". |
java.lang.String |
getRequestScheme()
Requested scheme, e.g. |
java.lang.String |
getRequestURI()
Requested path. |
java.lang.String |
getRequestURL()
|
javax.servlet.http.HttpServletResponse |
getResponse()
|
java.util.Map<java.lang.String,java.util.List<java.lang.String>> |
getResponseHeaders()
|
java.lang.String |
getServerName()
Server name |
int |
getServerPort()
Server port |
int |
getStatus()
Gets the last value set by WSHTTPConnection.setStatus(int) . |
java.security.Principal |
getUserPrincipal()
User principal associated with the request |
java.security.Principal |
getUserPrincipal(Packet p)
Implements WebServiceContext.getUserPrincipal()
for the given packet. |
WebServiceContextDelegate |
getWebServiceContextDelegate()
Returns the WebServiceContextDelegate for this connection. |
java.lang.String |
getWSDLAddress(Packet request,
WSEndpoint endpoint)
Gets the address of the primary WSDL. |
boolean |
isSecure()
Whether connection is HTTPS or not |
boolean |
isUserInRole(Packet p,
java.lang.String role)
Implements WebServiceContext.isUserInRole(String)
for the given packet. |
boolean |
isUserInRole(java.lang.String role)
Whether user associated with the request holds the given role |
void |
setContentLengthResponseHeader(int value)
Subclasses are expected to override |
void |
setContentTypeResponseHeader(java.lang.String value)
Sets the "Content-Type" header. |
void |
setCookie(java.lang.String name,
java.lang.String value)
Subclasses are expected to override |
void |
setHaInfo(HaInfo replicaInfo)
|
void |
setResponseHeader(java.lang.String key,
java.util.List<java.lang.String> value)
|
void |
setResponseHeader(java.lang.String key,
java.lang.String value)
|
void |
setResponseHeaders(java.util.Map<java.lang.String,java.util.List<java.lang.String>> headers)
sets response headers. |
void |
setStatus(int status)
Sets the HTTP response code like WSHTTPConnection.OK . |
Methods inherited from class com.sun.xml.ws.transport.http.WSHTTPConnection |
---|
close, isClosed |
Methods inherited from class com.oracle.webservices.api.message.BasePropertySet |
---|
asMap, containsKey, createEntrySet, createMapView, createView, get, mapAllowsAdditionalProperties, parse, put, remove, supports |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public ServletConnectionImpl(@NotNull ServletAdapter adapter, javax.servlet.ServletContext context, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
Method Detail |
---|
@NotNull public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getRequestHeaders()
WSHTTPConnection
getRequestHeaders
in class WSHTTPConnection
public java.util.Set<java.lang.String> getRequestHeaderNames()
WSHTTPConnection
getRequestHeaderNames
in class WSHTTPConnection
public java.util.List<java.lang.String> getRequestHeaderValues(@NotNull java.lang.String headerName)
WSHTTPConnection
getRequestHeaderValues
in class WSHTTPConnection
public void setResponseHeaders(java.util.Map<java.lang.String,java.util.List<java.lang.String>> headers)
setResponseHeaders
in class WSHTTPConnection
headers
- See URLConnection.getHeaderFields()
for the format.
This parameter may not be null, but since the user application
code may invoke this method, a graceful error checking with
an helpful error message should be provided if it's actually null.WSHTTPConnection.setContentTypeResponseHeader(String)
public void setResponseHeader(java.lang.String key, java.lang.String value)
setResponseHeader
in class WSHTTPConnection
public void setResponseHeader(java.lang.String key, java.util.List<java.lang.String> value)
setResponseHeader
in class WSHTTPConnection
public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getResponseHeaders()
getResponseHeaders
in class WSHTTPConnection
public void setStatus(int status)
WSHTTPConnection
WSHTTPConnection.OK
.
While JAX-WS processes a WSHTTPConnection
, it
will at least call this method once to set a valid HTTP response code.
Note that this method may be invoked multiple times (from user code),
so do not consider the value to be final until WSHTTPConnection.getOutput()
is invoked.
setStatus
in class WSHTTPConnection
public int getStatus()
WSHTTPConnection
WSHTTPConnection.setStatus(int)
.
getStatus
in class WSHTTPConnection
WSHTTPConnection.setStatus(int)
has not been invoked yet,
return 0.public void setContentTypeResponseHeader(@NotNull java.lang.String value)
WSHTTPConnection
If the Content-Type header has already been set, this method will overwrite the previously set value. If not, this method adds it.
Note that this method and WSHTTPConnection.setResponseHeaders(java.util.Map)
may be invoked in any arbitrary order.
setContentTypeResponseHeader
in class WSHTTPConnection
value
- strings like "application/xml; charset=UTF-8" or
"image/jpeg".@NotNull public java.io.InputStream getInput() throws java.io.IOException
WSHTTPConnection
This method will be invoked at most once by the JAX-WS RI to
read the request body. If there's no request body, this method
should return an empty InputStream
.
getInput
in class WSHTTPConnection
java.io.IOException
@NotNull public java.io.OutputStream getOutput() throws java.io.IOException
WSHTTPConnection
This method will be invoked exactly once by the JAX-WS RI to start writing the response body (unless the processing aborts abnormally.) Even if there's no response body to write, this method will still be invoked only to be closed immediately.
Once this method is called, the status code and response
headers will never change (IOW WSHTTPConnection.setStatus(int)
,
WSHTTPConnection.setResponseHeaders(java.util.Map
, and WSHTTPConnection.setContentTypeResponseHeader(String)
will never be invoked.
getOutput
in class WSHTTPConnection
java.io.IOException
@NotNull public WebServiceContextDelegate getWebServiceContextDelegate()
WSHTTPConnection
WebServiceContextDelegate
for this connection.
getWebServiceContextDelegate
in class WSHTTPConnection
public java.security.Principal getUserPrincipal(Packet p)
WebServiceContextDelegate
WebServiceContext.getUserPrincipal()
for the given packet.
getUserPrincipal
in interface WebServiceContextDelegate
p
- Always non-null. See class javadoc.WebServiceContext.getUserPrincipal()
public boolean isUserInRole(Packet p, java.lang.String role)
WebServiceContextDelegate
WebServiceContext.isUserInRole(String)
for the given packet.
isUserInRole
in interface WebServiceContextDelegate
p
- Always non-null. See class javadoc.WebServiceContext.isUserInRole(String)
@NotNull public java.lang.String getEPRAddress(Packet p, WSEndpoint endpoint)
WebServiceContextDelegate
The "address" of endpoints is always affected by a particular client being served, hence it's up to transport to provide this information.
getEPRAddress
in interface WebServiceContextDelegate
p
- Always non-null. See class javadoc.endpoint
- The endpoint whose address will be returned.
WebServiceContext.getEndpointReference(org.w3c.dom.Element...)
public java.lang.String getWSDLAddress(@NotNull Packet request, @NotNull WSEndpoint endpoint)
WebServiceContextDelegate
If a transport supports publishing of WSDL by itself (instead/in addition to MEX),
then it should implement this method so that the rest of the JAX-WS RI can
use that information.
For example, HTTP transports often use the convention getEPRAddress()+"?wsdl"
for publishing WSDL on HTTP.
Some transports may not have such WSDL publishing mechanism on its own.
Those transports may choose to return null, indicating that WSDL
is not published. If such transports are always used in conjunction with
other transports that support WSDL publishing (such as SOAP/TCP used
with Servlet transport), then such transport may
choose to find the corresponding servlet endpoint by Module.getBoundEndpoints()
and try to obtain the address from there.
This information is used to put a metadata reference inside an EPR, among other things. Clients that do not support MEX rely on this WSDL URL to retrieve metadata, it is desirable for transports to support this, but not mandatory.
This method will be never invoked if the WSEndpoint
does not have a corresponding WSDL to begin with
(IOW returning null
.
getWSDLAddress
in interface WebServiceContextDelegate
request
- Always non-null. See class javadoc.endpoint
- The endpoint whose address will be returned.
@NotNull public java.lang.String getRequestMethod()
WSHTTPConnection
getRequestMethod
in class WSHTTPConnection
public boolean isSecure()
WSHTTPConnection
isSecure
in class WSHTTPConnection
public java.security.Principal getUserPrincipal()
WSHTTPConnection
getUserPrincipal
in class WSHTTPConnection
public boolean isUserInRole(java.lang.String role)
WSHTTPConnection
isUserInRole
in class WSHTTPConnection
role
- Role to check
public java.lang.String getRequestHeader(java.lang.String headerName)
WSHTTPConnection
if multiple headers are present, this method returns one of them. (The implementation is free to choose which one it returns.)
getRequestHeader
in class WSHTTPConnection
public java.lang.String getQueryString()
WSHTTPConnection
getQueryString
in class WSHTTPConnection
@NotNull public java.lang.String getPathInfo()
WSHTTPConnection
getPathInfo
in class WSHTTPConnection
@NotNull public java.lang.String getRequestURI()
WSHTTPConnection
getRequestURI
in class WSHTTPConnection
@NotNull public java.lang.String getRequestScheme()
WSHTTPConnection
getRequestScheme
in class WSHTTPConnection
@NotNull public java.lang.String getServerName()
WSHTTPConnection
getServerName
in class WSHTTPConnection
@NotNull public int getServerPort()
WSHTTPConnection
getServerPort
in class WSHTTPConnection
@NotNull public java.lang.String getContextPath()
WSHTTPConnection
getContextPath
in class WSHTTPConnection
@NotNull public java.lang.String getBaseAddress()
WSHTTPConnection
getBaseAddress
in class WSHTTPConnection
public java.lang.Object getRequestAttribute(java.lang.String key)
WSHTTPConnection
getRequestAttribute
in class WSHTTPConnection
key
- Request metadata key
public javax.servlet.ServletContext getContext()
WSHTTPConnection
getContext
in class WSHTTPConnection
public javax.servlet.http.HttpServletResponse getResponse()
public javax.servlet.http.HttpServletRequest getRequest()
public java.lang.String getRequestURL()
public java.lang.String getProtocol()
WSHTTPConnection
getProtocol
in class WSHTTPConnection
String
containing the protocol name and version numberpublic void setContentLengthResponseHeader(int value)
WSHTTPConnection
setContentLengthResponseHeader
in class WSHTTPConnection
public java.lang.String getCookie(java.lang.String name)
WSHTTPConnection
getCookie
in class WSHTTPConnection
public void setCookie(java.lang.String name, java.lang.String value)
WSHTTPConnection
setCookie
in class WSHTTPConnection
public HaInfo getHaInfo()
public void setHaInfo(HaInfo replicaInfo)
protected com.oracle.webservices.api.message.BasePropertySet.PropertyMap getPropertyMap()
com.oracle.webservices.api.message.BasePropertySet
PropertySet.Property
.
Model of PropertySet
class.
At the end of the derivation chain this method just needs to be implemented as:
private static final PropertyMap model; static { model = parse(MyDerivedClass.class); } protected PropertyMap getPropertyMap() { return model; }
getPropertyMap
in class com.oracle.webservices.api.message.BasePropertySet
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |