NFe

cara entra no endereço do ws e salva os wsdl… e a paritr desses vc cria os web services…

Se eu preencho o campo Service Definition com a url do web service da que eu quero, por exemplo https://nfe.fazenda.sp.gov.br/nfeweb/services/nfestatusservico.asmx?wsdl, ele me mostra um erro " The service definition selected is invalid."
Testei com um outro wsdl de um site qualquer e funcionou, criou as classes java normalmente, ou seja, não deve ser problema do eclipse.

Tenho os wsdl que peguei no site aqui. Como eu faço essa conversão a partir deles? É só preencher o campo “Service Definition” com o caminho dele (por exemplo, c:\teste.wsdl) ou o procedimento é outro?

Consegui resolver.
Coloquei os wsdl num servidor Apache Axis e assim consegui gerar as classes java.

a classe NfeStatusServicoLocator não é gerada automaticamente, o que exatamente ela faz ?

abraço !

[size=14]Olá pessoal,

Apenas startei meu projeto NFe, bem atrasado e correndo atrás do prejuízo, vi neste tópico algumas dicas, mas
antes de entrar em alguns detalhes, gostaria de saber se alguém conseguiu baixar os arquivos WSDL do SEFAZ-BA
e se alguém tem desenvolvido em Linux, pois eu baixei o arquivo Associacao.pfx pra começar a fazer uns testes,
mas só vjo exemplos para win.

Rafael deu umas dicas q parecem ótimas, mas aqui no Ubuntu me perdi um pouco em como gerar, por exemplo, o
nfe.keystore.

Tenho muito a fazer ainda, mas gostaria de ter essas dicas, alguém? :slight_smile:
[/size]

[quote=UpTheIrons][size=14]Olá pessoal,

Apenas startei meu projeto NFe, bem atrasado e correndo atrás do prejuízo, vi neste tópico algumas dicas, mas
antes de entrar em alguns detalhes, gostaria de saber se alguém conseguiu baixar os arquivos WSDL do SEFAZ-BA
e se alguém tem desenvolvido em Linux, pois eu baixei o arquivo Associacao.pfx pra começar a fazer uns testes,
mas só vjo exemplos para win.

Rafael deu umas dicas q parecem ótimas, mas aqui no Ubuntu me perdi um pouco em como gerar, por exemplo, o
nfe.keystore.

Tenho muito a fazer ainda, mas gostaria de ter essas dicas, alguém? :slight_smile:
[/size]
[/quote]

Apesar de usarmos Windows aqui, o keystore eu gerei no Ubuntu porque foi mais simples. Basta ter o Java instalado, abrir um terminal e digitar o comando que o Rafael Passou, mas precedido do comando sudo:

sudo keytool -import -alias nfe -keystore <caminho_para_um_keystore Ex: /home/pasta_do_usuario/nfe.keystore> -file <caminho_completo_para_o_cert_exportado_do_IE ( arquivo .cer)>

Might Angel,

Então, essa parte eu consegui fazer diferente, achei aqui mesmo no forum, n me lembro quem deu a solução,
mas no caso, usa o arquivo PFX de forma direta, sem precisar usar Keytool.

[code]

    KeyStore ks = KeyStore.getInstance("PKCS12");
    ks.load(new FileInputStream(caminhoCertificado), senha.toCharArray());
    Enumeration aliasesEnum = ks.aliases();
    String alias = "";
    while (aliasesEnum.hasMoreElements()) {
        alias = (String) aliasesEnum.nextElement();

        if (ks.isKeyEntry(alias)) {
            System.out.println(alias);
            break;
        }
    }


    KeyStore.PrivateKeyEntry keyEntry = (KeyStore.PrivateKeyEntry) ks.getEntry(alias, new KeyStore.PasswordProtection(senha.toCharArray()));
    X509Certificate cert = (X509Certificate) keyEntry.getCertificate();
    // Create the KeyInfo containing the X509Data.
    KeyInfoFactory kif = fac.getKeyInfoFactory();
    List x509Content = new ArrayList();[/code]

