Jersey客户端IPv6

5

我可以使用Jersey Client连接到使用IPv6的REST资源吗?

我遇到了以下错误:

com.sun.jersey.api.client.ClientHandlerException: java.net.MalformedURLException: For input string: ":94ea:d2bc:c189:209c%10:8100"
    at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:128)
    at 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)
    at com.sun.jersey.api.client.WebResource$Builder.put(WebResource.java:475)
    at com.bmc.aps.agent.jersey.JerseyClient.put(JerseyClient.java:168)
    at java.lang.Thread.run(Thread.java:619)
Caused by: java.net.MalformedURLException: For input string: ":94ea:d2bc:c189:209c%10:8100"
    at java.net.URL.<init>(URL.java:601)
    at java.net.URL.<init>(URL.java:464)
    at java.net.URL.<init>(URL.java:413)
    at java.net.URI.toURL(URI.java:1081)
    at com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke(URLConnectionClientHandler.java:139)
    at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:126)
    ... 8 more

在异常情况下,IP地址被截断(:94ea:d2bc:c189:209c%10而不是fe80::94ea:d2bc:c189:209c%10)。 在调试中,我可以看到Web资源URI是正确的。
1个回答

3

找到了答案。

Jersey客户端期望使用方括号[]获得IP地址。

在这个例子中,使用[fe80::94ea:d2bc:c189:209c%10]而不是fe80::94ea:d2bc:c189:209c%10


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接