Nfe - Nota Fiscal Eletronica

[quote=philler]Pessoal, estou pra lá de irritado com algumas picuinhas na validação da NFe na SEFAZ e gostaria de
trocar umas idéias com a lista.
Sei que tem gente da SEFAZ que acompanha as discussões. Minha esperança é que eles se manifestem,
pelo manos pra explicar o porque.
Passei por dois casos na SVRS, onde na tag , o meu cliente colocou assim: “uma descricao qualquer Fab:” e
em outro caso assim: “uma descricao qualquer =”.
Observem o sinal de : e = no final da descrição.
Para meu espanto, a SEFAZ retornava que a assinatura diverge do calculado!!!
Foi só tirar os : e = da descrição e reenviar que tudo passou.
Pergunto: Não temos mais liberdade de escrever o que se precisa numa NFe, emum campo teoricamente livre???
Quais outras “regras” não são permitidas nas observações?

Fico por aqui na esperança de alguém me explicar algo sensato.

Alencar[/quote]

Alencar,

Já vi tanta “bizarrisse” quanto esta a ponto de você enviar para um estado e funcionar e outro não… e alegação é de que o caractere é especial… Meu amigo, dede quando um “+” ou um “=” é um caractere especial? Desde quando um espaço a mais no texto de um nó é um caractere especial? Por que em alguns campos o nome acentuado passa e em outros não?
Não tive este problema (como o seu), mas sou capaz de apostar que se enviar para outro servidor (estado) será capaz de passar sem problema!

Cheguei a conclusão que algumas das validações são feitas por regex e cada servidor está fazendo o seu ao inves de compartilhar o mesmo (só pode ser!!).

Outro fato inusitado, e este tenho certeza, é o de que os servidores de aplicação utilizados, com as diversas tecnologias utilizadas, não produzem o mesmo resultado de recebimento. Isto fere TOTALMENTE a ideia de um WebService, pois a Sefaz saiu do padrão W3C para produção dos XMLs, fazendo aninhamento destes, porém não tratou como deveria o recebimento, deixando a cargo da tecnologia que não tem conhecimento da sua grande sabedoria. Ou seja, os XMLs saem desnormalizados do cliente, chegam no servidor são normalizados e geram um monte de errinho e o que eles fazem… liberam parte das validações não críticas, como por exemplo: um estado aceita “Ç” e outro não… Isto é coisa que se faça???

Já vi que isto consta no manual como sendo “não recomendado” (pág 163 do manual 4.01 - NT2009-006, item 4), apesar de ter dúvida do que seja caracteres especiais para a sefaz.

O problema é que o manual está parecendo sabonete de universitário… cheio de remendo, tikin de um com tikin de outro para ver se dá para ler.

Cara eu já perdi a paciência com a Sefaz, faz tempo!

O negócio agora é discutir com os colegar e buscar soluções… Se eles quiserem aprender algumas coisas, acho que aqui no GUJ ajudaria muito e muita gente aqui teria o prazer de contribuir!

[quote=dudu_sps]gente… ja to em uma novela com esse lance de web service

e o resultado é este

