2

JAX-WS (Metro) を使用して tomcat で実行されている Java クライアントから、glassfish で実行されている Web サービスに接続する際に、奇妙なネットワークの問題が発生しています。これがシナリオです...

  • 両方のサーバーがローカル マシンで実行されています。
  • 127.0.0.1 を使用して WS エンドポイントに接続するようにクライアントを構成すると、要求は正常に機能します。
  • 自分の IP アドレスを使用して WS エンドポイントに接続するようにクライアントを構成すると、すぐに java.net.ConnectException: 接続が拒否されました。ホスト名を使用すると、同じことが起こります。

奇妙なことに、SoapUI からエンドポイントにヒットした場合、127.0.0.1、IP アドレス、またはホスト名を使用すると、リクエストは正常に機能します。

これが私が得ている例外です...

java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.Socket.connect(Socket.java:529)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.xml.ws.transport.http.client.HttpClientTransport.getOutput(HttpClientTransport.java:120)
at com.sun.xml.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:256)
at com.sun.xml.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:184)
at com.sun.xml.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:137)
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:641)
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:600)
at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:585)
at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:482)
at com.sun.xml.ws.client.Stub.process(Stub.java:323)
at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:161)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:113)
at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:93)
at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:144)
at $Proxy51.listAttributeTypes(Unknown Source)
at com.myapp.store.service.client.JaxWsProductAdminServiceClient.listAttributeTypes(JaxWsProductAdminServiceClient.java:71)
at com.myapp.admintool.ProductAttributeController$_closure1.doCall(ProductAttributeController.groovy:26)
at com.myapp.admintool.ProductAttributeController$_closure1.doCall(ProductAttributeController.groovy)
at java.lang.Thread.run(Thread.java:680)

任意の考えや指針をいただければ幸いです。

4

2 に答える 2

2

/etc/hostsコンピューターのホスト名が localhost を指すエントリを含む Linux ボックスで JAX-WS Web サービスを実行すると、同様の問題が発生しました。

これにより、JAX-WS Web サービスが開始されhttp://localhost:port/endpoint、そのマシンからのみアクセスできるようになります。

于 2015-10-27T09:37:32.147 に答える
0

「接続が拒否されました」は、指定したIP:ポートでリッスンしているものがないことを意味します。それらの一方または両方が間違っています。

于 2011-05-13T02:03:01.140 に答える