Example usage for javax.xml.ws.handler.soap SOAPHandler getHeaders

List of usage examples for javax.xml.ws.handler.soap SOAPHandler getHeaders

Introduction

In this page you can find the example usage for javax.xml.ws.handler.soap SOAPHandler getHeaders.

Prototype

Set<QName> getHeaders();

Source Link

Document

Gets the header blocks that can be processed by this Handler instance.

Usage

From source file:org.apache.axis2.jaxws.core.controller.impl.InvocationControllerImpl.java

private void registerUnderstoodHeaders(MessageContext request, List<Handler> handlerList) {
    if (handlerList != null && handlerList.size() > 0) {
        Set<QName> understoodHeaders = new HashSet<QName>();

        // Add the headers from each of the SOAP handlers to the collection
        for (Handler handler : handlerList) {
            if (handler instanceof SOAPHandler) {
                SOAPHandler soapHandler = (SOAPHandler) handler;
                Set<QName> headers = soapHandler.getHeaders();
                if (headers != null && headers.size() > 0) {
                    understoodHeaders.addAll(headers);
                }//from   w ww .  j ava2 s. com
            }
        }

        // Put the understood header qnames on the request context where it can
        // be found during response processing.
        if (understoodHeaders != null && understoodHeaders.size() > 0) {
            if (log.isDebugEnabled()) {
                log.debug("Adding understood header QName collection to message context " + understoodHeaders);
            }
            request.setProperty("client.UnderstoodHeaders", understoodHeaders);
        }
    }
}

From source file:org.apache.axis2.jaxws.description.impl.DescriptionUtils.java

public static void registerHandlerHeaders(AxisService axisService, List<Handler> handlers) {
    if (handlers == null || axisService == null) {
        return;//w  w w  .j  a v a 2  s  . co  m
    }

    ArrayList<QName> understoodHeaderQNames = new ArrayList<QName>();
    for (Handler handler : handlers) {
        if (handler instanceof SOAPHandler) {
            SOAPHandler soapHandler = (SOAPHandler) handler;

            Set<QName> headers = soapHandler.getHeaders();
            if (headers != null) {
                for (QName header : headers) {
                    if (!understoodHeaderQNames.contains(header)) {
                        understoodHeaderQNames.add(header);
                    }
                }
            }
        }
    }

    if (!understoodHeaderQNames.isEmpty()) {
        Parameter headerQNParameter = new Parameter(EndpointDescription.HANDLER_PARAMETER_QNAMES,
                understoodHeaderQNames);
        try {
            axisService.addParameter(headerQNParameter);
        } catch (AxisFault e) {
            log.warn(Messages.getMessage("regHandlerHeadersErr", axisService.getName(), e.getMessage()));
        }
    }
}

From source file:org.apache.axis2.jaxws.handler.HandlerUtils.java

/**
 * registerHandlerHeaders will invoke getHeaders on SOAPHandlers and return a List of headers
 * that are Understood by the handlers.//  ww w .  j av a  2  s .  c o  m
 * @param msgContext
 * @param handlers
 */
public static List<QName> registerSOAPHandlerHeaders(MessageContext msgContext, List<Handler> handlers) {
    List<QName> understood = new ArrayList<QName>();
    if (msgContext == null) {
        return understood;
    }

    for (Handler handler : handlers) {
        if (handler instanceof SOAPHandler) {
            SOAPHandler soapHandler = (SOAPHandler) handler;
            //Invoking getHeaders.
            if (log.isDebugEnabled()) {
                log.debug("Invoking getHeader() on SOAPHandler");
            }
            Set<QName> headers = soapHandler.getHeaders();
            if (headers != null) {
                for (QName header : headers) {
                    if (!understood.contains(header)) {
                        if (log.isDebugEnabled()) {
                            log.debug("Adding Header QName" + header + " to uderstoodHeaderQName List");
                        }
                        //Adding this to understood header list.
                        understood.add(header);
                    }
                }
            }
        }
    }
    return understood;
}