Problema com Web Service

[quote=roodrigo.p]não, que eu saiba não, no site não fala nada sobre isso…
Esse é o site que fornece o serviço…
https://aplicacao.saude.gov.br/portalfarmacia/ajuda/protocolo.jsf
[/quote]

repare que quando entra no site o navegador ja reclama do certificado.

Mas então esses erros são relativos à certificação??

tem executavel que gera um código, e esse código vai na classe SolicitacaoDTO, será que pode ser isso??

no Site ta assim:
"* O dnaEstacao é um identificador único da transação. Ele deve ser obtido à cada requisição (1.fase) pela chamada ao módulo de segurança. Faça o download do software módulo de segurança, disponível no Portal da Farmácia. Descompacte o software. Dentro da pasta descompactada estará o software gbasmsb.exe. Para cada trasanção enviada ao Ministério da Saúde, faça a seguinte chamada:

gbasmsb.exe --solicitacao CPF CNPJ CRM UF CRM DTEMISSAO RECEITA

O resultado desta chamada corresponderá ao dnaEstacao."

[quote=roodrigo.p]tem executavel que gera um código, e esse código vai na classe SolicitacaoDTO, será que pode ser isso??

no Site ta assim:
"* O dnaEstacao é um identificador único da transação. Ele deve ser obtido à cada requisição (1.fase) pela chamada ao módulo de segurança. Faça o download do software módulo de segurança, disponível no Portal da Farmácia. Descompacte o software. Dentro da pasta descompactada estará o software gbasmsb.exe. Para cada trasanção enviada ao Ministério da Saúde, faça a seguinte chamada:

gbasmsb.exe --solicitacao CPF CNPJ CRM UF CRM DTEMISSAO RECEITA

O resultado desta chamada corresponderá ao dnaEstacao."[/quote]

tente fazer isso que ele esta falando, verifique no site se existe um ambiente de homologação para vc fazer testes.

cara arrumei e ainda continua dando o erro, o que ele significa??

15/02/2012 09:41:18 org.apache.axis.utils.JavaUtils isAttachmentSupported
WARNING: Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled.
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.io.IOException: Unexpected EOF from proxy
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:java.io.IOException: Unexpected EOF from proxy
at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:156)
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 org.datasus.service.ServicoSolicitacaoWSSoapBindingStub.executarSolicitacao(ServicoSolicitacaoWSSoapBindingStub.java:318)
at comunicacaoWebervice.ClienteServico.main(ClienteServico.java:73)

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

java.io.IOException: Unexpected EOF from proxy
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 org.datasus.service.ServicoSolicitacaoWSSoapBindingStub.executarSolicitacao(ServicoSolicitacaoWSSoapBindingStub.java:318)
at comunicacaoWebervice.ClienteServico.main(ClienteServico.java:73)
Caused by: java.io.IOException: Unexpected EOF from proxy
at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:156)
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

WARNING: Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart)

parece estar faltando jar ai do Axis ex:(mail.jar.), porque não consumiu com o JAX ?

Foi padrão do eclipse, porque nem mexi nisso :S
Pode ser que esteja faltano o jar então?

[code]17/02/2012 09:00:30 org.apache.axis.utils.JavaUtils isAttachmentSupported
WARNING: Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled.
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(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 org.datasus.service.ServicoSolicitacaoWSSoapBindingStub.executarSolicitacao(ServicoSolicitacaoWSSoapBindingStub.java:318)
at ServicosWS.Solicitacao.main(Solicitacao.java:63)
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:RodrigoP

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 org.datasus.service.ServicoSolicitacaoWSSoapBindingStub.executarSolicitacao(ServicoSolicitacaoWSSoapBindingStub.java:318)
at ServicosWS.Solicitacao.main(Solicitacao.java:63)
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
[/code]

Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target.

precisa de certificado para acessar.

Entao cara, mas ja importei os certificados dentro do navegador ja e não adiantou…
Tem que importar pra dentro do projetoo??

[quote]Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target.

precisa de certificado para acessar. [/quote]

vc faz o load do arquivo correto?

algum tempo atrás eu fiz um passo a passo com axis:

espero q ajude:

http://www.guj.com.br/java/237281-tutorial-consumir-webservice-nfe-20

att,

[quote=roodrigo.p]Entao cara, mas ja importei os certificados dentro do navegador ja e não adiantou…
Tem que importar pra dentro do projetoo??
[/quote]

não brother, significa que precisa consumir o ws por https, precisa habilitar ssl na aplicação, tem uma classe chamada InstallCert.java aqui mesmo no guj tem varios exemplos que fazem o serviço, ela gera um arquivo truststore, que vc le ao consumir o serviço.

http://code.google.com/p/java-use-examples/source/browse/trunk/src/com/aw/ad/util/InstallCert.java

se preferir pode fazer tudo com a ferramenta keytool do java.

Hum, mas eu executo a IntallClient junto na hora que chamo o serviço?
Não intendi muito bem…

[quote=roodrigo.p]Hum, mas eu executo a IntallClient junto na hora que chamo o serviço?
Não intendi muito bem…
[/quote]

executa uma unica vez sómente para gerar o arquivo com as chaves. depois de feito isto e antes de consumir o serviço, faça assim:

[code] 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:/certificadoDoCliente.pfx");
        System.setProperty("javax.net.ssl.keyStorePassword", "123456");

        System.setProperty("javax.net.ssl.trustStoreType", "JKS");
        System.setProperty("javax.net.ssl.trustStore", "arquivo gerado pela IntallCet aqui");

[/code]

Hum… entendi…
Da uma olhada eu executo e da a seguinte msg…

Usage: java InstallCert [:port] [passphrase]
Oque significa?

[quote=roodrigo.p]Hum… entendi…
Da uma olhada eu executo e da a seguinte msg…

Usage: java InstallCert [:port] [passphrase]
Oque significa?[/quote]

esta dizendo como deve usar, ou seja passar o host e a porta.
brother procura esta classe no forum javaC, pois l aja tem ela melhorada, ficara mais facil de entender, eu não te envio agora a minha, pois estou no trabalho e aqui são outros projetos.

PQP isso ta me dano uma dor de cabeça cara… rsrs
To tentano usar a Keytool, mas nela eu tenho que jogar um certificado .ce para pegar o arq q preciso?

A cara intendi, gerei um arq .jks,
agora jogo nas configurações…

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", cert); System.setProperty("javax.net.ssl.keyStorePassword", senhaCert); System.setProperty("javax.net.ssl.trustStoreType", "JKS"); System.setProperty("javax.net.ssl.trustStore", keystore);

certo?
e no System.setProperty(“javax.net.ssl.keyStore”, cert); coloco o caminho do meu certificado que baxei do navegador?
E outra…
ta dano erro na linha
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());

Valeu pela atenção cara… to quase lá eu acho! rsrsrs
abss

[quote=roodrigo.p]PQP isso ta me dano uma dor de cabeça cara… rsrs
To tentano usar a Keytool, mas nela eu tenho que jogar um certificado .ce para pegar o arq q preciso?
[/quote]

velho acredite: vai ser mais facil usar a InstallCert do que o keytool, agora se não tem pressa:

http://docs.oracle.com/javase/1.4.2/docs/tooldocs/windows/keytool.html

http://www.guj.com.br/articles/141

E que não intendi como usa o InstallCert cara, eu executo e não da em nada