Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google chrome 使用Chrome的Cookie的CXF问题_Google Chrome_Cookies_Cxf_Siteminder - Fatal编程技术网

Google chrome 使用Chrome的Cookie的CXF问题

Google chrome 使用Chrome的Cookie的CXF问题,google-chrome,cookies,cxf,siteminder,Google Chrome,Cookies,Cxf,Siteminder,最近,我遇到了一个奇怪的问题,cookies被发送到我的后端服务器(使用CXF 3.1.2处理HTTP请求),它抛出了一个异常: java.lang.IllegalArgumentException: Cookie is malformed : at org.apache.cxf.jaxrs.impl.CookieHeaderProvider.fromString(CookieHeaderProvider.java:66) ~[cxf-rt-frontend-jaxrs-3.1.

最近,我遇到了一个奇怪的问题,cookies被发送到我的后端服务器(使用CXF 3.1.2处理HTTP请求),它抛出了一个异常:

java.lang.IllegalArgumentException: Cookie is malformed :
        at org.apache.cxf.jaxrs.impl.CookieHeaderProvider.fromString(CookieHeaderProvider.java:66) ~[cxf-rt-frontend-jaxrs-3.1.2.jar:3.1.2]
        at org.apache.cxf.jaxrs.impl.CookieHeaderProvider.fromString(CookieHeaderProvider.java:26) ~[cxf-rt-frontend-jaxrs-3.1.2.jar:3.1.2]
        at javax.ws.rs.core.Cookie.valueOf(Cookie.java:126) ~[javax.ws.rs-api-2.0.1.jar:2.0.1]
        at org.apache.cxf.jaxrs.impl.HttpHeadersImpl.getCookies(HttpHeadersImpl.java:117) ~[cxf-rt-frontend-jaxrs-3.1.2.jar:3.1.2]
        at org.apache.cxf.jaxrs.impl.AbstractRequestContextImpl.getCookies(AbstractRequestContextImpl.java:59) ~[cxf-rt-frontend-jaxrs-3.1.2.jar:3.1.2]
        at com.acmecorp.acmeproject.whitelist.filter.AuthenticationInFilter.filter(AuthenticationInFilter.java:34) ~[AuthenticationInFilter.class:na]
        at org.apache.cxf.jaxrs.utils.JAXRSUtils.runContainerRequestFilters(JAXRSUtils.java:1636) ~[cxf-rt-frontend-jaxrs-3.1.2.jar:3.1.2]
这在我使用Chrome或Opera时偶尔会发生,但在Firefox或IE中并没有重现。 在CXF日志中,我发现下一个HTTP头被发送到服务器:

标题:{Accept=[application/json,text/plain,/], 接受编码=[gzip,deflate,lzma], 接受语言=[en-US,en;q=0.8],Cookie=[BlueStripe.PVN=300d00000051; APP_USER=“test_user1”;SMSESSION=(省略)]

问题以双分号形式出现在标题中,标题之间有空格。CXF将其视为没有名称和值的cookie,并抛出异常

此问题可能与Siteminder SMSESSION cookie有关,它大约每分钟过期一次


任何帮助都将不胜感激。

应提供符合的有效
Cookie:
标题

 Cookie: name=value *(; name=value)
一个或多个
name=value
对,用分号和空格分隔
。您的cookie无效,因为第三个条目无效

在服务器端,CXF抛出一个
IllegalArgumentException
,因为name/value为null。这不是CXF错误,因为cookie不符合规范

我还没有在中发现任何相关的bug,所以我怀疑这是一个客户端问题

下一步是确定空白包含Cookie <代码>的位置;<代码>

  • 在调用之前调试客户端代码以查看当前cookie集
  • 检查http请求头并检查
    Cookie:
    value

  • 如果您发布客户端代码和调试器结果,这将很有帮助

    您是否检查了答案?正如我所说,如果没有看到客户代码pedrofb,就不可能完全回答问题,我非常感谢您的帮助。我们将努力深入调查这个问题,并尽快作出回应。谢谢。我发现这个问题可能与我们用于实现SSO的Siteminder有关。它将SMSessionCookie添加到请求中,并每分钟更改一次。此异常仅在这个时间间隔内发生,此时Siteminder应更新SMSESSION cookie值(我使用旧cookie值提交HTTP请求,它截取请求并更改cookie,但保留空白值“”,这会导致CXF崩溃)