[code]Message enviada
com.sun.xml.internal.messaging.saaj.soap.ver1_2.Message1_2Impl@e0a386
02/03/2011 12:31:56 com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection post
SEVERE: SAAJ0009: Message send failed
com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: java.security.PrivilegedActionException: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Message send failed
at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection.call(Unknown Source)
at webService.Teste.metodo2(Teste.java:87)
at webService.Teste.main(Teste.java:53)
Caused by: java.security.PrivilegedActionException: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Message send failed
at java.security.AccessController.doPrivileged(Native Method)
… 3 more
Caused by: com.sun.xml.internal.messaging.saaj.SOAPExceptionImpl: Message send failed
at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection.post(Unknown Source)
at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection$PriviledgedPost.run(Unknown Source)
… 4 more
Caused by: java.net.SocketException: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl)
at javax.net.ssl.DefaultSSLSocketFactory.throwException(Unknown Source)
at javax.net.ssl.DefaultSSLSocketFactory.createSocket(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.createSocket(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.New(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(Unknown Source)
at com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnectionOldImpl.getOutputStream(Unknown Source)
… 6 more
Caused by: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl)
at java.security.Provider$Service.newInstance(Unknown Source)
at sun.security.jca.GetInstance.getInstance(Unknown Source)
at sun.security.jca.GetInstance.getInstance(Unknown Source)
at javax.net.ssl.SSLContext.getInstance(Unknown Source)
at javax.net.ssl.SSLContext.getDefault(Unknown Source)
at javax.net.ssl.SSLSocketFactory.getDefault(Unknown Source)
at com.sun.net.ssl.HttpsURLConnection.getDefaultSSLSocketFactory(Unknown Source)
at com.sun.net.ssl.HttpsURLConnection.(Unknown Source)
at com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnectionOldImpl.(Unknown Source)
at com.sun.net.ssl.internal.www.protocol.https.Handler.openConnection(Unknown Source)
at com.sun.net.ssl.internal.www.protocol.https.Handler.openConnection(Unknown Source)
at java.net.URL.openConnection(Unknown Source)
at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection.createConnection(Unknown Source)
… 6 more
Caused by: java.lang.IllegalArgumentException: if keyStoreType is PKCS11, then keyStore must be NONE
at com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl.getDefaultKeyManager(Unknown Source)
at com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl.(Unknown Source)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
… 19 more

[/code]

alguem pode me ajudar?[/quote]

Boa tarde…

Seu erro real é este:

Vamos por parte! Você está usando:

System.setProperty("javax.net.ssl.keyStoreType", "PKCS11"); System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol"); System.setProperty("javax.net.ssl.keyStorePassword", "senha");//Aqui a senha deste certificado

Sendo que “java.protocol.handler.pkgs” está repetida. Faça assim:

 properties.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol");
 properties.setProperty("javax.net.ssl.keyStoreType", "PKCS11");
 properties.setProperty("javax.net.ssl.keyStore","NONE");
 properties.setProperty("javax.net.ssl.keyStoreProvider", "SunPKCS11-SCR3310");     
 properties.setProperty("javax.net.ssl.keyStorePassword", "{sua senha}");
 properties.setProperty("javax.net.ssl.trustStoreType", "JKS");  
 properties.setProperty("javax.net.ssl.trustStore", "{seu key store path}");

Veja o que acontece e poste o resultado, bem como o conteúdo do arquivo token.cfg!

[quote=AGAraujo]…
O negócio agora é discutir com os colegar e buscar soluções… Se eles quiserem aprender algumas coisas, acho que aqui no GUJ ajudaria muito e muita gente aqui teria o prazer de contribuir!
[/quote]

Esta é a minha esperança ao postar meu desabafo aqui, que alguém do desenvolvimento da NFe explique para os mortais
o que é caracter especial e outras cositas más.
Não foi para encher os ouvidos dos colegas, pois todos passamos maus bocados com as esquisitices das SEFAZ.

Alencar

Pois é, ai os supervisores que entendem de tudo(na vdd não sabem m**** nenhuma) ficam achando que a gente fica enrolando, passeando de forum em forum, respondendo pergunta dos outros e não estamos procurando resolver o proprio problema, mas, enfim…

A esperança é a ultima que morre!!! to contigo Alencar, vamos ter fé e muuuuiiiiita paciencia.

ola amigos

nao consegui mais transmitir nfe, depois que saiu o certificado da caixa v1, baixei toda a cadeia de certificados, enfim tudo o que pede, o tamanho do certificado fica em 6,54 kb, mas hora de mandar da este erro, alguem pode me ajudar a achar uma solução para este problema?

att

manosulconta

xisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: javax.net.ssl.SSLException: Connection has been shutdown: javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_unknown
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:javax.net.ssl.SSLException: Connection has been shutdown: javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_unknown
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.checkEOF(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.checkWrite(Unknown Source)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(Unknown Source)
at java.io.BufferedOutputStream.flushBuffer(Unknown Source)
at java.io.BufferedOutputStream.flush(Unknown Source)
at java.io.FilterOutputStream.flush(Unknown Source)
at org.apache.commons.httpclient.ChunkedOutputStream.flush(ChunkedOutputStream.java:191)
at org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(EntityEnclosingMethod.java:506)
at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2110)
at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1088)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.axis.transport.http.CommonsHTTPSender.invoke(CommonsHTTPSender.java:196)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at br.gov.sp.fazenda.dsen.ws.status.NfeStatusServicoSoapStub.nfeStatusServicoNF(NfeStatusServicoSoapStub.java:107)
at br.gov.sp.fazenda.dsen.model.business.WSBusiness.f(WSBusiness.java:367)
at br.gov.sp.fazenda.dsen.model.business.WSBusiness.servico(WSBusiness.java:102)
at br.gov.sp.fazenda.dsen.model.business.util.ConsultaStatusServicoHelper.consultarStatusServico(ConsultaStatusServicoHelper.java:35)
at br.gov.sp.fazenda.dsen.model.business.EnvioBusiness.enviarLote(EnvioBusiness.java:261)
at br.gov.sp.fazenda.dsen.model.business.EnvioBusiness$$EnhancerByCGLIB$$362b311f.CGLIB$enviarLote$0(<generated>)
at br.gov.sp.fazenda.dsen.model.business.EnvioBusiness$$EnhancerByCGLIB$$362b311f$$FastClassByCGLIB$$cfb97848.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:167)
at br.gov.sp.fazenda.dsge.model.dao.util.DSGEDAOInterceptorHelper.intercept(DSGEDAOInterceptorHelper.java:55)
at br.gov.sp.fazenda.dsen.model.business.EnvioBusiness$$EnhancerByCGLIB$$362b311f.enviarLote(<generated>)
at br.gov.sp.fazenda.dsen.model.business.EnvioBusiness.fecharEnviarLote(EnvioBusiness.java:211)
at br.gov.sp.fazenda.dsen.model.business.EnvioBusiness$$EnhancerByCGLIB$$362b311f.CGLIB$fecharEnviarLote$2(<generated>)
at br.gov.sp.fazenda.dsen.model.business.EnvioBusiness$$EnhancerByCGLIB$$362b311f$$FastClassByCGLIB$$cfb97848.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:167)
at br.gov.sp.fazenda.dsge.model.dao.util.DSGEDAOInterceptorHelper.intercept(DSGEDAOInterceptorHelper.java:66)
at br.gov.sp.fazenda.dsen.model.business.EnvioBusiness$$EnhancerByCGLIB$$362b311f.fecharEnviarLote(<generated>)
at br.gov.sp.fazenda.dsen.model.business.EnvioBusiness.a(EnvioBusiness.java:146)
at br.gov.sp.fazenda.dsen.model.business.EnvioBusiness.montarLote(EnvioBusiness.java:104)
at br.gov.sp.fazenda.dsen.model.business.EnvioBusiness$$EnhancerByCGLIB$$362b311f.CGLIB$montarLote$1(<generated>)
at br.gov.sp.fazenda.dsen.model.business.EnvioBusiness$$EnhancerByCGLIB$$362b311f$$FastClassByCGLIB$$cfb97848.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:167)
at br.gov.sp.fazenda.dsge.model.dao.util.DSGEDAOInterceptorHelper.intercept(DSGEDAOInterceptorHelper.java:66)
at br.gov.sp.fazenda.dsen.model.business.EnvioBusiness$$EnhancerByCGLIB$$362b311f.montarLote(<generated>)
at br.gov.sp.fazenda.dsen.model.facade.DocumentoFacade.enviarLote(DocumentoFacade.java:546)
at br.gov.sp.fazenda.dsen.controller.EnviarNotaFiscalController$1.doInBackground(EnviarNotaFiscalController.java:128)
at javax.swing.SwingWorker$1.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at javax.swing.SwingWorker.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_unknown
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source)
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.recvAlert(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(Unknown Source)
at java.io.BufferedOutputStream.flushBuffer(Unknown Source)
at java.io.BufferedOutputStream.flush(Unknown Source)
at java.io.FilterOutputStream.flush(Unknown Source)
at org.apache.commons.httpclient.ChunkedOutputStream.flush(ChunkedOutputStream.java:191)
at sun.nio.cs.StreamEncoder.implFlush(Unknown Source)
at sun.nio.cs.StreamEncoder.flush(Unknown Source)
at java.io.OutputStreamWriter.flush(Unknown Source)
at java.io.PrintWriter.flush(Unknown Source)
at java.io.BufferedWriter.flush(Unknown Source)
at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:270)
at org.apache.axis.Message.writeTo(Message.java:539)
at org.apache.axis.transport.http.CommonsHTTPSender$MessageRequestEntity.writeRequest(CommonsHTTPSender.java:841)
at org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(EntityEnclosingMethod.java:499)
… 47 more

