从Java客户端调用HTTPS SOAP Web服务

时间:2017-09-09 05:40:18

标签: java web-services soap https

从java客户端调用soap https Web服务时出现以下错误。任何人都可以指出我如何解决这个问题的正确方向。我一直在寻找这个问题的解决方案,但似乎没有人能给我一个出路。

   Exception in thread "main" com.sun.xml.internal.ws.client.ClientTransportException: HTTP transport error: java.net.ConnectException: Connection timed out: connect
    at com.sun.xml.internal.ws.transport.http.client.HttpClientTransport.getOutput(HttpClientTransport.java:117)
    at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:208)
    at com.sun.xml.internal.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:130)
    at com.sun.xml.internal.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:95)
    at com.sun.xml.internal.ws.api.pipe.Fiber.__doRun(Fiber.java:1121)
    at com.sun.xml.internal.ws.api.pipe.Fiber._doRun(Fiber.java:1035)
    at com.sun.xml.internal.ws.api.pipe.Fiber.doRun(Fiber.java:1004)
    at com.sun.xml.internal.ws.api.pipe.Fiber.runSync(Fiber.java:862)
    at com.sun.xml.internal.ws.client.Stub.process(Stub.java:448)
    at com.sun.xml.internal.ws.client.sei.SEIStub.doProcess(SEIStub.java:178)
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:93)
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:77)
    at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:147)

1 个答案:

答案 0 :(得分:0)

Connection timed out表示由于第一个数据包没有得到任何响应,因此尚未建立基础TCP连接。

所以,有些防火墙会阻止你的连接(这是一个防火墙,因为路由器本应该给你发回ICMP错误信息,因此你不会有超时但是#34;目的地无法到达",实例)。

最常见的情况是您没有直接的Internet连接,并且您的Web服务在Internet上,因此您需要通过代理。在您的代码中,您需要让您的Web服务库使用此代理,并且可以选择添加一些凭据以使用此代理。