Nfe - Nota Fiscal Eletronica

Alguém ja começou, ou ja terminou de fazer as alterações da versão 4 do manual de integração?!?

Estou estudando as modificações, que me pareceram poucas.
Só tenho dúvida se realmente precisamos alterar o layout da DANFE,
ou podemos usar o layout da versão 3, já que os dados são os mesmos.

Alencar

Pessoal, estou com problemas com a visualização dos dados informados
na tag . Em nenhum dos locais oficiais para validação das NFes,
mostram as informações desta tag.
O conteúdo está no XML, pois a NFe já foi autorizada e o hash do arquivo
bate com o que é informado no site de validação.
Porém, nada do conteúdo desta tag é mostrada, o que leva o cliente a
pensar/indagar/desconfiar que a DANFE não corresponde ao conteúdo
enviado para a SAFEZ.

Estou na luta com o suporte/atendimento dos fiscais, mas está difícil.

Quem mais está nesta briga?

Alencar

Estou estudando as modificações, que me pareceram poucas.
Só tenho dúvida se realmente precisamos alterar o layout da DANFE,
ou podemos usar o layout da versão 3, já que os dados são os mesmos.

Alencar[/quote]
então cara… como que vc faz a sua comunicação com o ws?
eu passo o xml numa string… e pelo que estou vendo agora… não vai dar para continuar desta forma…

[quote=alves.Felipe]
então cara… como que vc faz a sua comunicação com o ws?
eu passo o xml numa string… e pelo que estou vendo agora… não vai dar para continuar desta forma…[/quote]

Desculpe, não entendi a sua dúvida. Apesar de não ter terminado as alterações e tampouco testado a
comunicação, nada percebi de diferente quanto a comunicação.

Caso queira trocar alguma informação, pode me chamr em pvt. Depois de solucionado, passamos o
resumo para a lista.

Alencar

Revivendo o tópico

alguém conseguiu implementar os novos WebServices??

tentei com o WsImport e ele não gera a parte pra incluir o cabeçalho do SOAP Header e tentei com o Axis2 e não consigo capturar o retorno

Fiz na raça e funcionou, tanto criando o SOAP numa String qto utilizando o java pra fazer o envelope

Com o Axis2, setando o log no modo DEBUG, eu consigo visualizar a mensagem SOAP que o Axis envia e recebe, aparentemente funciona, eu consumo o WebService de Status do Serviço e ele me retorna Serviço em Operação, mas o Result que o Axis gera não consegui obter o retorno

Posta seu codigo

cara… eu consegui usando o Axis2…
criando as classe com o plugin do Eclipse…
como que vc fez para consumir o servico usando o Axis2?

Então, eu consegui usando o Axis2 tbm, mas eu não consigo pegar uma resposta no fim

Fiz uns esquemas doidos e no eu consegui que a resposta fosse gerada corretamente

Não estou achando o código, fiz muitos testes e não cheguei a lugar nenhum

Mas com o axis2, o log4j me dava as mensagens que eram geradas e eu via as respostas corretas lá

NfeStatusServico2Stub.NfeStatusServicoNF2Result result = new  NfeStatusServico2Stub().nfeStatusServicoNF2(dados, cabecE);

cheguei até ai, mais o result não possui nenhum método que me retorne uma string com os dados, não encontrei nenhuma maneira de pegar algo

Paaara compilar os WSDL, eu usei uma tarefa no ant que compila usando o WSDL2Java

ta ai ó

NfeConsultaNF2Result result = stub.nfeConsultaNF2(nfeDadosMsg, nfeCabecMsg);
		
		return result.getExtraElement().toString();

veja la dentro da classe que tem uma variavel com o nome localExtraElement
e o método de acesso dela é getExtraElement().

Ola Felipe, eu tbm uso axis2 para consumir meu webservice da receita, mas esse novo webservice ta me tirando o sono, teria como você postar a classe Status do Serviço de NF-e para eu comparar com a minha e ver aonde estou errando.

obrigado

Só isso,

credo e eu quase fazendo na mão, só não testei esse método

Amanhã de manhã eu vou testar ele, tomara que funcione

