org.apache.axis2.transport
Interface RequestResponseTransport

All Known Implementing Classes:
AxisServlet.ServletRequestResponseTransport, HttpCoreRequestResponseTransport

public interface RequestResponseTransport

This interface represents a control object for a Request/Response transport. The normal flow of Axis2 is rooted at the transport -- this does not allow for an acknowledgement to be transmitted before processing has completed, nor does it allow for processing to be paused and resumed on a separate thread without having a response be sent back. This interface enables both of those scenarios by allowing the transport to expose controls to the rest of the engine via a callback.


Nested Class Summary
static class RequestResponseTransport.RequestResponseTransportStatus
          Used to give the current status of the RequestResponseTransport object.
 
Field Summary
static java.lang.String HOLD_RESPONSE
          If this property is set to true in a message transport will call the awaitResponse method of the RequestResponseTransport instead of returning.
static java.lang.String TRANSPORT_CONTROL
           
 
Method Summary
 void acknowledgeMessage(MessageContext msgContext)
          Notify the transport that a message should be acknowledged at this time.
 void awaitResponse()
          Pause execution and wait for a response message to be ready.
 RequestResponseTransport.RequestResponseTransportStatus getStatus()
          This gives the current status of an RequestResponseTransport object.
 boolean isResponseWritten()
          This will indicate whether or not the response has already been written
 void setResponseWritten(boolean responseWritten)
          This is used to set the response written flag on the RequestResponseTransport instance
 void signalFaultReady(AxisFault fault)
          This will tell the transport to end a current wait by raising the given fault.
 void signalResponseReady()
          Signal that a response has be created and is ready for transmission.
 

Field Detail

TRANSPORT_CONTROL

static final java.lang.String TRANSPORT_CONTROL
See Also:
Constant Field Values

HOLD_RESPONSE

static final java.lang.String HOLD_RESPONSE
If this property is set to true in a message transport will call the awaitResponse method of the RequestResponseTransport instead of returning. The value should be a Boolean object.

See Also:
Constant Field Values
Method Detail

acknowledgeMessage

void acknowledgeMessage(MessageContext msgContext)
                        throws AxisFault
Notify the transport that a message should be acknowledged at this time.

Parameters:
msgContext -
Throws:
AxisFault

awaitResponse

void awaitResponse()
                   throws java.lang.InterruptedException,
                          AxisFault
Pause execution and wait for a response message to be ready. This will typically be called by the transport after a message has been paused and will cause the transport to block until a response message is ready to be returned. This is required to enable RM for in-out MEPs over a request/response transport; without it the message would be paused and the transport would simply ack the request.

Throws:
java.lang.InterruptedException
AxisFault

signalResponseReady

void signalResponseReady()
Signal that a response has be created and is ready for transmission. This should release anyone who is blocked on a awaitResponse().


signalFaultReady

void signalFaultReady(AxisFault fault)
This will tell the transport to end a current wait by raising the given fault.

Parameters:
fault - The fault to be raised.

getStatus

RequestResponseTransport.RequestResponseTransportStatus getStatus()
This gives the current status of an RequestResponseTransport object.

Returns:

isResponseWritten

boolean isResponseWritten()
This will indicate whether or not the response has already been written


setResponseWritten

void setResponseWritten(boolean responseWritten)
This is used to set the response written flag on the RequestResponseTransport instance



Copyright © 2007 Apache Web Services Project. All Rights Reserved.