AXIS2 – Remover atributo mustUnderstand

Para quem precisar remover o atributo mustUnderstand dos cabeçalhos de mensagem geradas pelo AXIS2 ai vai o código, basta sobrescrever o método addHeader nas suas classes Stubs geradas.

protected void addHeader(OMElement omElementToadd, SOAPEnvelope envelop) {
        SOAPHeaderBlock soapHeaderBlock =
                envelop.getHeader().addHeaderBlock(omElementToadd.getLocalName(),
                omElementToadd.getNamespace());

        OMNode omNode = null;
        for (Iterator iter = omElementToadd.getChildren(); iter.hasNext();
                soapHeaderBlock.addChild(omNode)) {
            omNode = (OMNode) iter.next();
        }

        OMAttribute omatribute = null;
        for (Iterator iter = omElementToadd.getAllAttributes();
                iter.hasNext(); soapHeaderBlock.addAttribute(omatribute)) {
            omatribute = (OMAttribute) iter.next();
        }

    }

É necessário fazer as seguintes importações:

import java.util.Iterator;
import org.apache.axiom.om.OMAttribute;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.OMNode;
import org.apache.axiom.soap.SOAPEnvelope;
import org.apache.axiom.soap.SOAPHeaderBlock;

Artigos Relacionados:

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *