com.sun.xml.ws.transport.tcp.server
Class TCPConnectionImpl

java.lang.Object
  extended by com.sun.xml.ws.transport.tcp.server.TCPConnectionImpl
All Implemented Interfaces:
WebServiceContextDelegate

public class TCPConnectionImpl
extends Object
implements WebServiceContextDelegate

Author:
Alexey Stashok

Constructor Summary
TCPConnectionImpl(ChannelContext channelContext)
           
 
Method Summary
 void close()
           
 void flush()
           
 ChannelContext getChannelContext()
           
 String getContentType()
           
 String getEPRAddress(Packet request, WSEndpoint endpoint)
          Gets the address of the endpoint.
 int getStatus()
           
 Principal getUserPrincipal(Packet request)
          Implements WebServiceContext.getUserPrincipal() for the given packet.
 String getWSDLAddress(Packet request, WSEndpoint endpoint)
          Gets the address of the primary WSDL.
 boolean isUserInRole(Packet request, String role)
          Implements WebServiceContext.isUserInRole(String) for the given packet.
 InputStream openInput()
           
 OutputStream openOutput()
           
 void sendErrorMessage(WSTCPError message)
           
 void setContentType(String contentType)
           
 void setStatus(int statusCode)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TCPConnectionImpl

public TCPConnectionImpl(ChannelContext channelContext)
Method Detail

openInput

public InputStream openInput()
                      throws IOException,
                             WSTCPException
Throws:
IOException
WSTCPException

openOutput

public OutputStream openOutput()
                        throws IOException,
                               WSTCPException
Throws:
IOException
WSTCPException

getStatus

public int getStatus()

setStatus

public void setStatus(int statusCode)

getContentType

public String getContentType()

setContentType

public void setContentType(String contentType)

flush

public void flush()
           throws IOException,
                  WSTCPException
Throws:
IOException
WSTCPException

close

public void close()

getUserPrincipal

public Principal getUserPrincipal(Packet request)
Description copied from interface: WebServiceContextDelegate
Implements WebServiceContext.getUserPrincipal() for the given packet.

Specified by:
getUserPrincipal in interface WebServiceContextDelegate
Parameters:
request - Always non-null. See class javadoc.
See Also:
WebServiceContext.getUserPrincipal()

isUserInRole

public boolean isUserInRole(Packet request,
                            String role)
Description copied from interface: WebServiceContextDelegate
Implements WebServiceContext.isUserInRole(String) for the given packet.

Specified by:
isUserInRole in interface WebServiceContextDelegate
Parameters:
request - Always non-null. See class javadoc.
See Also:
WebServiceContext.isUserInRole(String)

getEPRAddress

@NotNull
public String getEPRAddress(@NotNull
                                    Packet request,
                                    @NotNull
                                    WSEndpoint endpoint)
Description copied from interface: WebServiceContextDelegate
Gets the address of the endpoint.

The "address" of endpoints is always affected by a particular client being served, hence it's up to transport to provide this information.

Specified by:
getEPRAddress in interface WebServiceContextDelegate
Parameters:
request - Always non-null. See class javadoc.
endpoint - The endpoint whose address will be returned.
Returns:
Absolute URL of the endpoint. This shold be an address that the client can use to talk back to this same service later.
See Also:
WebServiceContext.getEndpointReference(org.w3c.dom.Element...)

getWSDLAddress

public String getWSDLAddress(@NotNull
                             Packet request,
                             @NotNull
                             WSEndpoint endpoint)
Description copied from interface: WebServiceContextDelegate
Gets the address of the primary WSDL.

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.

Specified by:
getWSDLAddress in interface WebServiceContextDelegate
Parameters:
request - Always non-null. See class javadoc.
endpoint - The endpoint whose address will be returned.
Returns:
null if the implementation does not support the notion of WSDL publishing.

sendErrorMessage

public void sendErrorMessage(WSTCPError message)
                      throws IOException,
                             WSTCPException
Throws:
IOException
WSTCPException

getChannelContext

public ChannelContext getChannelContext()


Copyright © 2005-2015 Oracle Corporation. All Rights Reserved.