NFe: nfeRetRecepcao - Rejeicao: Cabecalho - Falha no Schema XML

Boa tarde galera, estou com um problema crucial com Soap da sefaz do MT

cStat = 242
xMotivo = Rejeicao: Cabecalho - Falha no Schema XML

não consigo achar onde esta o problema
tendo em vista que uso o mesmo cabeçalho para as outras operações

gostaria que analizassem meu xml e tentassem me indicar um possivel erro

agradeço a atenção

segue o xml de comunicação

<?xml version="1.0" encoding="UTF-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <nfeRetRecepcao xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRetRecepcao"> <nfeCabecMsg><?xml version="1.0" encoding="UTF-8"?> <cabecMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeRetRecepcao" versao="1.02"> <cUF>51</cUF> <versaoDados>1.10</versaoDados> </cabecMsg> </nfeCabecMsg> <nfeDadosMsg><?xml version="1.0" encoding="UTF-8"?> <consReciNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.10"> <tpAmb>2</tpAmb> <nRec>510000006029135</nRec> </consReciNFe> </nfeDadosMsg> </nfeRetRecepcao> </soap:Body> </soap:Envelope>

Cara…

to com o mesmo problema…

você conseguiu resolver??

Não consegui resolver ainda, ja modifiquei varias e varias vezes e sempre rejeita o cabeçalho

o que me deixa intrigado eh que o cabeçalho eh o mesmo que eu uso para as outras operaçoes
se alguem tiver alguma dica que possa dar uma ajuda eu agradeço.

[]/s

Cara…

depois de cansativas pesquisas encontrei um que funciona…

Só que na 2.00

Este aqui:

 <?xml version="1.0" encoding="UTF-8"?>  
 <S:Envelope xmlns:S="http://www.w3.org/2003/05/soap-envelope">  
     <S:Header>  
         <nfeCabecMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2">  
             <cUF>43</cUF>  
             <versaoDados>2.00</versaoDados>  
         </nfeCabecMsg>  
     </S:Header>  
     <S:Body>  
         <nfeDadosMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2">  
             <consStatServ xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.00">  
                 <tpAmb>2</tpAmb>  
                 <cUF>43</cUF>  
                 <xServ>STATUS</xServ>  
             </consStatServ>  
         </nfeDadosMsg>  
     </S:Body>  
 </S:Envelope> 

Como vc monta seu XML??

Manualmente ou pelos ws da sefaz??

xD~~

Eu uso Jdom para montar o xml

mais o status de serviço eu consigo no sefaz do MT,
o envio da NFe também, só não consigo o retorno de recepção
as outras operações funcionam normalmente.

Ahh sim…

cara… tem como você me mandar as classes que o wsdl gera?? na minha tah faltando um mte de coisa!!

Abraço!

Tô na mesma com o MT.

Alguma dica?

Alencar

philler,

depois de cansativas buscas, consegui fazer pelo AXIS, só que nativo, sem gerar classes ou nada, apenas informando a URL e o Serviço a ser executado.

xD~~

Pessoal,

Alguma novidade sobre a mensagem (242 - Rejeicao: Cabecalho - Falha no Schema XML), estou usando axis2 com a versão 2.0 da NF-e e recebo sempre esta mensagem quando envio para MT (Mato Grosso). Com outros estados funciona perfeitamente. Alguém tem alguma idéia do que poderia estar acontecendo. Agradeço o apoio.

Abraços…

Bom no meu caso, o que resolveu foi remover a formatação do xml,
aquelas tags ocultas que fazem quebras de linha e formatam o xml o deixando mais facil de entender.

se alguem estiver com este problema tentem esse procedimento que pode ser que resolva.

Boa Tarde!
só pra acrescentar aqui, a solução do macielgoncalves resolveu o meu problema, eu estava recebendo a mesma mensagem da receita de MT de Erro de cabeçalho - Falha do schema XML. Deu certinho!! Obrigado de verdade!!

Acontece q testando e testando não foi preciso remover todas os “ns1” das classes citadas… segue abaixo os trechos das classes de Stub que mudei e funcionou:

Classe NFeCabecMsg:

      public static class NfeCabecMsg implements org.apache.axis2.databinding.ADBBean{

      private static java.lang.String generatePrefix(java.lang.String namespace){
         if (namespace.equals("http://www.portalfiscal.inf.br/nfe/wsdl/NfeConsulta2")){
            return ""; // aqui muda de "ns1" para "".
         }
         return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
      }

      ...
      }

