| java.lang.Object com.sun.xml.ws.handler.HandlerProcessor
HandlerProcessor | abstract class HandlerProcessor (Code) | | author: WS Development Team |
Inner Class :public enum RequestOrResponse | |
Inner Class :public enum Direction | |
Method Summary | |
public boolean | callHandlersRequest(Direction direction, C context, boolean responseExpected) TODO: Just putting thoughts,
Current contract: This is Called during Request Processing.
return true, if all handlers in the chain return true
Current Pipe can call nextPipe.process();
return false, One of the handlers has returned false or thrown a
RuntimeException. | public void | callHandlersResponse(Direction direction, C context, boolean isFault) TODO: Just putting thoughts,
Current contract: This is Called during Response Processing.
Runs all handlers until handle returns false or throws a RuntimeException
CurrentPipe should close all the handlers in the chain.
throw RuntimeException, this happens when a RuntimeException occurs during
normal Response processing or remedy action 2) taken
during callHandlersRequest().
CurrentPipe should close all the handlers in the chain. | void | closeHandlers(MessageContext context, int start, int end) Calls close on the handlers from the starting
index through the ending index (inclusive). | int | getIndex() | abstract void | insertFaultMessage(C context, ProtocolException exception) When a ProtocolException is thrown, this is called. | void | setIndex(int i) |
isClient | boolean isClient(Code) | | |
HandlerProcessor | protected HandlerProcessor(HandlerTube owner, WSBinding binding, List<? extends Handler> chain)(Code) | | The handlers that are passed in will be sorted into
logical and soap handlers. During this sorting, the
understood headers are also obtained from any soap
handlers.
Parameters: chain - A list of handler objects, which canbe protocol or logical handlers. |
callHandlersRequest | public boolean callHandlersRequest(Direction direction, C context, boolean responseExpected)(Code) | | TODO: Just putting thoughts,
Current contract: This is Called during Request Processing.
return true, if all handlers in the chain return true
Current Pipe can call nextPipe.process();
return false, One of the handlers has returned false or thrown a
RuntimeException. Remedy Actions taken:
1) In this case, The processor will setIndex()to track what
handlers are invoked until that point.
2) Previously invoked handlers are again invoked (handleMessage()
or handleFault()) to take remedy action.
CurrentPipe should NOT call nextPipe.process()
While closing handlers, check getIndex() to get the invoked
handlers.
throws: RuntimeException - this happens when a RuntimeException occurs duringhandleMessage during Request processing orduring remedy action 2)CurrentPipe should NOT call nextPipe.process() and throw theexception to the previous PipeWhile closing handlers, check getIndex() to get the invokedhandlers. |
callHandlersResponse | public void callHandlersResponse(Direction direction, C context, boolean isFault)(Code) | | TODO: Just putting thoughts,
Current contract: This is Called during Response Processing.
Runs all handlers until handle returns false or throws a RuntimeException
CurrentPipe should close all the handlers in the chain.
throw RuntimeException, this happens when a RuntimeException occurs during
normal Response processing or remedy action 2) taken
during callHandlersRequest().
CurrentPipe should close all the handlers in the chain. *
|
closeHandlers | void closeHandlers(MessageContext context, int start, int end)(Code) | | Calls close on the handlers from the starting
index through the ending index (inclusive). Made indices
inclusive to allow both directions more easily.
|
getIndex | int getIndex()(Code) | | Gives index of the handler in the chain to know what handlers in the chain
are invoked
|
insertFaultMessage | abstract void insertFaultMessage(C context, ProtocolException exception)(Code) | | When a ProtocolException is thrown, this is called.
If it's XML/HTTP Binding, clear the the message
If its SOAP/HTTP Binding, put right SOAP Fault version
|
setIndex | void setIndex(int i)(Code) | | This is called when a handler returns false or throws a RuntimeException
|
|
|