Problema com Soap na conexão de webservice da NFe

Olá a todos, estou com um grande problema quebrando minha cabeça. Consegui consumir o Webservice StatusServico do Sefaz-GO. Porém os outros webservices dão o seguinte erro quando vou conectar:

SEVERE: null
org.apache.axis2.AxisFault: Transport level information does not match with SOAP Message namespace URI
at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:123)
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:67)
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:354)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:417)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at javaxml.nfe.webservice.go.NfeInutilizacao2Stub.nfeInutilizacaoNF2(NfeInutilizacao2Stub.java:196)
at javaxml.nfe.webservice.go.Inutilizacao.<init>(Inutilizacao.java:59)
at javaxml.nfe.webservice.go.Inutilizacao.main(Inutilizacao.java:65)
Caused by: org.apache.axiom.soap.SOAPProcessingException: Transport level information does not match with SOAP Message namespace URI

Minha classe:

/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */

package javaxml.nfe.webservice.go;

import java.rmi.RemoteException;
import javax.xml.stream.XMLStreamException;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.impl.llom.util.AXIOMUtil;
import org.apache.axis2.AxisFault;

public class Inutilizacao {

public Inutilizacao() throws AxisFault, XMLStreamException, RemoteException {

    new SegurancaCertificado();

      NfeInutilizacao2Stub stub = new NfeInutilizacao2Stub();
    
        NfeInutilizacao2Stub.NfeDadosMsg dados = new NfeInutilizacao2Stub.NfeDadosMsg();

        String s = "<inutNFe versao=\"2.00\" xmlns=\"http://www.portalfiscal.inf.br/nfe\">"
                + "<infInut Id=\"ID31107647234900043055001000000101000000101\">"
                + "<tpAmb>2</tpAmb>"
                + "<xServ>INUTILIZAR</xServ>"
                + "<cUF>52</cUF>"
                + "<ano>10</ano>"
                + "<CNPJ>76472349000430</CNPJ>"
                + "<mod>55</mod>"
                + "<serie>1</serie>"
                + "<nNFIni>101</nNFIni>"
                + "<nNFFin>101</nNFFin>"
                + "<xJust>Ocorreu uma falha no sistema que pulou a sequencia de numeracao</xJust>"
                + "</infInut>"
                + "</inutNFe>";

        OMElement el;

        el = AXIOMUtil.stringToOM(s);
        dados.setExtraElement(el);
        NfeInutilizacao2Stub.NfeCabecMsg cab = new NfeInutilizacao2Stub.NfeCabecMsg();
        cab.setVersaoDados("2.00");
        cab.setCUF("52");
        

        NfeInutilizacao2Stub.NfeCabecMsgE cabE = new NfeInutilizacao2Stub.NfeCabecMsgE();
        cabE.setNfeCabecMsg(cab);
        
        
    System.out.println(stub.nfeInutilizacaoNF2(dados , cabE).getExtraElement());
  
}

public static void main(String[] args) {
    try {
        new Inutilizacao();
    } catch (AxisFault ex) {
        Logger.getLogger(Inutilizacao.class.getName()).log(Level.SEVERE, null, ex);
    } catch (XMLStreamException ex) {
        Logger.getLogger(Inutilizacao.class.getName()).log(Level.SEVERE, null, ex);
    } catch (RemoteException ex) {
        Logger.getLogger(Inutilizacao.class.getName()).log(Level.SEVERE, null, ex);
    }
    
}

}

Pelo que li por aí, é problema com o cabeçalho do soap, parece que estou mandando a mensagem na versão 1.2 e o webservice está esperando 1.1, ou algo parecido. Se álguem souber como resolver isso por favor me ajude, estou meio perdido com esse problema. Vlw!

To com o mesmo problema, se consguir solução posta ai ok.

Se eu conseguir coloco aqui…o difícil está sendo conseguir a solução kkkk, se conseguir posta aí também, já estou um bom tempo mexendo com isso sem nenhum resultado.

