org.jboss.txbridge
Class JaxWSServerHeaderContextProcessor

java.lang.Object
  extended by org.jboss.txbridge.JaxWSServerHeaderContextProcessor
All Implemented Interfaces:
javax.xml.ws.handler.Handler, javax.xml.ws.handler.soap.SOAPHandler

public class JaxWSServerHeaderContextProcessor
extends java.lang.Object
implements javax.xml.ws.handler.soap.SOAPHandler

TODO: make this play nice alongside com.arjuna.mw.wst.service.JaxRPCHeaderContextProcessor - factor out common base class or suchlike


Field Summary
private  java.lang.String handlerName
           
private  java.util.Set<javax.xml.namespace.QName> headers
           
private static org.apache.log4j.Logger log
           
 
Constructor Summary
JaxWSServerHeaderContextProcessor()
           
 
Method Summary
private  void clearMustUnderstand(javax.xml.soap.SOAPHeader soapHeader, javax.xml.soap.SOAPHeaderElement soapHeaderElement)
          Clear the soap MustUnderstand.
 void close(javax.xml.ws.handler.MessageContext messageContext)
           
 java.lang.String getHandlerName()
           
private  javax.xml.soap.SOAPHeaderElement getHeaderElement(javax.xml.soap.SOAPHeader soapHeader, java.lang.String uri, java.lang.String name)
           
 java.util.Set<javax.xml.namespace.QName> getHeaders()
          Gets the header blocks that can be processed by this Handler instance.
 boolean handleFault(javax.xml.ws.handler.MessageContext messagecontext)
           
protected  boolean handleInbound(javax.xml.ws.handler.MessageContext msgContext)
           
 boolean handleMessage(javax.xml.ws.handler.MessageContext msgContext)
           
protected  boolean handleOutbound(javax.xml.ws.handler.MessageContext msgContext)
           
private  boolean match(java.lang.Object lhs, java.lang.Object rhs)
          Do the two references match?
 void setHandlerName(java.lang.String handlerName)
           
 void setHeaders(java.util.Set<javax.xml.namespace.QName> headers)
          Sets the header blocks that can be processed by this Handler instance.
private  void suspendTransaction()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

log

private static org.apache.log4j.Logger log

handlerName

private java.lang.String handlerName

headers

private java.util.Set<javax.xml.namespace.QName> headers
Constructor Detail

JaxWSServerHeaderContextProcessor

public JaxWSServerHeaderContextProcessor()
Method Detail

getHandlerName

public java.lang.String getHandlerName()

setHandlerName

public void setHandlerName(java.lang.String handlerName)

handleMessage

public boolean handleMessage(javax.xml.ws.handler.MessageContext msgContext)
Specified by:
handleMessage in interface javax.xml.ws.handler.Handler

handleFault

public boolean handleFault(javax.xml.ws.handler.MessageContext messagecontext)
Specified by:
handleFault in interface javax.xml.ws.handler.Handler

close

public void close(javax.xml.ws.handler.MessageContext messageContext)
Specified by:
close in interface javax.xml.ws.handler.Handler

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

getHeaders

public java.util.Set<javax.xml.namespace.QName> getHeaders()
Gets the header blocks that can be processed by this Handler instance.

Specified by:
getHeaders in interface javax.xml.ws.handler.soap.SOAPHandler

setHeaders

public void setHeaders(java.util.Set<javax.xml.namespace.QName> headers)
Sets the header blocks that can be processed by this Handler instance.


handleInbound

protected boolean handleInbound(javax.xml.ws.handler.MessageContext msgContext)

handleOutbound

protected boolean handleOutbound(javax.xml.ws.handler.MessageContext msgContext)

suspendTransaction

private void suspendTransaction()

getHeaderElement

private javax.xml.soap.SOAPHeaderElement getHeaderElement(javax.xml.soap.SOAPHeader soapHeader,
                                                          java.lang.String uri,
                                                          java.lang.String name)
                                                   throws javax.xml.soap.SOAPException
Throws:
javax.xml.soap.SOAPException

match

private boolean match(java.lang.Object lhs,
                      java.lang.Object rhs)
Do the two references match?

Parameters:
lhs - The first reference.
rhs - The second reference.
Returns:
true if the references are both null or if they are equal.

clearMustUnderstand

private void clearMustUnderstand(javax.xml.soap.SOAPHeader soapHeader,
                                 javax.xml.soap.SOAPHeaderElement soapHeaderElement)
                          throws javax.xml.soap.SOAPException
Clear the soap MustUnderstand.

Parameters:
soapHeader - The SOAP header.
soapHeaderElement - The SOAP header element.
Throws:
javax.xml.soap.SOAPException