pedruhenrik 9 de fev. de 2011
didobruno vc tem o certificado digital?
vc precisa dele(seja A1 ou A3) para “montar” a classe q fará a comunicação ssl junto a sefaz.
aqui no guj tem material de como assinar a conexão ssl.
att,
didobruno 9 de fev. de 2011
Eu tenho sim amigo, tenho os certificados e o XML validado e Assinado
Funcionando direitinho, só que agora como falei
tenho que fazer meu sistema enviar e parar de usar o emissor da receita
a gente estava importando o XML e enviando
tem algum material ai que possa me ajudar?
value
pedruhenrik 9 de fev. de 2011
eu tinha feito esse “tutorial” http://www.4shared.com/file/FOef2FJ3/Tutorial_acessando_WebService_.htm
era p/ nfe 1.0
vc tem q baixar agora os wsdls de cada serviço por estado, gerar as classes para consumação e dps “assinar” a conexão ssl.
e ai através de soap vc envia a nfe.
comece tentando o servico de consulta de status dos serviços, acho q é o mais adequado para se iniciar.
att,
didobruno 9 de fev. de 2011
opa valeu, vou fazer o que está mostrando no tutorial
pedruhenrik 9 de fev. de 2011
didobruno 9 de fev. de 2011
Bem eu fiz o exemplo, mas no seu tutorial está um pouco diferente, eu criei as classes apartir do wsdl
e ele me trouxe as seguintes classes NfeStatusServico2Locator e NfeStatusServico2Soap12
package principal ;
import java.security.Security ;
import br.inf.portalfiscal.www.nfe.wsdl.NfeStatusServico2.NfeStatusServico2Locator ;
import br.inf.portalfiscal.www.nfe.wsdl.NfeStatusServico2.NfeStatusServico2Soap12 ;
public class EnvioNFe
{
public static void main ( String [] args )
{
try {
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:/certificado.pfx" );
System . setProperty ( "javax.net.ssl.keyStoreAlias" , "alias" );
System . setProperty ( "javax.net.ssl.keyStorePassword" , "senha" );
System . setProperty ( "javax.net.ssl.trustStoreType" , "JKS" );
System . setProperty ( "javax.net.ssl.trustStore" , "c:/nfe.keystore" );
NfeStatusServico2Locator locator = new NfeStatusServico2Locator ();
NfeStatusServico2Soap12 service = locator . getNfeStatusServico2Soap12 ();
}
catch ( Exception e )
{
e . printStackTrace ();
}
}
}
Parei aqui, não sei como proseguir, tentei chamar o metodo System.out.println(service.nfeStatusServicoNF2(null));
e o seguinte erro deu:
WARNING: Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled.
AxisFault
faultCode: {<a href= "http://www.w3.org/2003/05/soap-envelope" > http://www.w3.org/2003/05/soap-envelope</a> }Server.userException
faultSubcode:
faultString: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
faultActor:
faultNode:
faultDetail:
{<a href= "http://xml.apache.org/axis/" > http://xml.apache.org/axis/</a> }stackTrace:javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(Unknown Source)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown Source)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(Unknown Source)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(Unknown Source)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Unknown Source)
at com.sun.net.ssl.internal.ssl.Handshaker.process_record(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.startHandshake(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:186)
at org.apache.axis.transport.http.HTTPSender.getSocket(HTTPSender.java:191)
at org.apache.axis.transport.http.HTTPSender.writeToSocket(HTTPSender.java:404)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:138)
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.inf.portalfiscal.www.nfe.wsdl.NfeStatusServico2.NfeStatusServico2Soap12Stub.nfeStatusServicoNF2(NfeStatusServico2Soap12Stub.java:171)
at principal.EnvioNFe.main(EnvioNFe.java:31)
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.validator.PKIXValidator.doBuild(Unknown Source)
at sun.security.validator.PKIXValidator.engineValidate(Unknown Source)
at sun.security.validator.Validator.validate(Unknown Source)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate(Unknown Source)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)
… 23 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown Source)
at java.security.cert.CertPathBuilder.build(Unknown Source)
… 29 more
{http://xml.apache.org/axis/}hostname:HSC1
javax . net . ssl . SSLHandshakeException : sun . security . validator . ValidatorException : PKIX path building failed : sun . security . provider . certpath . SunCertPathBuilderException : unable to find valid certification path to requested target
at org . apache . axis . AxisFault . makeFault ( AxisFault . java : 101 )
at org . apache . axis . transport . http . HTTPSender . invoke ( HTTPSender . java : 154 )
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 . inf . portalfiscal . www . nfe . wsdl . NfeStatusServico2 . NfeStatusServico2Soap12Stub . nfeStatusServicoNF2 ( NfeStatusServico2Soap12Stub . java : 171 )
at principal . EnvioNFe . main ( EnvioNFe . java : 31 )
Caused by : javax . net . ssl . SSLHandshakeException : sun . security . validator . ValidatorException : PKIX path building failed : sun . security . provider . certpath . SunCertPathBuilderException : unable to find valid certification path to requested target
at com . sun . net . ssl . internal . ssl . Alerts . getSSLException ( Unknown Source )
at com . sun . net . ssl . internal . ssl . SSLSocketImpl . fatal ( Unknown Source )
at com . sun . net . ssl . internal . ssl . Handshaker . fatalSE ( Unknown Source )
at com . sun . net . ssl . internal . ssl . Handshaker . fatalSE ( Unknown Source )
at com . sun . net . ssl . internal . ssl . ClientHandshaker . serverCertificate ( Unknown Source )
at com . sun . net . ssl . internal . ssl . ClientHandshaker . processMessage ( Unknown Source )
at com . sun . net . ssl . internal . ssl . Handshaker . processLoop ( Unknown Source )
at com . sun . net . ssl . internal . ssl . Handshaker . process_record ( 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 . startHandshake ( Unknown Source )
at com . sun . net . ssl . internal . ssl . SSLSocketImpl . startHandshake ( Unknown Source )
at org . apache . axis . components . net . JSSESocketFactory . create ( JSSESocketFactory . java : 186 )
at org . apache . axis . transport . http . HTTPSender . getSocket ( HTTPSender . java : 191 )
at org . apache . axis . transport . http . HTTPSender . writeToSocket ( HTTPSender . java : 404 )
at org . apache . axis . transport . http . HTTPSender . invoke ( HTTPSender . java : 138 )
… 11 more
Caused by : sun . security . validator . ValidatorException : PKIX path building failed : sun . security . provider . certpath . SunCertPathBuilderException : unable to find valid certification path to requested target
at sun . security . validator . PKIXValidator . doBuild ( Unknown Source )
at sun . security . validator . PKIXValidator . engineValidate ( Unknown Source )
at sun . security . validator . Validator . validate ( Unknown Source )
at com . sun . net . ssl . internal . ssl . X509TrustManagerImpl . validate ( Unknown Source )
at com . sun . net . ssl . internal . ssl . X509TrustManagerImpl . checkServerTrusted ( Unknown Source )
at com . sun . net . ssl . internal . ssl . X509TrustManagerImpl . checkServerTrusted ( Unknown Source )
… 23 more
Caused by : sun . security . provider . certpath . SunCertPathBuilderException : unable to find valid certification path to requested target
at sun . security . provider . certpath . SunCertPathBuilder . engineBuild ( Unknown Source )
at java . security . cert . CertPathBuilder . build ( Unknown Source )
… 29 more
pedruhenrik 9 de fev. de 2011
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
geralmente isso esta relacionado ao certificado, problemas para encontrar, acessar, etc.
att,
Edifran 25 de fev. de 2011
Não sei se é isso que voce fez, mas nessa parte:
System . setProperty ( "javax.net.ssl.trustStoreType" , "JKS" );
System . setProperty ( "javax.net.ssl.trustStore" , "c:/nfe.keystore" );
tem que ser o certificado do servidor que voce importa do site da receita.
Eu fiz assim
/**
* Certificado da SEFAZ.
* Para essa parte, é preciso importar o certificado da SEFAZ, no meu caso, usei o FireFox pra importar os certificados.
* Daí fiz o procedimento abaixo pra gerar o arquivo .jks (Java KeyStore).
* sudo keytool -import -alias nfehom -keystore nfehom.jks -file ACImprensaOficialSPRFBG2.cer
*/
daí no lugar de nfe.keystore voce usa nfehom.jks (o que voce criar)
dudu_sps 28 de fev. de 2011
alguem mais pode dar uma dica???
estou precisando também… nfe 2.0
didobruno 28 de fev. de 2011
Eu ainda não consegui tbm, está dificil, ja tentei tanta coisa
rs
didobruno 14 de mar. de 2011
Alguem conseguiu algum avanço no envio, eu ainda não consegui nada aqui
estou ficando em choque rsrs
pedruhenrik 14 de mar. de 2011
ué q estranho…eu consegui sem problemas…
vou fazer 1 tutorial do q eu fiz aki.
att,
didobruno 14 de mar. de 2011
Poxa cara, se vc fizer isso, vai salvar umas vidas hein rsrsr
value mesmo
didobruno 28 de mar. de 2011
campeão você conseguiu fazer o tutorial ai?
valeu!
pedruhenrik 28 de mar. de 2011
didobruno q q é isso!!!
o kra me cobrando na cara dura!!! pelo amor q absurdo!!!
uhauhauhauhauh zueira hein!
esse aqui é o da versão nfe 2.0:
http://www.4shared.com/document/dX-4E1Up/Tutorial_acessando_WebService_.html
e esse outro apesar de ser sobre a versão nfe 1.0 ele tem uma breve explicação de como gerar o keystore.
http://www.4shared.com/file/FOef2FJ3/Tutorial_acessando_WebService_.html
esse é o post no guj:
http://www.guj.com.br/java/237281-tutorial-consumir-webservice-nfe-20
flw aé até a próxima encrenca do speed ehehe
att,
didobruno 30 de mar. de 2011
Valeu campeão rsrsrs
Desculpa ficar cobrando ai rsrs
didobruno 5 de abr. de 2011
Opaaaaaaaaa brotherrrrrr funcionou sim !!!
Agora vai hein rsrsrsrs
Só tive um probleminha na hora do keystore
estava gerando com o meu certificado e não com o da receita
mas agora funcionou rsrs
valeuuuuu