{http://xml.apache.org/axis/}hostname:ELOI

javax.net.ssl.SSLException: Connection has been shutdown: javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_unknown
at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
at org.apache.axis.transport.http.CommonsHTTPSender.invoke(CommonsHTTPSender.java:301)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at br.gov.sp.fazenda.dsen.ws.status.NfeStatusServicoSoapStub.nfeStatusServicoNF(NfeStatusServicoSoapStub.java:107)
at br.gov.sp.fazenda.dsen.model.business.WSBusiness.f(WSBusiness.java:367)
at br.gov.sp.fazenda.dsen.model.business.WSBusiness.servico(WSBusiness.java:102)
at br.gov.sp.fazenda.dsen.model.business.util.ConsultaStatusServicoHelper.consultarStatusServico(ConsultaStatusServicoHelper.java:35)
at br.gov.sp.fazenda.dsen.model.business.EnvioBusiness.enviarLote(EnvioBusiness.java:261)
at br.gov.sp.fazenda.dsen.model.business.EnvioBusiness$$EnhancerByCGLIB$$362b311f.CGLIB$enviarLote$0()
at br.gov.sp.fazenda.dsen.model.business.EnvioBusiness$$EnhancerByCGLIB$$362b311f$$FastClassByCGLIB$$cfb97848.invoke()
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:167)
at br.gov.sp.fazenda.dsge.model.dao.util.DSGEDAOInterceptorHelper.intercept(DSGEDAOInterceptorHelper.java:55)
at br.gov.sp.fazenda.dsen.model.business.EnvioBusiness$$EnhancerByCGLIB$$362b311f.enviarLote()
at br.gov.sp.fazenda.dsen.model.business.EnvioBusiness.fecharEnviarLote(EnvioBusiness.java:211)
at br.gov.sp.fazenda.dsen.model.business.EnvioBusiness$$EnhancerByCGLIB$$362b311f.CGLIB$fecharEnviarLote$2()
at br.gov.sp.fazenda.dsen.model.business.EnvioBusiness$$EnhancerByCGLIB$$362b311f$$FastClassByCGLIB$$cfb97848.invoke()
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:167)
at br.gov.sp.fazenda.dsge.model.dao.util.DSGEDAOInterceptorHelper.intercept(DSGEDAOInterceptorHelper.java:66)
at br.gov.sp.fazenda.dsen.model.business.EnvioBusiness$$EnhancerByCGLIB$$362b311f.fecharEnviarLote()
at br.gov.sp.fazenda.dsen.model.business.EnvioBusiness.a(EnvioBusiness.java:146)
at br.gov.sp.fazenda.dsen.model.business.EnvioBusiness.montarLote(EnvioBusiness.java:104)
at br.gov.sp.fazenda.dsen.model.business.EnvioBusiness$$EnhancerByCGLIB$$362b311f.CGLIB$montarLote$1()
at br.gov.sp.fazenda.dsen.model.business.EnvioBusiness$$EnhancerByCGLIB$$362b311f$$FastClassByCGLIB$$cfb97848.invoke()
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:167)
at br.gov.sp.fazenda.dsge.model.dao.util.DSGEDAOInterceptorHelper.intercept(DSGEDAOInterceptorHelper.java:66)
at br.gov.sp.fazenda.dsen.model.business.EnvioBusiness$$EnhancerByCGLIB$$362b311f.montarLote()
at br.gov.sp.fazenda.dsen.model.facade.DocumentoFacade.enviarLote(DocumentoFacade.java:546)
at br.gov.sp.fazenda.dsen.controller.EnviarNotaFiscalController$1.doInBackground(EnviarNotaFiscalController.java:128)
at javax.swing.SwingWorker$1.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at javax.swing.SwingWorker.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: javax.net.ssl.SSLException: Connection has been shutdown: javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_unknown
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.checkEOF(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.checkWrite(Unknown Source)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(Unknown Source)
at java.io.BufferedOutputStream.flushBuffer(Unknown Source)
at java.io.BufferedOutputStream.flush(Unknown Source)
at java.io.FilterOutputStream.flush(Unknown Source)
at org.apache.commons.httpclient.ChunkedOutputStream.flush(ChunkedOutputStream.java:191)
at org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(EntityEnclosingMethod.java:506)
at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2110)
at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1088)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.axis.transport.http.CommonsHTTPSender.invoke(CommonsHTTPSender.java:196)
… 41 more
Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_unknown
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source)
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.recvAlert(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(Unknown Source)
at java.io.BufferedOutputStream.flushBuffer(Unknown Source)
at java.io.BufferedOutputStream.flush(Unknown Source)
at java.io.FilterOutputStream.flush(Unknown Source)
at org.apache.commons.httpclient.ChunkedOutputStream.flush(ChunkedOutputStream.java:191)
at sun.nio.cs.StreamEncoder.implFlush(Unknown Source)
at sun.nio.cs.StreamEncoder.flush(Unknown Source)
at java.io.OutputStreamWriter.flush(Unknown Source)
at java.io.PrintWriter.flush(Unknown Source)
at java.io.BufferedWriter.flush(Unknown Source)
at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:270)
at org.apache.axis.Message.writeTo(Message.java:539)
at org.apache.axis.transport.http.CommonsHTTPSender$MessageRequestEntity.writeRequest(CommonsHTTPSender.java:841)
at org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(EntityEnclosingMethod.java:499)
… 47 more