Classe NfeCabecMsgE

   public static class NfeCabecMsgE implements org.apache.axis2.databinding.ADBBean{

      public static final javax.xml.namespace.QName MY_QNAME = new javax.xml.namespace.QName("http://www.portalfiscal.inf.br/nfe/wsdl/NfeConsulta2", "nfeCabecMsg", ""); 
//aqui muda-se também de "ns1" para "".

      private static java.lang.String generatePrefix(java.lang.String namespace){
         if (namespace.equals("http://www.portalfiscal.inf.br/nfe/wsdl/NfeConsulta2")){
            return ""; //e aqui também.
         }
         return org.apache.axis2.databinding.utils.BeanUtil.getUniquePrefix();
      }

      ...
    }

Fazer essas modificações nas classes:
NfeCancelamento2Stub.java
NfeConsulta2Stub.java
NfeInutilizacao2Stub.java
NfeRecepcao2Stub.java
NfeRetRecepcao2Stub.java
NfeStatusServico2Stub.java

espero que ajude!!
abraços.

Estou com problemas tambem para acessar os ambeitnes da versao 2.00

Já tenho um sistema de NFe da versao 1.10 e funciona há 2 anos. Mas nao consigo nem verificar o status do serviço na versao 2.00. Retorna sempre: retConsStatServ: null
O mesmo acontece para os outros serviços: Envio de Lote, Cancelamento, etc
Na versao 1.10, eu passava o Cabeçalho e a mensgaem como 2 strings. Mas nessa nova versao, exige apenas um objeto do tipo: NfeDadosMsg.
Alguém pode me ajudar? aqui está um trecho do codigo que estou utilizando:

                NfeStatusServico2Hom service = new NfeStatusServico2Hom();
                NfeStatusServico2Soap12Hom nfeStatus = service.getNfeStatusServicoServicePort();
                NfeCabecMsg ncm = new NfeCabecMsg();
                ncm.setCUF("41");
                ncm.setVersaoDados("2.00");
                NfeDadosMsg ndm = new NfeDadosMsg();
                ndm.getContent().add(nfeDadosMsg);
                NfeStatusServicoNF2Result result = nfeStatus.nfeStatusServicoNF2(ndm);

Deve estar faltando passar algum parametro. Mas não consigo descobrir o que é!

beleza macielgoncalves! vou me cadastrar então… Qquer dia desses ainda trocamos umas ideias e uns problemas também por lá!! :stuck_out_tongue:

Fiz o download do projeto. Vou adaptar pra ver se primeiramente consigo pelo menos verificar o Status.
Um abraço!

Consegui consultar o Status do Serviço!
Copiei as linhas que geram o XML para a classe NfeDadosMsg até aquela que retorna a consulta e adaptei na minha solução.
Adicioneo tambem todas as bibliotecas do seu projeto, e mudei a URL para o PR (que é o meu caso).
Maravilha!
Muito obrigado!
Adelcio Porto

Maciel, mais uma vez, muito obrigado!

Consegui enviar tambem o Lote e fazer a consulta ref. a recepcao do Lote(RetRecpcao).
Agora estou com problema apenas para consultar a situacao da NFe(NfeConsulta2).
Envio NfeDadosMsg contendo o seguinte:
String nfeDadosMsg =
“<?xml version=\"1.0\" encoding=\"UTF-8\" ?>”
+ “<consSitNFe "
+ " xmlns=“http://www.portalfiscal.inf.br/nfe””
+" xmlns:ds=“http://www.w3.org/2000/09/xmldsig#”"
+" xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” "
+ " versao=“2.00”>"
+ “2”
+ “CONSULTAR”
+ “41110374017930000194550010000010010000100140”
+ “”;

Depois disso é claro, faço todo o processo de transformar em xml, identico aos outros serviços, conforme voce demonstrou com a consulta de Status do Serviço. A Inutilização também funcionou “redondinho”.

Mas no caso da consulta da situação da NFe, retorna o seguinte erro:
215 - FALHA NO SCHEMA XML. ORG.XML.SAX.SAXPARSEEXCEPTION: CVC-ELT.1: CANNOT FIND THE DECLARATION OF ELEMENT NFE .

Onde será que estou errando?
Obs: Estou acessando o ambiente de Homologação do PR: https://homologacao.nfe2.fazenda.pr.gov.br/nfe/NFeConsulta2

Adelcio Porto

Cara! Muito obrigado pelo retorno. É muito bom saber que tem gente assim como voce, que se empenha em ajudar os outros.
Vou me cadastrar no JAVAC, mas gostaria de adiantar uma coisa aqui mesmo:
Prestei um pouco mais de atenção no meu problema e descobri que o erro está dando na trando na transmissão do Lote.
A montagem do minha variavel de dados é a seguinte:

            String dadosLote =   "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"
                    + "<enviNFe xmlns=\"http://www.portalfiscal.inf.br/nfe\""
                    + " versao=\"2.00\">"
                    + "<idLote>" + xidLote + "</idLote>"
                    + lista_nfe_assinada 
                    + "</enviNFe>";
            xml.append(dadosLote);

Adelcio Porto