gpt4 book ai didi

java.util.Collections$UnmodifiableRandomAccessList 到 Collections.singletonList

转载 作者:行者123 更新时间:2023-11-30 06:21:27 29 4
gpt4 key购买 nike

如何将 java.util.Collections$UnmodifiableRandomAccessList 转换为 Collections.singletonList?为了在两个服务之间存储 session ,我发现了这个,但我无法弄清楚两者之间的步骤。首先获取我需要设置的 cookie 信息:

Map<String, Collections> headerInfo = (Map<String, Collections>)
((BindingProvider) port).getResponseContext()
.get(MessageContext.HTTP_RESPONSE_HEADERS);

现在我可以获得我需要的cookie信息;如果我做一个

System.out.println(headerInfo.get("Set-Cookie"));

我得到了这样的东西

Set-Cookie=[PHPSESSID=rpsnc2g7o4ltbr6l9qus177p14; path=/];

现在我只需要这样做:

((BindingProvider) port2).getRequestContext()
.put(MessageContext.HTTP_REQUEST_HEADERS,
Collections.singletonMap("Cookie", Collections.singletonList(cookieValue)));

但是我不知道怎么去headerInfo.get("Set-Cookie") 到:cookieValue

这是我在问题解决方案的第一部分中找到的问题:
JAX-WS client: maintain session/cookies across multiple services
(这也能解释我的问题)

最佳答案

解决方案是通过转换为正确的类/接口(interface)来使用原始列表:

List<String>

代替:

Collections

成功了。

Map<String, List<String>> headers = (Map<String, List<String>>)((BindingProvider) authPort).getResponseContext().get(MessageContext.HTTP_RESPONSE_HEADERS);
List<String> setCookie = (List<String>) headers.get("Set-Cookie");
((BindingProvider) servicePort).getRequestContext().put(MessageContext.HTTP_REQUEST_HEADERS,Collections.singletonMap("Cookie", setCookie ));

关于java.util.Collections$UnmodifiableRandomAccessList 到 Collections.singletonList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20462819/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com