2012-04-27 2 views
0

Мы интегрируем Form Runner/Builder в проект с пользовательским уровнем сохранения.Стойкость к запуску Runner, Session Cookie

Теперь у нас есть emptySessionPath = "true", чтобы сохранить Orbeon и наше Java-приложение в одном сеансе.

Orbeon проходит в JSessionID печенье в живучести CRUD вызовов ... для следующего экземпляра, за исключением ....

  1. Пользователя подключается к нашему приложению Java и входит в системе, JSESSIONID куки устанавливается
  2. Пользователь посещает существующий экземпляр формы в/FR/OurApp/FormTest/редактировать/3eb4ddcf03f2410084e5578adb1e2a7b (Session Cookie присутствует)
  3. постоянства вызова к нашему пользовательскому сохранению слою, но печенье не пересылается

Но, если пользователь должен был сначала изменить саму форму с помощью вызова/FR/Orbeon/строитель/редактировать/f40efbe298204d16b6474fcdfea4c9fd, который действительно проходит печенье с сохранением слоя

На данный момент пользователь может идти визит шаг 2, чтобы заполнить экземпляр формы, и файл cookie будет сохранен. Похоже, что по какой-то причине начинающий разработчик форм требуется, чтобы куки-файл перешел на уровень персистентности при заполнении формы?

Любые идеи о том, почему cookie не проходит на шаге 2?

FYI это на Orbeon 3.9 CE, также то же поведение в 3.8. Использование VMWare TC Server (Tomcat). Наше приложение java - приложение Spring/Grails.

+0

Хорошо, в дальнейших исследованиях, что, кажется, происходит, это вызов/fr/app/form/edit/document не устанавливает сеансовый файл cookie, поэтому нет cookie для перехода к уровню сохранения. /fr/orbeon/builder/edit/document устанавливает сеансовый файл cookie, поэтому этот вызов и любые последующие вызовы/orbeon передают cookie сеанса на уровень сохранения. Может ли кто-нибудь указать мне, как я могу получить/fr/app/form/edit, чтобы установить сессионный файл cookie? –

+0

Даже форсирование/fr/app/form/edit для установки cookie ничего не делает для следующего вызова уровня сохранения. Еще одно отличие, которое я вижу ... В заголовке persistence для /crud/app/form/form.xhtml?document=id отсутствует имя пользователя orbeon-username. После того, как вызов сделан в/fr/orbeon/builder/edit/document, cookie и заголовки присутствуют при последующих вызовах продолжительности ... но не при запуске с вызовом/fr/app/form/edit. –

+0

Кроме того, я не вижу, что любые вызовы CRUD для извлечения файлов вложений включают в себя куки-файлы сеанса. Если кто-то должен был загрузить изображение в свою форму, получение изображения с уровня сохранения не будет проходить вместе с cookie сеанса. –

ответ

0

Мне интересно, может ли это быть описано в this bug (см., В частности, комментарии). В принципе, похоже, что вы всегда можете надежно создать куклу JSESSIONID. И, как говорит баг, у нас сейчас нет решения.

Считаете ли вы, что ошибка соответствует вашему делу?

+0

Я так не думаю, я прочитал эту страницу и сообщение об ошибке Tomcat несколько раз за последнюю неделю. Это не приводит к смешению jsessionid между старым экземпляром. При извлечении вложений в файл формы он, кажется, вообще не передает jsessionid .. и не пытается при первом доступе/fr/app/form/edit –

+0

Mmh, хорошо! Таким образом, это означает, что на данный момент у меня нет ответа :(Чтобы понять это, потребуется локальное копирование проблемы. И все изменилось немного после 3.9, так что было бы хорошо воспроизвести с помощью ночной сборки, если возможно вообще. – ebruchez

+0

Я тестирую его с ночной сборкой, создаст для вас какие-то воспроизводимые шаги. –