[quote=manosulconta]ola amigos

nao consegui mais transmitir nfe, depois que saiu o certificado da caixa v1, baixei toda a cadeia de certificados, enfim tudo o que pede, o tamanho do certificado fica em 6,54 kb, mas hora de mandar da este erro, alguem pode me ajudar a achar uma solução para este problema?

[/quote]

A cadeia certificadora que está vindo nos smart cards da CEF estão errados.
Baixe e instale no cartão a nova cadeia. No site icp.caixa.gov.br
ainda não está disponível a nova cadeia, mas você poderá exportá-la do IE.
Fiz assim para resolver este rolo ai.

Alencar

o erro do certificado v1, que falei agora é pouco, é nos certicados a1 mesmo, não no certificado com cartão, baixei a cadeia de certificados que esta no site icp e instalei e mesmo deu aquele erro, que esta mencionado no outro texto anteriormente, varios clientes meus, tem o certificado da caixa anterior e todos estão funcionando perfeitamente, foi depois que saiu este v1, que o meio de campo embolou, porém estes erros estão acontecendo principalmente no emissor nfe da sefaz de sao paulo, teve um caso na semana passada, em que enviei o certificado por email para um programa pago e apesar de se baterem bastante consiguiram fazer funcionar, agora no emissor gratuito, a gente não a quem recorrer, por isso, peço uma opinião de todos que possa ajudar a resolver,