Este é um trecho do código.

Falew.

UpTheIrons
mas esse código vai ser vai para a assinatura certo?!?
e os passos usando o keytool é para fazer a comunicação com o ws…

Alves Felipe,

Sim vc está certo.
Na verdade, não cheguei nesta parte ainda (dos WebServices), tô no “início” de tudo,
bem atrasado eu sei, mas tentando :slight_smile:

Pessoal,

Segui todos os passos do tópico e consegui rodar a conexão.
Agora estou com outro problema, preciso que uma única execução do programa envie notas para diferentes clientes/empresas.

Há alguma forma de informar os parâmetros “javax.net.ssl.keyStoreType, javax.net.ssl.keyStore e javax.net.ssl.keyStorePassword” por thread???

Estou usando JAX-WS com jboss.

Att,
Fábio Viana

Ola, legal o codigo, parece que esta quase agora.
Seguinte, estava tendo mto problema com o famoso erro 403 mas acho q agora foi, mas apenas para confirmar, qual(is) certificados tenho q deixar no keystore final ?? Eu coloquei o Raiz e o meu exportado.
Agora pra mim nao aparece mais 403, agora so tenho “Caused by: java.net.ConnectException: Connection timed out: connect”.
Alguma ideia ???
Eu verifiquei na classe gerada pelo wsdl SP para verificar o status e o site é “https://homologacao.nfe.fazenda.sp.gov.br/nfeWEB/services/NfeStatusServico.asmx” (acho).

Preciso urgente de uma ajuda gente.

Abracos,
Magno
magno_jr@terra.com.br

Bom dia gente, seguinte, ja tentei de td qto é jeito e agora eu caí no problem em: “HTTP Error 403.7 - Forbidden: SSL client certificate is required”. Alguem poderia me ajudar.
Eu importei no IE os certificados associacao e condominio de testes (ja testei com ambos e nada) e exportei de volta para .cer, entao importei SEFAZSP_homologacao.p7b e exportei a Raiz para .cer (tem q ser algum outro ou mais de um??) e dai adicionei no mesmo keystore o cliente+raiz, mas nada, agora o erro é esse q falei.
Alguma dica ??

Meu codigo:

	public static void main(String[] args) {

		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=\"1.07\""
			+ " xmlns=\"http://www.portalfiscal.inf.br/nfe\">"
			+ "<tpAmb>2</tpAmb>" + "<cUF>42</cUF>"
			+ "<xServ>STATUS</xServ>" + "</consStatServ>";

		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","D:\\Desenvolvimento\\Nota-e\\certificados_nfe\\Certificados\\Condominio.pfx");
		System.setProperty("javax.net.ssl.keyStorePassword", "condominio");

		System.setProperty("javax.net.ssl.trustStoreType", "JKS");
		System.setProperty("javax.net.ssl.trustStore", "D:\\Desenvolvimento\\Nota-e\\Certificados_NFe_SefazSP\\v01.jks");
		System.setProperty("javax.net.ssl.trustStorePassword", "xxx");  

		NfeStatusServico service = new NfeStatusServicoLocator();
		try {
			NfeStatusServicoSoap nfeStatus = service.getNfeStatusServicoSoap();
			System.out.println(nfeStatus.nfeStatusServicoNF(nfeCabecMsg, nfeDadosMsg));
		} catch (Throwable e1) {
			e1.printStackTrace();
		}
	}

E outra pergunta, meu cliente ja possui um A3, mas o servidor deles nao sera no cliente em si, entao como seria um sistema em java mesmo para acessar o cartao com um leitor? Onde teria q ficar o leitor? Seria bem mais aconselhavel nesse 1o. momento usarmos o A1 q seria o arquivo “simples” mesmo ??

Abracos,
Magno
magno_jr@terra.com.br (email e msn)

Olá pessoal,

Nossa… qntos problemas variados… pena que o meu não é igual =/
Bom… antes…

magno_jr
Acredito que o seu erro é porque a SEFAZ não achou um certificado registrado no servidor deles para, ou seja, a forma como “Condominio” é passado deve ser diferente para que eles achem o certificado do lado deles…

