Thanks for doing this.   This is really cool.

I've went ahead and copied some of this to:
http://cwiki.apache.org/confluence/display/CXF20DOC/Interceptors
and filled in the gaps. Let me know if anything needs to be clarified or expanded.

There's definitely a bunch more interceptors that could be added. If ws-addressing or ws-rm or similar is enabled, more stuff is added. That list covers the "normal" use cases though. Nicely done.

Thanks!

Dan



On May 12, 2008, at 8:16 AM, harbhanu wrote:

Hi,
As per the earlier mails what I learnt is that interceptor holds the core logic with regards to processing of messages. So, I have decided to compile the top level tasks performed by each of the predefined interceptors getting invoked during in/out/fault processing. I am not able to formulate the same for most of the interceptors, as am a bit new to this and the code also
doesn't provide too descriptive documentation. I couldn't find much
documentation on net too.
Please point me to some appropriate resources. Thanks !!
[Apologies incase I am being too demanding from the group]

The information that I have till now...although it might have some errors... Following list contains interceptors for in/out message processing at the
server side...

Default Incoming interceptor chain (Server):
AttachmentInInterceptor
        Constructs soap message with attachments from the MIME input stream
StaxInInterceptor
        Creates an XMLStreamReader from the transport InputStream on the
Message
ReadHeadersInterceptor
        Adds information pertaining to different headers in Message header
SoapActionInInterceptor
        Parses "soapaction" information, based on input message type i.e.
SOAP 1.1        or 1.2
MustUnderstandInterceptor
        Checks the MustUnderstand headers, its applicability and process it,
if      required
SOAPHandlerInterceptor
        SOAP Handler as per JAX-WS
LogicalHandlerInInterceptor
        Logical Handler as per JAX-WS
CheckFaultInterceptor
        Checks for fault, if present aborts interceptor chain and invokes
fault handler
URIMappingInterceptor
        Can handle HTTP GET, extracts operation info and sets the same in
the Message
DocLiteralnInterceptor
        Extracts operation information from the message
SoapHeaderInterceptor
        Perform databinding of the SOAP headers 
WrapperClassInInterceptor
        -
SwAInInterceptor
        -
HolderInInterceptor
        -
ServiceInvokerInInterceptor
   -

-------------------------------
Default Outgoing chain stack (Server):
HolderOutInterceptor
        -
SwAOutInterceptor
        -
WrapperClassOutInterceptor
        -
SoapHeaderOutFilterInterceptor
        Removes inbound marked headers
SoapActionOutInterceptor
        Sets the SOAP Action on the wrapped operation, based on message type
i.e. SOAP 1.1 or 1.2
        Does it when, if (!(message ==
message.getExchange().getInMessage()))
        Query: What does this condition means, when this interceptor itself
is plugged on outgoing chain ?
MessageSenderInterceptor
                
SoapPreProtocolOutInterceptor
        This interceptor is responsible for setting up the SOAP version and
header,
        so that this is available to any pre-protocol interceptors that
require these to be available.
        
AttachmentOutInterceptor
        -

StaxOutInterceptor
        Creates an XMLStreamWriter from the OutputStream on the Message.
        
SoapHandlerInterceptor [-->AbstractProtocolHandlerInterceptor -->
AbstractJAXWSHandlerInterceptor]
        Invokes handle message

SoapOutInterceptor
        Writes start element for soap:envelope and complete elements for
other header
        blocks in the message. Adds start element for soap:body too.
        
LogicalHandlerOutInterceptor [--> AbstractJAXWSHandlerInterceptor]
        Replaces XML Stream writer with StAX writer
        
WrapperOutInterceptor   

BareOutInterceptor

SoapOutInterceptor$SoapOutEndingInterceptor

StaxOutInterceptor$StaxOutEndingInterceptor

MessageSenderInt$MessageSenderEnding
----------------------------------------------------------------------------

I guess that some of the information in the above list might be
incomplete/incorrect/missing. Please help me update the same so that it will
be helpful for others too :). Thanks!!

Regards,
Harbhanu


---
Daniel Kulp
[EMAIL PROTECTED]
http://www.dankulp.com/blog




Reply via email to