2015-01-07 2 views
0

Только в некоторых случаях, я уже эта ошибка вызова и XPageСтранные ошибки с помощью XPages

java.lang.illegalArgumentException: Cookie name "some name" is a reserved token 

Что может быть причиной? Как это решить?

ОБНОВЛЕНИЕ

это полный ряд ошибок внутри error-log-0.xml

<values>java.lang.IllegalArgumentException: Cookie name &quot;Urbanistica e  
Verde&amp;count&quot; is a reserved token&#xA;&#x9;at java.lang.Throwable.&lt;init&gt; 
(Throwable.java:67)&#xA;&#x9;at javax.servlet.http.Cookie.&lt;init&gt; 
(Cookie.java:128)&#xA;&#x9;at com.ibm.domino.xsp.bridge.http.servlet.XspCmdHttpServletRequest.parseCookieString (XspCmdHttpServletRequest.java:338)&#xA;&#x9;at com.ibm.domino.xsp.bridge.http.servlet.XspCmdHttpServletRequest.getCookies(XspCmdHttpServletRequest.java:269)&#xA;&#x9;at com.ibm.domino.xsp.bridge.http.servlet.XspCmdHttpServletRequest.readSessionId(XspCmdHttpServletRequest.java:171)&#xA;&#x9;at com.ibm.domino.xsp.bridge.http.servlet.XspCmdHttpServletRequest.&lt;init&gt;(XspCmdHttpServletRequest.java:142)&#xA;&#x9;at com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:256)&#xA;</values> 

UPDATE 2

XSP имеет этот SSJS в afterPageLoad случае

var cgi = new CGIVariables(); 
var exCon = facesContext.getExternalContext(); 
var response = exCon.getResponse(); 
response.setHeader("cache-control", "no-cache"); 
response.setDateHeader("Expires", -1); 

com.xxx.MyClass.myMethod(
    facesContext.getExternalContext().getRequest(), 
    response 
); 

facesContext.responseComplete(); 

CGIVariables - это функция Javascript сервера (см. here), но на самом деле не используется. В myMethod внутри MyClass Я не устанавливаю cookies. Может быть проблема в функции CGIVariables?

UPDATE 3 Я сделал несколько снимков экрана о сети трафика (с помощью средства разработки IE) с запрошенными запросами. Здесь запросы:

enter image description here

Здесь подробности о запросе:

enter image description here

Здесь подробности о печенье, посланном (как вы можете видеть, нет печенья с зарезервированным именем , строка Urbanistica e Verde находится в значении одного из печеньков -> см. красную линию) enter image description here

UPDATE 4

Проблема, кажется, связано с the cookie value, не the cookie name. Удаление символа «,» в значении cookie решает проблему

+0

Какова ценность «какого-то имени»? Некоторые имена файлов cookie могут быть зарезервированы. –

+0

error-log-0.xml имеет эту ошибку: «java.lang.IllegalArgumentException: имя файла cookie« Urbanistica e Verde & count »является зарезервированным токеном». Я не знаю, почему «& count» помещается в имя файла cookie .... –

+0

Проблема не в «& count», проблема в пробеле в названии. См. Ответ ниже – Greg

ответ

1

В принципе, вы используете незаконное имя.

От this website,

The name must conform to RFC 2965. That means it can contain only ASCII alphanumeric characters and 
cannot contain commas, semicolons, or **white space** or begin with a $ character. 

Есть и другие символы, которые не могут быть использованы.

+0

Как я могу контролировать имя файла cookie? В принципе, я использую xsp, который вызывает некоторый Java-код (например, сервлет), поэтому я не понимаю, как генерируется файл cookie. –

+0

Тогда ваш первый шаг - посмотреть, где создается файл cookie. Вы должны посмотреть в javascript-коде, в java-коде и самой xpage. – Greg

+0

Некоторые другие подробности в * UPDATE 2 * –

Смежные вопросы