Bom, problema resolvido. Não fiz nada, mas hoje testei a conexão e deu certo. Notei que mudou algo na resposta do único webservice que funcionava (StatusServico)…parece que o problema era com o Sefaz de GO…e pelo jeito resolveram…

Agora ta blz, retornou o XML, mas na hora de fazer o unmarsal, a classe retorno so vem com o campo versao, o resto esta tudo nulo.
Como vc fez o unmarsal.

veja o meu:

public <T> JAXBElement<T> unmarshal(final Class<T> contextClazz, final String toUnmarshal) {
		try {
			SAXParserFactory parserFactory;
			parserFactory = SAXParserFactory.newInstance();
			parserFactory.setNamespaceAware(false);
			XMLReader reader = parserFactory.newSAXParser().getXMLReader();
			Source er = new SAXSource(reader, new InputSource(new StringReader(toUnmarshal)));
			return getUnmarshaller(contextClazz).unmarshal(er, contextClazz);

		} catch (final JAXBException e) {
			throw new RuntimeException("Erro ao fazer unmarshal com contexto " + contextClazz, e);
		} catch (Exception e) {
			throw new RuntimeException("Erro ao fazer unmarshal com contexto " + contextClazz, e);
		}

Cara, não to usando jaxb; usei o jdom pra fazer isso. Mando meu método principal retornar uma string com o resultado que recebo do webservice, passo essa string para outro metodo que pega o valor das tags. Ficou assim:

public void lerRetorno() {

   String ret = new ConsultaStatusServico().StatusServico();
   SAXBuilder builder = new SAXBuilder();

Document document = builder.build(new ByteArrayInputStream(ret.getBytes()));

Element root = document.getRootElement();
//imprime o valor de versao que fica dentro da tag retConsStatServ
System.out.println(root.getAttribute(“versao”).getValue());
//imprime tpAmb, que no caso é o primeiro elemento, portanto o 0 é o indice do elemento, e vai seguindo 1 é a proxima tag, depois 2 etc…
System.out.println(root.getContent(0).getValue());
}

Como você está gerando o SOAP?

Aparentemente o cabeçalho dele está errado

O soap é gerado automático pela classe NFeStatusServico2Stub. Só mando o corpo do xml.
acredito que pro giovanni_stiwes é a mesma coisa.

O que está errado é seu body

procura no guj um post NFe-Nota Fiscal Eletronica

nele eu fiz um post falando com um cara e lá tem o jeito que coloca o body no soap

tem que usar uma FactoryClass que está dentro da classe que vc usa para acessar o webservice

Ué, do jeito que fiz já tive a resposta certinha do webservice, sem erros. Mas mesmo assim vou dar uma olhada, valeu.

quanto ao FactoryClass, encontrei post, mas não encontrei o mencionado.

Veja o erro de validação do Retorno no Status NFe

unexpected element (uri:"", local:"tpAmb"). Expected elements are <{http://www.w3.org/2000/09/xmldsig#}chNFe>,<{http://www.w3.org/2000/09/xmldsig#}cStat>,<{http://www.w3.org/2000/09/xmldsig#}cUF>,<{http://www.w3.org/2000/09/xmldsig#}protNFe>,<{http://www.w3.org/2000/09/xmldsig#}xMotivo>,<{http://www.w3.org/2000/09/xmldsig#}retCancNFe>,<{http://www.w3.org/2000/09/xmldsig#}verAplic>,<{http://www.w3.org/2000/09/xmldsig#}tpAmb>
unexpected element (uri:"", local:"verAplic"). Expected elements are <{http://www.w3.org/2000/09/xmldsig#}chNFe>,<{http://www.w3.org/2000/09/xmldsig#}cStat>,<{http://www.w3.org/2000/09/xmldsig#}cUF>,<{http://www.w3.org/2000/09/xmldsig#}protNFe>,<{http://www.w3.org/2000/09/xmldsig#}xMotivo>,<{http://www.w3.org/2000/09/xmldsig#}retCancNFe>,<{http://www.w3.org/2000/09/xmldsig#}verAplic>,<{http://www.w3.org/2000/09/xmldsig#}tpAmb>
unexpected element (uri:"", local:"cStat"). Expected elements are <{http://www.w3.org/2000/09/xmldsig#}chNFe>,<{http://www.w3.org/2000/09/xmldsig#}cStat>,<{http://www.w3.org/2000/09/xmldsig#}cUF>,<{http://www.w3.org/2000/09/xmldsig#}protNFe>,<{http://www.w3.org/2000/09/xmldsig#}xMotivo>,<{http://www.w3.org/2000/09/xmldsig#}retCancNFe>,<{http://www.w3.org/2000/09/xmldsig#}verAplic>,<{http://www.w3.org/2000/09/xmldsig#}tpAmb>
unexpected element (uri:"", local:"xMotivo"). Expected elements are <{http://www.w3.org/2000/09/xmldsig#}chNFe>,<{http://www.w3.org/2000/09/xmldsig#}cStat>,<{http://www.w3.org/2000/09/xmldsig#}cUF>,<{http://www.w3.org/2000/09/xmldsig#}protNFe>,<{http://www.w3.org/2000/09/xmldsig#}xMotivo>,<{http://www.w3.org/2000/09/xmldsig#}retCancNFe>,<{http://www.w3.org/2000/09/xmldsig#}verAplic>,<{http://www.w3.org/2000/09/xmldsig#}tpAmb>
unexpected element (uri:"", local:"cUF"). Expected elements are <{http://www.w3.org/2000/09/xmldsig#}chNFe>,<{http://www.w3.org/2000/09/xmldsig#}cStat>,<{http://www.w3.org/2000/09/xmldsig#}cUF>,<{http://www.w3.org/2000/09/xmldsig#}protNFe>,<{http://www.w3.org/2000/09/xmldsig#}xMotivo>,<{http://www.w3.org/2000/09/xmldsig#}retCancNFe>,<{http://www.w3.org/2000/09/xmldsig#}verAplic>,<{http://www.w3.org/2000/09/xmldsig#}tpAmb>
null

e o xml

"<retConsSitNFe " +
				"xmlns=\"http://www.portalfiscal.inf.br/nfe\" " +
				"xmlns:ns2=\"http://www.w3.org/2000/09/xmldsig#\" " +
				"xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" " +
				"versao=\"2.00\" xsi:schemaLocation=\"\">" +
				"<tpAmb>2</tpAmb>" +
				"<verAplic>GO2.0</verAplic>" +
				"<cStat>999</cStat>" +
				"<xMotivo>Rejeição: Erro não catalogado</xMotivo>" +
				"<cUF>52</cUF>" +
				"</retConsSitNFe>";

Quando faço o Unmarshal, os campos ficam todos nulos

tem esse

http://www.guj.com.br/posts/list/15/199081.java#1002455

e esse que é do post que eu disse

http://www.guj.com.br/posts/list/285/72325.java#1001644

nesse ultimo tem que juntar os pedaços que está tudo perdido entre os posts

[quote=giovanni_stiwes]Veja o erro de validação do Retorno no Status NFe

unexpected element (uri:"", local:"tpAmb"). Expected elements are <{http://www.w3.org/2000/09/xmldsig#}chNFe>,<{http://www.w3.org/2000/09/xmldsig#}cStat>,<{http://www.w3.org/2000/09/xmldsig#}cUF>,<{http://www.w3.org/2000/09/xmldsig#}protNFe>,<{http://www.w3.org/2000/09/xmldsig#}xMotivo>,<{http://www.w3.org/2000/09/xmldsig#}retCancNFe>,<{http://www.w3.org/2000/09/xmldsig#}verAplic>,<{http://www.w3.org/2000/09/xmldsig#}tpAmb>
unexpected element (uri:"", local:"verAplic"). Expected elements are <{http://www.w3.org/2000/09/xmldsig#}chNFe>,<{http://www.w3.org/2000/09/xmldsig#}cStat>,<{http://www.w3.org/2000/09/xmldsig#}cUF>,<{http://www.w3.org/2000/09/xmldsig#}protNFe>,<{http://www.w3.org/2000/09/xmldsig#}xMotivo>,<{http://www.w3.org/2000/09/xmldsig#}retCancNFe>,<{http://www.w3.org/2000/09/xmldsig#}verAplic>,<{http://www.w3.org/2000/09/xmldsig#}tpAmb>
unexpected element (uri:"", local:"cStat"). Expected elements are <{http://www.w3.org/2000/09/xmldsig#}chNFe>,<{http://www.w3.org/2000/09/xmldsig#}cStat>,<{http://www.w3.org/2000/09/xmldsig#}cUF>,<{http://www.w3.org/2000/09/xmldsig#}protNFe>,<{http://www.w3.org/2000/09/xmldsig#}xMotivo>,<{http://www.w3.org/2000/09/xmldsig#}retCancNFe>,<{http://www.w3.org/2000/09/xmldsig#}verAplic>,<{http://www.w3.org/2000/09/xmldsig#}tpAmb>
unexpected element (uri:"", local:"xMotivo"). Expected elements are <{http://www.w3.org/2000/09/xmldsig#}chNFe>,<{http://www.w3.org/2000/09/xmldsig#}cStat>,<{http://www.w3.org/2000/09/xmldsig#}cUF>,<{http://www.w3.org/2000/09/xmldsig#}protNFe>,<{http://www.w3.org/2000/09/xmldsig#}xMotivo>,<{http://www.w3.org/2000/09/xmldsig#}retCancNFe>,<{http://www.w3.org/2000/09/xmldsig#}verAplic>,<{http://www.w3.org/2000/09/xmldsig#}tpAmb>
unexpected element (uri:"", local:"cUF"). Expected elements are <{http://www.w3.org/2000/09/xmldsig#}chNFe>,<{http://www.w3.org/2000/09/xmldsig#}cStat>,<{http://www.w3.org/2000/09/xmldsig#}cUF>,<{http://www.w3.org/2000/09/xmldsig#}protNFe>,<{http://www.w3.org/2000/09/xmldsig#}xMotivo>,<{http://www.w3.org/2000/09/xmldsig#}retCancNFe>,<{http://www.w3.org/2000/09/xmldsig#}verAplic>,<{http://www.w3.org/2000/09/xmldsig#}tpAmb>
null

e o xml

"<retConsSitNFe " +
				"xmlns=\"http://www.portalfiscal.inf.br/nfe\" " +
				"xmlns:ns2=\"http://www.w3.org/2000/09/xmldsig#\" " +
				"xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" " +
				"versao=\"2.00\" xsi:schemaLocation=\"\">" +
				"<tpAmb>2</tpAmb>" +
				"<verAplic>GO2.0</verAplic>" +
				"<cStat>999</cStat>" +
				"<xMotivo>Rejeição: Erro não catalogado</xMotivo>" +
				"<cUF>52</cUF>" +
				"</retConsSitNFe>";

Quando faço o Unmarshal, os campos ficam todos nulos[/quote]

Quanto ao schema xml, vc gerou com o xjc?

Se foi, eu tive que alterar o ObjectFactory na mão e adicionar o que estava faltando, pq ele não criava JAXBElement para todos, só para dois ou três

Foi com xjc, tem como vc me passar seu Object Factory?

Eu criei os itens do ObjectFactory para o webservice que estou testando, mas o mesmo erro persiste.

Eu tenho que fazer os códigos de novo, eu perdi o que eu tinha

coloca o seu código ai ou pelo menos uma parte dele

vc consegue usar o status do serviço??

se conseguir, vc consegue resolver o resto

Completei o Object Factory como vc falou e o unmarshal funcionou, mas o xml esta retornando o xMotivo com erro 999-Rejeição: Erro não catalogado.

Vc tem outra luz ai?

Posta o soap gerado

Se alguem estiver com o mesmo erro, o meu funcionou, quando passei a adicionar o RootElement nas classes geradas.