2

Jersey Client を使用して REST サービスに接続しようとしています。
IPv4 アドレスを使用している場合、すべて正常に動作します。
サーバー アドレスを IPv6 に置き換えようとすると、次の例外がスローされます。

com.sun.jersey.api.client.ClientHandlerException: java.net.SocketException: com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:128) で使用できないプロトコル ファミリ com.sun.jersey.api .client.Client.handle(Client.java:551) at com.sun.jersey.api.client.WebResource.handle(WebResource.java:556) at com.sun.jersey.api.client.WebResource.access$200( WebResource.java:69) com.sun.jersey.api.client.WebResource$Builder.put(WebResource.java:475) com.bmc.aps.agent.jersey.JerseyClient.put(JerseyClient.java:169) com.bmc.aps.agent.portal.PortalConnection.handshake(PortalConnection.java:304) で com.bmc.aps.agent.portal.PortalConnection.run(PortalConnection.java:786) で java.lang.Thread.run で(Thread.java:636) 原因: java.net.SocketException: java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:310) の java.net.PlainSocketImpl.socketConnect(Native Method) でプロトコル ファミリを使用できません。 AbstractPlainSocketImpl.java:176) で java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:163) で java.net.Socket.connect(Socket.java:537) で java.net.Socket.connect(Socket.java:487) で) sun.net.NetworkClient.doConnect(NetworkClient.java:174) で sun.net.www.http.HttpClient.openServer(HttpClient.java:409) で sun.net.www.http.HttpClient.openServer(HttpClient. java:530) で sun.net.www.http.HttpClient.(HttpClient.java:240) で sun.net.www.http.HttpClient.New(HttpClient.java:321) sun.net.www.http.HttpClient.New(HttpClient.java:338) で sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:806) で sun.net.www.protocol .http.HttpURLConnection.plainConnect(HttpURLConnection.java:747)、sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:672)、sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection) .java:850) で com.sun.jersey.client.urlconnection.URLConnectionClientHandler$1$1.getOutputStream(URLConnectionClientHandler.java:200) で com.sun.jersey.api.client.CommittingOutputStream.commitWrite(CommittingOutputStream.java:114) でcom.sun.jersey.api.client.CommittingOutputStream.write(CommittingOutputStream.java:86) (sun.nio.cs.StreamEncoder)。sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:290) では writeBytes(StreamEncoder.java:220)、sun.nio.cs.StreamEncoder では StreamEncoder.implFlush(StreamEncoder.java:294) .flush(StreamEncoder.java:140) at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229) at java.io.BufferedWriter.flush(BufferedWriter.java:253) at com.sun.jersey.core.util. com.sun.jersey.core.provider.AbstractMessageReaderWriterProvider.writeToAsString(AbstractMessageReaderWriterProvider.java:125) の ReaderWriter.writeToAsString(ReaderWriter.java:178) com.sun.jersey.core.impl.provider.entity.StringProvider.writeTo( com.sun.jersey.api の com.sun.jersey.core.impl.provider.entity.StringProvider.writeTo(StringProvider.java:57) の StringProvider.java:85)。com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke(URLConnectionClientHandler.java:179) の client.TerminatingClientHandler.writeRequestEntity(TerminatingClientHandler.java:291) com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler. java:126) ... 8 つ以上

-Djava.net.preferIPv4Stack=falseand で実行してみまし-Djava.net.preferIPv6Stack=trueたが、役に立ちませんでした。

IPv6 を使用した同じコードは、Weblogic の同じマシンで動作します。

助言がありますか?

4

2 に答える 2