Nfe - Nota Fiscal Eletronica

[quote=alves.Felipe]Ola a todos…
então como todos, tb estou fazendo…ou tentando fazer a NF-e…

eu criei o arquivo XML… cheguei a assinar… mas qdo vou validar no validador do SEFAZ-RS da a seguinte mensagem:
Certificado ‘CN=MILI_NFe, O=MILI, L=Curitiba, S=PR, C=BR’ não possui finalidade de Assinatura Digital e/ou Não-Repúdio

agora estou na dúvida…se é a minha assinatura que não esta correta ou o meu certificado…

alguém tem umas dicas ai para fazer a assinatura digital???

abraco…[/quote]

Seu certificado digital está autorizado no SEFAZ que vc tenta se conectar? Vc não gerou esse certificado via keytool não?

att.

[quote=cinglez]Vc acha viável a utilização do JAXB? Estou lendo alguma coisa a respeito e não me parece complexo de ser utilizado…

Alguém já utilizou?[/quote]

Acho o JAXB até bem simples, mas como eu disse, os schemas da receita tem sérios problemas de semântica, digamos assim… Vc não vai conseguir gerar corretamente POJOS a partir de JAXB. Utilizei o JAXB aqui na empresa para o mesmo fim.

[quote=alves.Felipe]Ola a todos…
então como todos, tb estou fazendo…ou tentando fazer a NF-e…

eu criei o arquivo XML… cheguei a assinar… mas qdo vou validar no validador do SEFAZ-RS da a seguinte mensagem:
Certificado ‘CN=MILI_NFe, O=MILI, L=Curitiba, S=PR, C=BR’ não possui finalidade de Assinatura Digital e/ou Não-Repúdio

agora estou na dúvida…se é a minha assinatura que não esta correta ou o meu certificado…

alguém tem umas dicas ai para fazer a assinatura digital???

abraco…[/quote]

olá! aparentemente você está utilizando um certificado que não é válido para NFe, ou não fez o TTD na SEFAZ

a CertiSign costuma vender certificados com funcionalidades “específicas”, esses dias um cliente comprou um A1 da CertiSign, pagou mais de R$ 500,00 e servia SOMENTE para NFe, enquanto o A1 dos correios custa R$ 130,00 e é COMPLETO…

abraço

Malz pela ‘ressurreição’, mas creio que era melhor que duplicar um tópico…

Alguém aí lida com a SEFAZ da Bahia?

Até o começo desta semana todo o processo era realizado normalmente, agora, nenhuma nota é enviada e uma exceção é lançada…

[color=red]Caused by: javax.xml.ws.soap.SOAPFaultException: System.Web.Services.Protocols.SoapException: Server did not recognize the value of HTTP Header SOAPAction: .
at System.Web.Services.Protocols.Soap11ServerProtocolHelper.RouteRequest()
at System.Web.Services.Protocols.SoapServerProtocol.RouteRequest(SoapServerMessage message)
at System.Web.Services.Protocols.SoapServerProtocol.Initialize()
at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing)
at com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:171)
at com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:94)
at com.sun.xml.internal.ws.client.dispatch.DispatchImpl$DispatchAsyncInvoker$1.onCompletion(DispatchImpl.java:415)
at com.sun.xml.internal.ws.client.Stub$1.onCompletion(Stub.java:290)
at com.sun.xml.internal.ws.api.pipe.Fiber.completionCheck(Fiber.java:457)
at com.sun.xml.internal.ws.api.pipe.Fiber.run(Fiber.java:375)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908 )
at java.lang.Thread.run(Thread.java:619)[/color]

Entrando em contato com a própria, tudo que o suporte foi capaz de dizer é que o problema estava na aplicação (nossa ¬¬’) não indicando qualquer nova adequação a ser realizada.

Como o projeto foi um presente de grego que tive de assumir, não domino a parte de soap e não tenho grande noção de por onde buscar a solução.

Toda e qualquer idéia é bem vinda :smiley:

bom dia!
no webservice são enviados 2 parametros…
o cabeçalho e o documento, da uma conferida no seu cabeçalho, pode estar faltando algum detalhe