desde ja, obrigado pela atenção

manosulconta

cara pelo erro , qdo tive esses problemas com certificados A1 é o seguinte se alguem te passou esse certificado a1 exportando ele de algum lugar que estava instalado pode esquecer q nao funciona vc tem q pegar o original ( quem comprou deve ter) de uma olhada no tamanho certificados original tem acima de 6.5 kb e os certificados exportados do original tem no maximo 4 kb , e tb serve para certificados de web-services se voltar erro de SSL é td problema no certificado

[quote=manosulconta]o erro do certificado v1, que falei agora é pouco, é nos certicados a1 mesmo, não no certificado com cartão, baixei a cadeia de certificados que esta no site icp e instalei e mesmo deu aquele erro, que esta mencionado no outro texto anteriormente, varios clientes meus, tem o certificado da caixa anterior e todos estão funcionando perfeitamente, foi depois que saiu este v1, que o meio de campo embolou, porém estes erros estão acontecendo principalmente no emissor nfe da sefaz de sao paulo, teve um caso na semana passada, em que enviei o certificado por email para um programa pago e apesar de se baterem bastante consiguiram fazer funcionar, agora no emissor gratuito, a gente não a quem recorrer, por isso, peço uma opinião de todos que possa ajudar a resolver,

desde ja, obrigado pela atenção[/quote]