Deve ser isso, porque para usar o serviço é preciso registrar o certificado na SEFAZ, como Condominio e Associacao são certificados de teste que disponibilizam, eles devem estar cadastrados… então, so nos resta a forma de passar essa infomação para o WS…

Espero que ajude…


Aproveitando… ^^
Estou com um problema um pouco antes de você… justamente na montagem dos parâmetros CabecMsg e DadosMsg…
Ao converter os XSD ganhei as classes CabecMsg.java e TConsStatServ.java, que olhando o código delas demonstram terem a finalizadade para montar as msg… mas estou com um erro na hora de fazer o marshall

Para não desviar muito este post, creiei um para o assunto em http://www.guj.com.br/posts/list/134641.java#724376, se alguem puder dar um help, agradeço muito.


Uma dica em relação ao NFe, eu baixei o programa da SEFAZ, o tal “Emissor de Nota Fiscal Eletronica (NF-e)”… no que ele me ajudou ??? Após gerar o XML, Assinar e Validar pelo meu software, importei o XML assinado para ele, onde consigo mais detalhes sobre exceções de preenchimento que posso usar na hora de montar o XML e também, posso usar ele para testar o envio para a SEFAZ… que até o momento estou só recebendo “time out” Ô,o

Fui !

[quote=magno_jr]Bom dia gente, seguinte, ja tentei de td qto é jeito e agora eu caí no problem em: “HTTP Error 403.7 - Forbidden: SSL client certificate is required”. Alguem poderia me ajudar.
Eu importei no IE os certificados associacao e condominio de testes (ja testei com ambos e nada) e exportei de volta para .cer, entao importei SEFAZSP_homologacao.p7b e exportei a Raiz para .cer (tem q ser algum outro ou mais de um??) e dai adicionei no mesmo keystore o cliente+raiz, mas nada, agora o erro é esse q falei.
[/quote]

Agora cheguei neste mesmo problema… segue trechos da minha mensagem de erro…

AxisFault faultCode: {http://schemas.xmlsoap.org/soap/envelope/}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: {http://xml.apache.org/axis/}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(Alerts.java:150) ... at br.inf.portalfiscal.www.nfe.wsdl.NfeStatusServico.NfeStatusServicoSoapStub.nfeStatusServicoNF(NfeStatusServicoSoapStub.java:110) ... Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:236) ... 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(PKIXValidator.java:221) at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:145) at sun.security.validator.Validator.validate(Validator.java:203) at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:172) at com.sun.net.ssl.internal.ssl.JsseX509TrustManager.checkServerTrusted(SSLContextImpl.java:320) at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:841) ... 25 more ...

Qualquer novidade aviso!

Olá pessoal!

Alguém obteve esse erro e sabe o que pode ser?

com.sun.xml.internal.ws.wsdl.parser.InaccessibleWSDLException: 2 counts of InaccessibleWSDLException.

java.net.SocketException: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl)
java.net.SocketException: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl)

        at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.tryWithMex(RuntimeWSDLParser.java:146)
        at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:122)
        at com.sun.xml.internal.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:226)
        at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:189)
        at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:159)
        at com.sun.xml.internal.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:83)
        at javax.xml.ws.Service.<init>(Service.java:56)
        at br.inf.portalfiscal.nfe.wsdl.nfestatusservico.NfeStatusServico.<init>(NfeStatusServico.java:46)
        at br.orquestra.nfe.ClientConnection.getStatusServico(ClientConnection.java:66)
        at br.orquestra.nfe.ClientConnection.main(ClientConnection.java:87)
AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode: 
 faultString: java.net.SocketException: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl)
 faultActor: 
 faultNode: 
 faultDetail: 
        {http://xml.apache.org/axis/}stackTrace: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(SSLSocketFactory.java:179)
        at javax.net.ssl.DefaultSSLSocketFactory.createSocket(SSLSocketFactory.java:199)
        at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:178)
        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.orquestra.nfe.ClientConnection.main(ClientConnection.java:104)
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(Provider.java:1245)
        at sun.security.jca.GetInstance.getInstance(GetInstance.java:220)
        at sun.security.jca.GetInstance.getInstance(GetInstance.java:147)
        at javax.net.ssl.SSLContext.getInstance(SSLContext.java:125)
        at javax.net.ssl.SSLContext.getDefault(SSLContext.java:68)
        at javax.net.ssl.SSLSocketFactory.getDefault(SSLSocketFactory.java:102)
        at org.apache.axis.components.net.JSSESocketFactory.initFactory(JSSESocketFactory.java:61)
        at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:79)
        ... 13 more
Caused by: java.io.IOException: failed to decrypt safe contents entry: javax.crypto.BadPaddingException: Given final block not properly padded
        at com.sun.net.ssl.internal.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:1277)
        at java.security.KeyStore.load(KeyStore.java:1185)
        at com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl.getDefaultKeyManager(DefaultSSLContextImpl.java:150)
        at com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl.&lt;init&gt;(DefaultSSLContextImpl.java:40)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at java.lang.Class.newInstance0(Class.java:355)
        at java.lang.Class.newInstance(Class.java:308)
        at java.security.Provider$Service.newInstance(Provider.java:1221)
        ... 20 more
Caused by: javax.crypto.BadPaddingException: Given final block not properly padded
        at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..)
        at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..)
        at com.sun.crypto.provider.PKCS12PBECipherCore.b(DashoA13*..)
        at com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndRC2_40.engineDoFinal(DashoA13*..)
        at javax.crypto.Cipher.doFinal(DashoA13*..)
        at com.sun.net.ssl.internal.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:1274)
        ... 30 more

        {http://xml.apache.org/axis/}hostname:ft-304

java.net.SocketException: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl)
        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.orquestra.nfe.ClientConnection.main(ClientConnection.java:104)
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(SSLSocketFactory.java:179)
        at javax.net.ssl.DefaultSSLSocketFactory.createSocket(SSLSocketFactory.java:199)
        at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:178)
        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)
        ... 10 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(Provider.java:1245)
        at sun.security.jca.GetInstance.getInstance(GetInstance.java:220)
        at sun.security.jca.GetInstance.getInstance(GetInstance.java:147)
        at javax.net.ssl.SSLContext.getInstance(SSLContext.java:125)
        at javax.net.ssl.SSLContext.getDefault(SSLContext.java:68)
        at javax.net.ssl.SSLSocketFactory.getDefault(SSLSocketFactory.java:102)
        at org.apache.axis.components.net.JSSESocketFactory.initFactory(JSSESocketFactory.java:61)
        at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:79)
        ... 13 more
Caused by: java.io.IOException: failed to decrypt safe contents entry: javax.crypto.BadPaddingException: Given final block not properly padded
        at com.sun.net.ssl.internal.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:1277)
        at java.security.KeyStore.load(KeyStore.java:1185)
        at com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl.getDefaultKeyManager(DefaultSSLContextImpl.java:150)
        at com.sun.net.ssl.internal.ssl.DefaultSSLContextImpl.<init>(DefaultSSLContextImpl.java:40)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at java.lang.Class.newInstance0(Class.java:355)
        at java.lang.Class.newInstance(Class.java:308)
        at java.security.Provider$Service.newInstance(Provider.java:1221)
        ... 20 more
Caused by: javax.crypto.BadPaddingException: Given final block not properly padded
        at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..)
        at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..)
        at com.sun.crypto.provider.PKCS12PBECipherCore.b(DashoA13*..)
        at com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndRC2_40.engineDoFinal(DashoA13*..)
        at javax.crypto.Cipher.doFinal(DashoA13*..)
        at com.sun.net.ssl.internal.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:1274)
        ... 30 more

Eu segui o passo-a-passo postado e gerei o seguinte código:

public NfeStatusServicoSoap getStatusServico()
    {
        try{

            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:\\Orquestra\\Certificado\\Associacao.pfx");
            System.setProperty("javax.net.ssl.keyStorePassword", "123456");

            System.setProperty("javax.net.ssl.trustStoreType", "JKS");
            System.setProperty("javax.net.ssl.trustStore", "C:\\Orquestra\\Certificado\\exportadonfe.keystore");

            Properties props = System.getProperties();
            props.put("Dhttp.proxyHost", "ISA");
            props.put("Dhttp.proxyPort", "8080");
            System.setProperty("http.proxyUser", "usuario");
            System.setProperty("http.proxyPassword", "senha");

            URL url = new URL(local);
            //url.openConnection(new Proxy(type, sa))

            QName qname = new QName("NFeStatusServico.asmx");
            
            NfeStatusServico service = new NfeStatusServico(url, qname);

            NfeStatusServicoSoap nfeStatus = service.getNfeStatusServicoSoap();

            System.out.println(nfeStatus.nfeStatusServicoNF(nfeCabecMsg, nfeDadosMsg));


            return nfeStatus;
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }

        return null;

    }

O Associacao.pfx eu baixei do site da receita. Exportei o certificado pelo IE e usei o KeyTool.

Obrigado!

Marck

Me aprece ser algo errado no caminho… como “NFeStatusServico.asmx?wsdl”, como vc esta usando ISA ainda… tenta acessar pelo browser e ve se esta tudo certo antes de por no código.

magno_jr

[quote]Ola, legal o codigo, parece que esta quase agora.
Seguinte, estava tendo mto problema com o famoso erro 403 mas acho q agora foi, mas apenas para confirmar, qual(is) certificados tenho q deixar no keystore final ?? Eu coloquei o Raiz e o meu exportado.
Agora pra mim nao aparece mais 403, agora so tenho “Caused by: java.net.ConnectException: Connection timed out: connect”.
Alguma ideia ???[/quote]

Pelo que andei lendo sobre certificados… você precisa deixar no keystore apenas o certificado Publico (.cer) do seu certificado privado…
Por exemplo… se estiver usando o Associacao.pfx, após exportar o .cer dele… importa esse .cer para o seu keystore.

Não sei se isso da certo, porque tb estou com o erro 403 maledito…

HTTP Error 403.7 - Forbidden: SSL client certificate is required.&lt;br&gt;Internet Information Services (IIS)&lt;/h2&gt;

Só falta ter que instalar o IIS aki e ter que configurar o certificado nele… já não bastasse o trampo para configurar no JRE…

Acho que estou no caminho errado… porque já esta ficando muito complexo o treco… hehe

Fui !

Entao, ja testei de td qto é jeito e nao vai de jeito nenhum. Quinta feira agora vou conseguir um certificado “certo”, dai vamos ver.
To torcendo pra q funcione com o certificado. Eu vi em algum canto q nao lembro onde q os certificados Associacao e Condominio vc so consegue utilizar caso seja pelo programa deles, e nao pelo webservice. Mas nao a informacao nao era nada oficial.
Se tiver novidade eu te aviso.

E valeu pelas respostas.

Magno

Acabei de publicar uma notícia sobre o Caelum Stella NFe. Estamos procurando contribuidores para ajudar a finalizar o desenvolvimento.

http://www.guj.com.br/posts/list/135161.java

Alguem tem algum simples exemplo de como utilizar o webservice de cadconsultacadastro e/ou NfeRecepcao ??
Eu consegui fazer funcionar o status serviço, mas esses outros 2 nao vai de jeito nenhum.

Obrigado,
Magno
magno_jr@terra.com.br

[quote=magno_jr]Alguem tem algum simples exemplo de como utilizar o webservice de cadconsultacadastro e/ou NfeRecepcao ??
Eu consegui fazer funcionar o status serviço, mas esses outros 2 nao vai de jeito nenhum.

Obrigado,
Magno
magno_jr@terra.com.br[/quote]

Aqui funcionou normal, é só fazer do mesmo jeito que o outro, só que usando as classes para recerpção. Na variavel nfeCabecMsg passe o cabeçalho e na variavel nfeDadosMsg a string XML da nota ja assinada.
Qual o erro que esta dando aí?