e tbm testa a sua comunicação no ambiente nacional

abraço

SCAN? Bem, este funciona…

O interessante é que trabalhamos com MT, MS e GO (além de BA), e todos eles enviam perfeitamente =/

Você se refere ao nfeCabecMsg e nfeDadosMsg ?

O que notei de ‘novo’ no dados (validando com o aplicatico da SEFAS/RS) foi esta pequena falha que não ocorria antes: The element ‘NFe’ in namespace ‘http://www.portalfiscal.inf.br/nfe’ has incomplete content. List of possible elements expected: ‘http://www.w3.org/2000/09/xmldsig#:Signature’.

Não consegui validar o cabeçalho, o site parece estar fora do ar (mais essa…).

Descobri (google é meu pastor) que no jboss precisaria habilitar o soapaction com os métodos setSOAPActionURI(true) e setUseSOAPAction(true) (https://jira.jboss.org/jira/browse/JBWS-167;jsessionid=859AF8146FF1B9B2A259808FCF10A470?page=com.atlassian.jira.plugin.system.issuetabpanels%3Aall-tabpanel). Isso se faz necessário com o [b]SOAPMessage /b? Se sim, estou apanhando um bocado ao tentar faze-lo :stuck_out_tongue:

Pretendo validar o cabeçalho o quanto antes mas, enquanto a SEFAZ/RS não volta… Alguma outra idéia? :smiley:

Abraço f-schmitt, e valeu o retorno!

EDITED: Cabeçalho validado sem problemas.

Bom, primeiro sobre o WebService do RS estar fora, acho MUITO dificil. Afinal o RS trabalha como sefaz virtual dos outros estados.
Quando vc aponta pra Bahia por exemplo, ele nada mais e’ que um WS virtual do RS.

Um problema que ja ocorreu um varios, foi a versao de liberacao do XML. Tanto cabecMsg e nfeDados.

Verifique isso !

[ ]s,

boa cara!
quando eu estava fazendo o WS na “maneta” tbm passei por problemas em colocar o soapaction como true

mto estranho aceitar nos outros webservices e no da BA nao…

voce esta assinando e validando com os SCHEMA antes de enviar???
porque aquela msg ali do validador RS é de quando o xml nao esta assinado…

Por garantia eu valido antes e depois.

@mateusprado
Quando me referi ao SEFAZ/RS, era o serviço de validação que não respondia (via browser) :stuck_out_tongue:

Liberação do xml que você diz são os Schemas? Eu estou usando a mesma versão que a Sefaz/BA (segundo seu próprio suporte), o PL_005C =/

@f-schmitt
Eu assino e valido antes do envio, sempre…

Como você setou o SOAPAction como true? Ainda não consegui (ou consegui e isto não resolveu) -.-"

Bem, devido a um pequeno problema com nosso servidor, não tive a oportunidade de testar nenhuma solução hoje, mas, depois de uma pequena introdução ao SOAP (http://oreilly.com/catalog/javawsian/chapter/ch03.pdf) descobri (ou ao menos suponho que o fiz) que quase acertei a solução na primeira alternativa :smiley:

[color=red]Server did not recognize the value of HTTP Header SOAPAction: [/color]

A primeira tentativa foi, forçadamente, incluir um valor de SOAPAction com o request.getMimeHeaders( ).addHeader(“SOAPAction”, value); (onde request é uma SOAPMessage), mas o newbie não sabia que isso apenas criaria uma nova header…

Descobri com a leitura o [b]setHeader /b, que sobrescreveria a header atual…

E, o mais importante: saveChanges()! O ‘commit’ do SOAP :smiley:

Isso claro, supondo que o erro esteja no SOAP (já que isso funcionava antes). Mas ao menos já algo por onde começar!

Funcionando ou não, amanhã posto o resultado aqui (se o servidor nos permitir).

Bem, o SOAPAction foi setado, mas, ao contrário do esperado, isso não mudou nada…

Accept: text/xml, text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 SOAPAction: "http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao/nfeRecepcaoLote" Content-Type: text/xml; charset=utf-8 Content-Length: 20810

What’s wrong? :evil:

Olá Prudencio,

voce pode usar um gerador de wsdl, assim nao fica quebrando a cabeça

tem o do axis o wsdl2java, mto bom…

abraço

Quando a exceção é lançada, o valor da SOAPAction retornado é diferente do valor setado por mim (aquele que recupero via MimeHeaders)… wtf?

Há um segundo webservice por detrás do envio? Help!

@
Uma migração destas não seria um pouco demorada?

Não me importo em estudar, mas o programa já está em produção à algum tempo e o ‘Cliente Bahiano’ está parado =/

Solved!

O problema estava no BindingProvider!

Bacana que só a Bahia me exigiu o SOAPAction… Mas já valeu pelo aprendizado :stuck_out_tongue:

Vlw a ajuda!

Boa tarde pessoal !

Gostaria de saber qual a melhor maneira de gerar o arquivo xml de envio ao cliente, o procNFe?
Se alguem pudesse postar um exemplo de implementação ficaria muito grato.

Obrigado desde ja.

Cara eu uso o Xstream eh mto bom!!! Tem exemploes tem simples no site!!!

http://xstream.codehaus.org/

[code]public class Carro {

public String marca = "";
public String modelo = "";
public int potencia = 0;
public double peso = 0;
public transient int kmTotal = 0; //transient faz com que este atributo naum seja jogado para XML!

public int getKmTotal() {
	return kmTotal;
}

public void setKmTotal(int kmTotal) {
	this.kmTotal = kmTotal;
}

public Carro(){
	
}

public String getMarca() {
	return marca;
}

public void setMarca(String marca) {
	this.marca = marca;
}

public String getModelo() {
	return modelo;
}

public void setModelo(String modelo) {
	this.modelo = modelo;
}

public int getPotencia() {
	return potencia;
}

public void setPotencia(int potencia) {
	this.potencia = potencia;
}

public double getPeso() {
	return peso;
}

public void setPeso(double peso) {
	this.peso = peso;
}

}[/code]

Rodando Exemplo:

[code]import com.thoughtworks.xstream.XStream;

public class rodar {

public static void main(String[] args) {
	Carro carro = new Carro();
	carro.setMarca("Fiat");
	carro.setModelo("Marea");
	carro.setPeso(1310);
	carro.setPotencia(142);
	carro.setKmTotal(70000);
	
	XStream x = new XStream();
	String xml = x.toXML(carro);
	
	System.out.println("Alias normal: \n"+xml); //sem nada de modificacoes
	
	x.alias("Exemplo", Carro.class);
	xml = x.toXML(carro);
	
	System.out.println("\nAlias alterado: \n"+xml);  //Alias do XML alterado
	
	XStream xx = new XStream();	
	xx.alias("Exemplo", Carro.class); //Isso soh precisa caso voce naum tenho o nome do pacote e classe certo no alias!!
	Carro marea  = (Carro)  xx.fromXML(xml);
	System.out.println("\n\n Peso: "+marea.getPeso());
	
}

}
[/code]

Resultado no Console:

[code]Alias normal:
<xml.Carro>
Fiat
Marea
142
1310.0
</xml.Carro>

Alias alterado:

Fiat
Marea
142
1310.0

Peso: 1310.0[/code]

Como o Dante falou, o Xstream da conta do recado e o layout do compartilhamento está descrito na página 77 do manual de integração, abraço!

Galera obrigado pela ajuda.

estou fazendo testes no ambiente de homologação ainda, ai eu ate ja tinha conseguido gerar o nfeProc.
ai eu tentei abrir um deste arquivos nfeProc no software visualizador de nfe fornecido pela secretaria da fazenda,
mas nao ta abrindo nao… da erro de assinatura…

Sera que é pq eu to em homologação ainda? nao sei?

De qualquer forma muito obrigado pela ajuda de vcs.

Abraços

acredito que este software esteja esperando outro layout, ou o do lote, ou proprio nfe, se é o visualizador RS, é a própriam NFe