Para certificados A1 funciona assim: Você importa o certificado A1 no IE, marcando a opção de chave privada exportável.
Dae, confere em Opções de Internet, Conteúdo, Certificados, Pessoal. Lá estará o certificado do seu cliente.
Olhe a cadeia certificadora em Exibir, Caminho de certificação.
Confira em Autoridades de certificação intermediárias se os certificados da cadeia estão lá.
Se sim, exporte o certificado do seu cliente com a opção de Exportar a chave privada e Incluir todos os certificados no caminho de certificação.
Isso deve gerar um arquivo de +/- 7KB. Pronto. Sete este novo arquivo como sendo o certificado do seu cliente.

Alencar

Bom dia galera !!

Pesquisei todo o tópico, mas ainda estou com algumas duvidas.

Hj eu consigo consumir o WebService de Sp na versão 1.07.

Mas não estou conseguindo consumir o mesmo na versão 2.00

Segue meu código :

public static void main(String[] args) {

    String nfeCabecMsg =
            "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?>"
            + "<cabecMsg xmlns=\"nfe/wsdl/NfeStatusServico2\" "
            + "versao=\"1.02\">" + "<versaoDados>2.00</versaoDados>"
            + "</cabecMsg>";

    String nfeDadosMsg =
            "<nfeDadosMsg><consStatServ versao=\"2.00\""
            + " xmlns=\"http://www.portalfiscal.inf.br/nfe\">"
            + "<tpAmb>2</tpAmb><cUF>35</cUF><xServ>STATUS</xServ>"
            + "</consStatServ></nfeDadosMsg>";


    System.setProperty("sun.security.ssl.allowUnsafeRenegotiation", "true");
    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:/keystore/cebelo.pfx");
    System.setProperty("javax.net.ssl.keyStorePassword", "123456");

    System.setProperty("javax.net.ssl.trustStoreType", "JKS");
    System.setProperty("javax.net.ssl.trustStore", "C:/keystore/sp.jks");
    System.setProperty("javax.net.ssl.trustStorePassword", "123456");


    NfeStatusServico2 service = new NfeStatusServico2();

    try {
        NfeStatusServico2Soap12 nfeStatus = service.getNfeStatusServico2Soap12();
       [color=red] System.out.println(nfeStatus.nfeStatusServicoNF2(nfeCabecMsg, nfeDadosMsg));[/color]       

} catch (Throwable e1) {
e1.printStackTrace();

Mas ta dando o seguinte erro na linha em Vermelho :

method nfeStatusServicoNF2 in interface br.inf.portalfiscal.nfe.wsdl.nfestatusservico2.NfeStatusServico2Soap12 cannot be applied to given types

Alguem ja passou por isso ??

a forma de comunicação com os webservices mudou.

não é mais através de simples Strings.

agora vc tem que enviar as Strings em mensagens SOAP.

da uma procurada nas mensagens antigas que vc vai ver exemplos de como enviar os xmls.

OK vou procurar !

Obrigado pela Atenção Rodrigo.

Pessoal desculpe pela pergunta, mas como estou no inicio em java ainda, existem varias duvidas.

Como comentei no tópico acima estou com dificuldades em cunsumir o webservice na versão 2.0, e pesquisando aqui no forum vi varias dicas falando referente a classe NfeStatusServico2Stub, mas oq seria esse Stub, pois crie minhas classes e é só NfeStatusServico2 ??

Ei galera, estou perdido em relação a consumir o WebService 2.0, ja não sei oq fazer mais !!

C alguem tiver algo p/ ajudar !!

Att

Rafael Colodo

Boa tarde,
Surgiu um problema aqu no meu sistema utilizando o JAXB. Quando eu executo:

marshaller.marshal(cancNFe, stringW);

Com um Objeto do tipo TCancNfe ele gera um XML que inicia em:

ou seja está com o NameSpace errado.

Como fazer para acerar isso? Obrigado.

Este tópico já possue a solução para estes problemas, sugiro da uma olhadinha nas últimas 5 páginas. pelo menos.

t+

Pessoal, sobre o CSOSN 900, conforme página 141 do manual 4.0.1-NT2009.006
na tag do grupo consta ICMSSN900, mas na tag N12a do item CSOSN consta conteúdo
90 e não 900. Inclusive o tamanho é N2.

Sabem dizer se foi erro no manual ou se o valor da tag CSOSN deve ser 90 mesmo?

Alencar

[quote=AGAraujo][quote]
Como fazer para acerar isso? (rafaelbtz)

Se vocC alguem tiver algo p/ ajudar !! (Colodo)
[/quote]

Este tópico já possue a solução para estes problemas, sugiro da uma olhadinha nas últimas 5 páginas. pelo menos.

t+
[/quote]

Olá AGAraujo !!

Ja consegui progredi bastante graças a ajuda desse tópico, e tambem a ajuda do Maciel pelo site http://www.javac.com.br.

Agora estou trabalhando em cima da validação do Xml, dei uma pesquisada por aqui e não encontrei nada, se alguem tiver algo p/ me ajudar, será bem vindo !

Agradeço a atenção de todos !

E se alguem precisar de algo é só falar, hj meu projeto está assinando, e consumindo o webservice de Sp.

[quote=Colodo][quote=AGAraujo][quote]
Como fazer para acerar isso? (rafaelbtz)

Se vocC alguem tiver algo p/ ajudar !! (Colodo)
[/quote]

Este tópico já possue a solução para estes problemas, sugiro da uma olhadinha nas últimas 5 páginas. pelo menos.

t+
[/quote]

Olá AGAraujo !!

Ja consegui progredi bastante graças a ajuda desse tópico, e tambem a ajuda do Maciel pelo site http://www.javac.com.br.

Agora estou trabalhando em cima da validação do Xml, dei uma pesquisada por aqui e não encontrei nada, se alguem tiver algo p/ me ajudar, será bem vindo !

Agradeço a atenção de todos !

E se alguem precisar de algo é só falar, hj meu projeto está assinando, e consumindo o webservice de Sp.[/quote]

Se estiver falando de Validação exatamento como o Manual requer, tipo:

  • verificar calculo de assinatura;
  • verificar compatibilidade de CNPJ com o Certificado, etc…

Aqui não vi nada parecido. Para falar a verdade, acredito que quase ninguem faz todas estas validações. No meu caso eu trato todos os retornos com erros e apenas cuido das validações de saídas mais críticas ou que possam causar inconsistência com as informações vindas de outros softwares, por exemplo: o calculo dos itens é checado com o valor total da nota.

Se for dessas validações que está falando, vamos ver se mais alguém tem mais alguma sugestão.

t+

[quote=philler]Pessoal, sobre o CSOSN 900, conforme página 141 do manual 4.0.1-NT2009.006
na tag do grupo consta ICMSSN900, mas na tag N12a do item CSOSN consta conteúdo
90 e não 900. Inclusive o tamanho é N2.

Sabem dizer se foi erro no manual ou se o valor da tag CSOSN deve ser 90 mesmo?

Alencar[/quote]

É 900. Pode verificar direto no XSD.


update

Para auxiliar no entendimento: http://www.spednews.com.br/07/2010/nfe-instituido-crt-codigo-de-regime-tributario-e-csosn-codigo-de-situacao-da-operacao-no-simples-nacional/