Vlw

como que vc esta montando o seu nfeDadosMsg?
posta ai e o xml tb…

[quote=alves.Felipe]como que vc esta montando o seu nfeDadosMsg?
posta ai e o xml tb…[/quote]

Eu uso a Fatory que tem na classe NfeDadosMsg

felipe

o meu codigo está abixo vc poderia me ajudar

import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.StringReader;
import java.security.Security;

import javax.wsdl.Message;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;

import org.apache.axis.message.MessageElement;
import org.w3c.dom.Document;
import org.xml.sax.SAXException;

public class StatusdoServico2 {

public static void main(String[] args) throws XMLStreamException,
		ParserConfigurationException, IOException, SAXException {

	System.out.println("Teste123");
	String nfeCabecMsg = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
			+ "<cabecMsg xmlns=\"http://www.portalfiscal.inf.br/nfe\" "
			+ "versao=\"1.02\">" + "<versaoDados>1.07</versaoDados>"
			+ "</cabecMsg>";

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

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

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

	MessageElement[] elements = new MessageElement[1];
	elements[0] = new MessageElement(dados.getDocumentElement());

	br.com.ns.nfe.hom.NfeStatusServico2.NfeStatusServicoNF2NfeDadosMsg dadosMsg = new br.com.ns.nfe.hom.NfeStatusServico2.NfeStatusServicoNF2NfeDadosMsg();
	dadosMsg.set_any(elements);

	br.com.ns.nfe.hom.NfeStatusServico2.NFeCabecMsg_VO cab = new br.com.ns.nfe.hom.NfeStatusServico2.NFeCabecMsg_VO();
	cab.setCUF("35");
	cab.setVersaoDados("2.00");

	String emp = "001";

	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");
	/* Certificado Ns */
	if (emp.equals("001")) {
		System.setProperty("javax.net.ssl.keyStore",
				"C:\\Certificado Digital\\Certificado.pfx");// Aqui vem o
															// arquivo do
															// certificado
		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");
	br.com.ns.nfe.hom.NfeStatusServico2.NfeStatusServico2 serv = new br.com.ns.nfe.hom.NfeStatusServico2.NfeStatusServico2Locator();

	System.out.println("Teste456");
	try {
		System.out.println("Teste456");
		br.com.ns.nfe.hom.NfeStatusServico2.NfeStatusServico2Soap12 nfeStatus = serv
				.getNfeStatusServico2Soap12();
		System.out.println("Teste789");
		System.out.println(nfeStatus.nfeStatusServicoNF2(dadosMsg));
	} catch (Throwable e1) {
		e1.printStackTrace();
	}

}

}

[quote=zoren][quote=alves.Felipe]como que vc esta montando o seu nfeDadosMsg?
posta ai e o xml tb…[/quote]

Eu uso a Fatory que tem na classe NfeDadosMsg[/quote]
exatamente…

leonardoanselmo2007 , cara… só olhando o dadosMsg.set_any(elements); , é bem provavel que vc gerou as classes
usando o Axis1 e nao o Axis2…
vc esta gerando as classes pelo wizardo do eclipse?
da uma olhada ai http://www.eclipse.org/webtools/community/tutorials/BottomUpAxis2WebService/bu_tutorial.html
mostra como gerar as classes usando o Axis2 com eclipse

Vlw alves.felipe

Agora eu consigo consumir os WebServices com o Axis2, quase q fiz na mão

[quote=zoren]Vlw alves.felipe

Agora eu consigo consumir os WebServices com o Axis2, quase q fiz na mão

[/quote]

Zoren,

Estou com dificuldades para consumir a WebServices, você poderia postar seu código, por favor.

Att

Anderson

Postar o código eu não posso, mas vc pode falar q parte vc está com dificuldades e eu te ajudo

Bom Zoren,

Eu não sei como instanciar as classes de MsgCabec e MsgDados, e como enviar e receber o retorno, ou seja, quase tudo. Apenas consigo mesmo é importar a WSDL com o AXIS2 e ele cria as classes(Stub e etc), só não sei como operar com eles.

Obrigado

Atenciosamente

Anderson