2

JettyサーバーにRESTリクエストを行うJavaアプリケーションがあります。

実際のDNS名でサーバーに接続すると機能しますが、ローカルホスト上のローカルテストインスタンスにリクエストを送信すると、次の例外が発生します。

Caused by: com.sun.jersey.api.client.ClientHandlerException: java.io.IOException: Stream closed
    at com.sun.jersey.api.client.ClientResponse.hasEntity(ClientResponse.java:480) ~[jersey-client-1.14.jar:1.14]
    at com.sun.jersey.client.apache.ApacheHttpClientHandler.handle(ApacheHttpClientHandler.java:182) ~[jersey-apache-client-1.14.jar:1.14]
    ... 12 common frames omitted
Caused by: java.io.IOException: Stream closed
    at java.io.BufferedInputStream.getBufIfOpen(BufferedInputStream.java:162) ~[na:1.7.0_05]
    at java.io.BufferedInputStream.reset(BufferedInputStream.java:435) ~[na:1.7.0_05]
    at java.io.FilterInputStream.reset(FilterInputStream.java:226) ~[na:1.7.0_05]
    at java.io.FilterInputStream.reset(FilterInputStream.java:226) ~[na:1.7.0_05]
    at com.sun.jersey.api.client.ClientResponse.hasEntity(ClientResponse.java:464) ~[jersey-client-1.14.jar:1.14]
    ... 13 common frames omitted

ブラウザとRESTツールでのリクエストは機能します。

ローカルホストにIPv6アドレスを使用すると、機能するようになりました。https://[0:0:0:0:0:0:0:1]/

それは常にローカルホストで私のために働いた。一部のJavaまたはWindows7の更新でデフォルト設定が変更され、代わりにIPv6が使用される可能性はありますか?

ローカルホストを再び機能させるにはどうすればよいですか。他のPCが実サーバーに接続するときに、これが問題を引き起こす可能性があることを心配する必要がありますか?

IPv4とIPv6に対応したいです。

編集:これが私のhostsファイルです(編集されていません)

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

# localhost name resolution is handled within DNS itself.
#   127.0.0.1       localhost
#   ::1             localhost
4

1 に答える 1

1

だから私はついに問題を見つけました。Skype はポート 80 と 443 を代替ポートとして使用しているようです。Skypeを終了するとすぐに、すべてが機能しました。

127.0.0.1 ではなく localhost 経由でアクセス可能な WebApp

Skype は IPv6 ローカルホスト アドレスにバインドしないため、おそらく IPv6 ローカルホスト アドレスで動作しました。

于 2013-02-01T11:06:02.433 に答える