[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?
[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…
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.
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.
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
[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
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).
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.
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>
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.