Pessoal,
Estou precisando fazer minha aplicação acessar um outro sistema, via https, por exemplo:
https://www3.site.com.br/SWD/controle/ws_sistema.asp?cd_usuario=123&senha=123&id_aplic=1
no qual retorna um xml. Fiz uns testes no Tomcat utilizando o httpclient e funcionou, porém ao publicar no WebSphere 5.1, deu o erro: Certificade Expired.
Alguém poderia me ajudar, por favor???
Bom dia…
Então, como minha aplicação é cliente, não tô entendendo o por que ele está bloqueando, pois pelo que vi se eu instalar o certificado ele será usado pelo WebSphere em todas as demais aplicações, e não apenas para este caso. O problema é que esse WebSphere roda num AIX, com o JDK 1.4.2 da IBM, e pelo stack trace completo abaixo:
E SRVE0026E: [Servlet Error]-[Exception while invoking action GerarControle: certificate expired]: javax.net.ssl.SSLHandshakeException: certificate expired
at com.ibm.jsse.bv.a(Unknown Source)
at com.ibm.jsse.b.a(Unknown Source)
at com.ibm.jsse.b.write(Unknown Source)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:86)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:144)
at org.apache.commons.httpclient.HttpConnection.flushRequestOutputStream(HttpConnection.java:82
at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2116)
at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1096)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:39
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323)
at com.rodobens.seguros.sinistro.acoes.AcaoGerarControle.executeImplementacao(AcaoGerarControle.java:84)
at com.rodobens.seguros.sinistro.acoes.ModelBASE.execute(ModelBASE.java:34)
at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:112)
at org.mentawai.filter.AuthenticationFilter.filter(AuthenticationFilter.java:61)
at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:87)
at org.mentawai.core.Controller.invokeAction(Controller.java:583)
at org.mentawai.core.Controller.service(Controller.java:469)
at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))
at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java(Compiled Code))
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java(Compiled Code))
at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java(Compiled Code))
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java(Inlined Compiled Code))
at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java(Compiled Code))
at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java(Compiled Code))
at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java(Inlined Compiled Code))
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java(Compiled Code))
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java(Compiled Code))
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java(Compiled Code))
at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java(Compiled Code))
at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java(Compiled Code))
at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java(Compiled Code))
at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java(Compiled Code))
at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java(Compiled Code))
at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java(Compiled Code))
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java(Compiled Code))
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java(Compiled Code))
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
Veja que o JSSE é implementado por eles: com.ibm.jsse, então, acho que o problema é + ou - aí, porém não consegui encontrar nada que me ajudou ainda… Ou também não sei se o problema pode estar sendo causado pelo HTTPClient, vi alguns exemplos utilizando o HttpsURLConnection, porém não encontrei nenhum que ele faz o post de dados, pois além de me conectar, preciso enviar os dados antes de receber o retorno…
Obrigado…