Consumindo webservice

3 respostas
alcir

Pessoal,

Estou com o seguinte problema:

Desenvolvi o cliente e o servidor de uma definicao de webservice da unimed. Montei o meu servidor e testei todos os servicos de cliente para servidor e servidor para cliente. Funcionaram perfeitamente.

Agora tenho que consumir o webservice da unimed. Pra inicio de conversa, essa conexao deve ser com certificado de seguranca. Inclui entao o seguinte trecho no programa:

System.setProperty(javax.net.ssl.keyStoreType,JKS);

System.setProperty(javax.net.ssl.keyStore,C:/Projetos/Hss/PTU Unimed/On-Line/Certificado/Unimed_Franca.javaks);

System.setProperty(javax.net.ssl.keyStorePassword,xxx);
System.setProperty(javax.net.ssl.trustStoreType, JKS);

System.setProperty(javax.net.ssl.trustStore,C:/Projetos/Hss/PTU Unimed/On-Line/Certificado/Unimed_Franca.javaks);

System.setProperty(javax.net.ssl.trustStorePassword,xxx);

O Xml que é gerado está perfeito (testei via SOAPui), porem o Netbeans me retorna o seguinte erro:

javax.xml.ws.WebServiceException: javax.net.ssl.SSLException: Received fatal alert: unexpected_message

at com.sun.xml.internal.ws.transport.http.client.HttpClientTransport.readResponseCodeAndMessage(HttpClientTransport.java:201)

at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:151)

at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:83)

at com.sun.xml.internal.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:105)

at com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Fiber.java:587)

Nao consigo de forma alguma estabelecer a conexao. Se volto a apontar para o webservice instalado em meu servidor, o programa funciona perfeitamente.

Alguem tem alguma pista para me ajudar?

Ficarei muito agradecido

Obrigado

3 Respostas

R

Já deu uma olhada no Axis?Fica facinho de consumir o WS com ele.

alcir

Minha aplicacao servidora está usando o glassfish, já a aplicacao que consome está acessando diretamente o WS da unimed.

L

SSLException é de segurança, voce tem que “instalar” os certificados da SEFAZ/“UF” no seu programa, alem do própio certificado do seu cliente, que deve ser do tipo A1 ou A3, e isso vale para qualquer Web Service no protocolo SSL.

Criado 15 de fevereiro de 2011
Ultima resposta 15 de fev. de 2011
Respostas 3
Participantes 3