Rejeicao: Campo cUF inexistente no elemento nfeCabecMsg do SOAP Header

Olá pessoal!

Estamos implementando o CC-e utilizando Axis aqui em minha empresa e enfrentei muitas dificuldades por faltar o elemento cUF no cabeçalho do envelope SOAP (rejeição é o assunto desse post).

Li bastante gente dizendo que o problema era relacionado aos namespaces (mas eu não utilizava nenhum e continuei com o problema).

Resolvi a dificuldade sobrescrevendo o método addHeader do stub!

Segue código aplicado:

protected void addHeader(OMElement omElementToadd,
                             SOAPEnvelope envelop,
                             boolean mustUnderstand){
        SOAPHeaderBlock soapHeaderBlock =
                envelop.getHeader().addHeaderBlock(omElementToadd.getLocalName(),omElementToadd.getNamespace());
        soapHeaderBlock.setMustUnderstand(mustUnderstand);
        OMNode omNode = null;

        // add child elements
        List<OMNode> temp = new ArrayList<OMNode>();
        for (Iterator iter = omElementToadd.getChildren(); iter.hasNext();) {
             omNode = (OMNode) iter.next();
             temp.add(omNode);
        }
        for (OMNode n : temp ) {
             soapHeaderBlock.addChild(n);
        }

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

    } 

Fonte: https://issues.apache.org/jira/browse/AXIS2-5135

[]'s

Hollywoodpanda