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.
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.
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.
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
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 é!
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
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 .
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: