Nfe - Nota Fiscal Eletronica

Bom dia,

Pessoal qd eu vou consumir meu webservice esta dando o seguinte erro :Exception in thread "main" java.lang.Exception: org.apache.axis2.databinding.ADBException: Unexpected subelement nfeCabecMsg

o meu codigo esta abixo que puder me ajudar:

public class teste {

/**
 * @param args
 * @throws Exception
 */
public static void main(String[] args) throws Exception {

	System.out.println("Teste123");

// String nfeCabecMsg = “<?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>”
// + "<nfeCabecMsg xmlns=“http://www.portalfiscal.inf.br/nfe” "
// + “versao=“2.00”>” + “<versaoDados>1.07</versaoDados>”
// + “</nfeCabecMsg>”;
String nfeCabecMsg = “<?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>”
+ "<nfeCabecMsg xmlns=“http://www.portalfiscal.inf.br/nfe” "
+ “versao=“2.00”>” + “<versaoDados>1.07</versaoDados>”
+ “</nfeCabecMsg>”;

	String nfeDadosMsg = &quot;&lt;?xml version=\&quot;1.0\&quot; encoding=\&quot;UTF-8\&quot;?&gt;&quot;
			+ &quot;&lt;consStatServ " + " versao=\"2.00\""
			+ " xmlns=\"http://www.portalfiscal.inf.br/nfe\"&gt;" + "&lt;tpAmb&gt;"
			+ "2" + "&lt;/tpAmb&gt;" + "&lt;xServ&gt;STATUS&lt;/xServ&gt;"
			+ "&lt;/consStatServ&gt;";

	System.setProperty("java.protocol.handler.pkgs",
			"com.sun.net.ssl.internal.www.protocol");
	Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());

	System.setProperty("javax.net.ssl.keyStoreType", "PKCS12");

	System.setProperty("javax.net.ssl.keyStore",
			"C:\\Certificado Digital\\Certificado");// Aqui
	// vem
	// o
	// arquivo
	// do
	// certificado
	// do
	// seu
	// cliente
	System.setProperty("javax.net.ssl.keyStorePassword", "SENHA");// Aqui
	// a
	// senha
	// deste
	// certificado
	System.setProperty("javax.net.ssl.trustStoreType", "JKS");
	System.setProperty("javax.net.ssl.trustStore", "C:\\teste1\\nfe1.jks");
	System.out.println("Teste123");

	DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
	dbf.setNamespaceAware(true);
	DocumentBuilder db = dbf.newDocumentBuilder();

	Document cabeca = db.parse(new ByteArrayInputStream(nfeCabecMsg
			.getBytes()));

// XMLStreamReader teste = (XMLStreamReader) cabeca;
// FileInputStream fileInputStream = new FileInputStream(fileName);
// XMLStreamReader xmlStreamReader = XMLInputFactory.newInstance().

    ByteArrayInputStream bais = new ByteArrayInputStream(nfeCabecMsg.getBytes());   
    XMLStreamReader teste = XMLInputFactory.newInstance().createXMLStreamReader(bais); 

// Document dados = db.parse(new ByteArrayInputStream(nfeDadosMsg
// .getBytes()));
// XMLStreamReader teste1 = (XMLStreamReader) dados;

    ByteArrayInputStream bais1 = new ByteArrayInputStream(nfeDadosMsg.getBytes());   
    XMLStreamReader teste1 = XMLInputFactory.newInstance().createXMLStreamReader(bais1);

// br.inf.portalfiscal.www.nfe.wsdl.nfestatusservico2.NfeStatusServico2Stub stub = new br.inf.portalfiscal.www.nfe.wsdl.nfestatusservico2.NfeStatusServico2Stub(); // endpoint

	NfeCabecMsg cab;
	cab = NfeCabecMsg.Factory.parse(teste);
	br.inf.portalfiscal.www.nfe.wsdl.nfestatusservico2.NfeStatusServico2Stub.NfeStatusServicoNF2 dado;
	dado = NfeStatusServicoNF2.Factory.parse(teste1);

	NfeStatusServicoNF2Response result = new br.inf.portalfiscal.www.nfe.wsdl.nfestatusservico2.NfeStatusServico2Stub()
			.nfeStatusServicoNF2(dado, cab);

	System.out.println(result.getNfeStatusServicoNF2Result().getExtraElement().toString());
	

}

}

vc tem q involver seu xml em um par de tags extra


alguém viu os WS de Goiás??

o end point deles mira num ip local

Esse é o final do arquivo de Goiás, todos estão assim, nem acreditei qdo vi, e olha q euy estava tentando fazer funcionar

Zoren você teria um exemplo.
To meio perdido

muito obrigado.

Alguem ja implementou as alterações do NfeStatusServico2 ?

no webservice antigo para capturar o retorno do SEFAZ usava

System.out.println(nfeStatus.nfeStatusServicoNF(nfeCabecMsg,nfeDadosMsg));

agora nao estou conseguindo obter mais esse resultado alguem tem alguma dica da onde vem a resposta agora ?

Bom galera consegui visualizar a resposto do webservice

                              String nfeDadosMsg = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"   
	            + "<consStatServ " + " versao=\"2.00\""
	            + " xmlns=\"http://www.portalfiscal.inf.br/nfe\">"   
	            + "<tpAmb>"+ tpAmb +"</tpAmb>" + "<cUF>" + cod_uf + "</cUF>"   
	            + "<xServ>STATUS</xServ>" + "</consStatServ>";   
	    
		System.setProperty("javax.net.ssl.keyStoreType", "PKCS12");
		System.setProperty("javax.net.ssl.keyStore", certificado);  //Arquivo Certificado
		System.setProperty("javax.net.ssl.keyStorePassword", senha);	 //Senha do mesmo

		NfeCabecMsg nfeCabec = new NfeCabecMsg("35", "2.00");
		

		MessageElement[] m = new MessageElement[1];
		Document XMLDoc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new InputSource(new StringReader(nfeDadosMsg)));
		Element element = XMLDoc.getDocumentElement();
		m[0] = new MessageElement(element);
	  
		NfeDadosMsg nfedados = new NfeDadosMsg(m);
		
		NfeStatusServicoNF2Result result = nfeStatus.nfeStatusServicoNF2(nfedados);

	               System.out.println("Resposta: " + result.get_any()[0]);

agora só preciso ajustar algumas coisas no cabeçalho

espero q ajude ( passei o dia todo pra refazer isso rs )

flw

O galera, criei as classes com o axis2 e ele crioi uma classe abstrata e um classes com varias innerClasses tipo, para o cabecalho, dados, e outras coisas a mais…
vc chegaram até ai também?
não sei como utilizar essas classes.
já o exemplo do amigo ai em cima com classes geradas com o axis1 eu fiz funcionar…
Agradeço a ajuda!

JanJan,
Fazer funcionar eu fiz mas ele dá o seguinte erro 242 ou seja inexistencia do cabeçalho, se voce puder me ajudar, eu gostaria.
obrigado.

eu tambem estou com este errro - 242 - Rejeicao: Cabecalho - Falha no Schema XML

a unica referencia que coloquei sobre o cabeçalho é esta

NfeCabecMsg nfeCabec = new NfeCabecMsg(“35”, “2.00”);

alguem sabe o q ta faltando ?

Janjan,
Parece que o axis não da suporte ao soap1.2, ai teria que implementar o axis2, mas se alguem conseguir pode mandar para nós.

obrigado.

leonardoanselmo2007,

mais qdo eu tento gerar as class usando o AXIS 2 fica essa mensagem

The Apache Axis2 Web service runtime does not support the client project NFeServico, tem alguma configuração que eu possa nao ter feito ?

[quote=evandromib]leonardoanselmo2007,

mais qdo eu tento gerar as class usando o AXIS 2 fica essa mensagem

The Apache Axis2 Web service runtime does not support the client project NFeServico, tem alguma configuração que eu possa nao ter feito ?[/quote]

aqui tem um como implementar o Axis2…

essa msg deve ser pq vc não esta usando um projeto web…

manda ai

haha foi mal,
mas era o link que eu ja tinha postado antes…
http://www.eclipse.org/webtools/community/tutorial...is2WebService/bu_tutorial.html

alguém conseguiu pegar os wsdl do SCAN??

https://hom.nfe.fazenda.gov.br/SCAN/NfeCancelamento2/NfeCancelamento2.asmx
· https://hom.nfe.fazenda.gov.br/SCAN/NfeConsulta2/NfeConsulta2.asmx
· https://hom.nfe.fazenda.gov.br/SCAN/NfeInutilizacao2/NfeInutilizacao2.asmx
· https://hom.nfe.fazenda.gov.br/SCAN/NfeRecepcao2/NfeRecepcao2.asmx
· https://hom.nfe.fazenda.gov.br/SCAN/NfeRetRecepcao2/NfeRetRecepcao2.asmx
· https://hom.nfe.fazenda.gov.br/SCAN/NfeStatusServico2/NfeStatusServico2.asmx

sabem se estão certos os endereços?

da tudo que nao existe…

creio que nao seja problema apenas do Axis pois se não desse suporte nao conseguiria retorno do webservice de
242 - Rejeicao: Cabecalho - Falha no Schema XML

minha duvida é , estou mandando os parametros de cUF e versaoDados , para a classe do cabeçalho , mais dpois como se anexa ou envia esse cabeçalho

ou apenas essa class NfeCabecMsg , valida os dados informados e nao precisa fazer nda alem disso ?

mas vc gerou com o Axis 2 ou 1?
no um eu tb nao sabia oq fazer com o cabecalho…
no 2 vc passa o cabecalho na chamado do metodo que vai consumir…

stub.nfeCancelamentoNF2(nfeDados, nfeCabec);

entendi , mais to com problema aqui que nao consigo gerar usando o AXIS2

nem com web service ou web service client

eu uso o eclipse

seguiu aquele tutorial que passei?
o que acontece? qual erro?

entao este link aqui q vc passou

http://www.eclipse.org/webtools/community/tutorial…is2WebService/bu_tutorial.html

nao ta rolando nao , 404 File not found

http://www.eclipse.org/webtools/community/tutorials/BottomUpAxis2WebService/bu_tutorial.html

agora vai