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.

[code language="java"]
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();
        }

    }
[/code]

É necessário fazer as seguintes importações:
[code language=”java”]
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;
[/code]

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

 

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.