2012-05-03 4 views
1

Моя цель - перенаправить пользователя на внешний сайт и вернуть его на мой сайт, но сохранить страницу TrinidadFlowScope. Таким образом, я могу выполнить некоторую обработку и сохранение состояния на разных страницах, отправить их на внешний сайт для некоторой внешней обработки, а затем вернуть их на мой сайт, чтобы завершить обработку. С точки зрения пользователей они, кажется, выполняют один непрерывный поток и, возможно, делают несколько из них одновременно на разных вкладках браузера.JSF 2/Trinidad перенаправляет на внешний сайт и обратно с внешнего сайта, сохраняя область просмотра/страницы.

Способ, которым я пытаюсь перевести все, что работает отлично, за исключением того, что состояние не восстанавливается, - это делать сообщение со страницы в моем потоке на внешний сайт, а затем внешний сайт делает сообщение обратно на мой сайта на следующей странице. Это почти как отключенный поток задач ADF, выполняющийся на отдельном сервере и возвращающийся обратно в мой поток задач.

mysite.foo/faces/summary.jsf -> POST externalappserver.foo/faces/startexternal.jsf -> другая страница -> POST myite/Foo/лица/continue.jsf

Я смотрел все над местом и обнаружили различные проблемы, связанные с javax.faces.ViewState, но ничего не вытащили, внеся его на внешний сайт, а затем после этого внешний сайт отправил его обратно на другую (или даже такую ​​же) страницу где он исходил изначально.

Любые идеи о том, как я могу манипулировать государством, чтобы я мог рандеву вернуться на свой сайт правильно?

ответ

0

Я решил это решить, поставив параметр скрытой формы Тринидада на обратный URL, переданный другой службе. Так что, если мой сервер/приложение http://localhost:7001/context/pageout.jsf и отправляет на другой сайт с обратного вызова URL, обратного вызова URL теперь:

http://localhost:7001/context/pageout.jsf?_afPfm=234z345

Это позволяет Тринидад восстановить это поток страницы вместе с куки JSESSIONID при условии браузером. Мне не нужно было иметь дело с полем ViewState или любой другой проблемой сеанса. Моя страницаFlowScope восстановлена, все хорошо.