gpt4 book ai didi

java - HTTP传输错误: Connection refused when accessing web service from Glassfish

转载 作者:行者123 更新时间:2023-12-01 11:04:59 25 4
gpt4 key购买 nike

我有两个应用程序在 Glassfish 4.1 服务器上运行:一个提供 jax-ws Web 服务,另一个使用它。只要我使用 localhost 一切都很好或127.0.0.1作为客户端应用程序中的端点。但是当我尝试在远程计算机上安装 Web 服务并访问它时,我在客户端应用程序中收到错误: com.sun.xml.ws.client.ClientTransportException: HTTP transport error: java.net.ConnectException: Connection refused: connect

但是,我可以从浏览器/SoapUI/Netbeans 访问远程 wsdl。 wsdl 的服务端口绑定(bind)部分包含有效的主机:端口。

我尝试做的事情:

  • 使用以下方式在客户端应用中设置端点

    (BindingProvider)port).getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, endpointURL);
  • 从远程计算机重做 jax-ws 导入,所以现在即使在本地 wsdl 中我也有远程主机名;
  • 将注入(inject)注释更改为 @WebServiceRef(wsdlLocation = "http://remotehost:remoteport/svc/port?wsdl")
  • 检查 glassfish 监听器是否已配置为 IP 0.0.0.0

到目前为止,没有任何帮助。此外,当我简单地从 localhost 更改端点时,我遇到了相同的行为到这台同一台机器的实际主机名或 IP。

这是异常日志(部分):

com.sun.xml.ws.client.ClientTransportException: HTTP transport error: java.net.ConnectException: Connection refused: connect
at com.sun.xml.ws.transport.http.client.HttpClientTransport.getOutput(HttpClientTransport.java:131)
at com.sun.xml.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:223)
at com.sun.xml.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:145)
at com.sun.xml.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:139)
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:1136)
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:1050)
at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:1019)
at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:877)
at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:136)
at com.sun.enterprise.security.webservices.ClientSecurityPipe.processSecureRequest(ClientSecurityPipe.java:198)
at com.sun.enterprise.security.webservices.ClientSecurityPipe.process(ClientSecurityPipe.java:186)
at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:119)
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:1136)
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:1050)
at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:1019)
at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:877)
at com.sun.xml.ws.client.Stub.process(Stub.java:463)
at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:191)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:108)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:92)
at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:161)
at com.sun.proxy.$Proxy386.processRequest(Unknown Source)

如有任何帮助,我们将不胜感激!

最佳答案

我的错,事实证明问题是由 glassfish JVM 选项中不正确的代理设置引起的。

关于java - HTTP传输错误: Connection refused when accessing web service from Glassfish,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33048956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com