不可用我嘗試使用Jersey客戶端的REST服務連接。
當我使用IPv4地址時,一切正常。
當我試圖替換其IPv6服務器地址下面的異常被拋出:Jesey客戶:協議家族的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) 在com.sun.jersey .api.client.WebResource.handle(WebResource.java:556) 在com.sun.jersey.api.client.WebResource.access $ 200(WebResource.java:69) 在com.sun.jersey.api.client。 WebResource $構建er.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.PlainSocketImpl.socketConnect(本機方法) 在java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:310) 在java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:176) 在java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:163) at java.net.Socket.connect(Sock et.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) at sun.net.www.http.HttpClient.openServer(HttpClient.java:530) at sun.net.www.http.HttpClient。(HttpClient.java:240) at 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) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:747) at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection。 java:672) at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:850) at com.sun.jersey.client.urlconnection.URLConnectionClientHandler $ 1 $ getOutputStream(URLConnectionClientHandler.java:200) at com.sun.jersey.api.client.CommittingOutputStream.commitWrite(CommittingOutputStream.java:114) at com.sun.jersey.api.client.CommittingOutputStream.write(CommittingOutputStream.java:86) at sun.nio。 cs.StreamEncoder.writeBytes(StreamEncoder.java:220) at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:290) at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:294) at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:140) 位於java.io.OutputStreamWriter.fl ush(OutputStreamWriter.java:229) at java.io.BufferedWriter.flush(BufferedWriter.java:253) at com.sun.jersey.core.util.ReaderWriter.writeToAsString(ReaderWriter.java:178) at com。 sun.jersey.core.provider.AbstractMessageReaderWriterProvider.writeToAsString(AbstractMessageReaderWriterProvider.java:125) at com.sun.jersey.core.impl.provider.entity.StringProvider.writeTo(StringProvider.java:85) at com.sun。 jersey.core.impl.provider.entity.StringProvider。writeTo(StringProvider.java:57) at com.sun.jersey.api.client.TerminatingClientHandler.writeRequestEntity(TerminatingClientHandler.java:291) at com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke(URLConnectionClientHandler.java: 179) 在com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:126) ... 8個
我試着用-Djava.net.preferIPv4Stack=false
和-Djava.net.preferIPv6Stack=true
運行,但它並沒有幫助。
與IPv6相同的代碼在Weblogic上的同一臺機器上工作。
有什麼建議嗎?
我在我的問題結尾寫道,我試過這個,但它沒有幫助... – danieln
您使用的是JDK/JRE? – Reddy
Sun Microsystems Inc.,'OpenJDK Server VM',1.6.0 – danieln