Сессии между двумя разными серверами. - PullRequest
2 голосов
/ 26 апреля 2011

Привет, друзья! Я разрабатываю приложение для электронной коммерции, в которое интегрирую «песочницу» PayPal.

После транзакций в Paypal мой сеанс разрушается при возврате на мой собственный сайт. Как я могу поддерживать этот сеанс в сервлетах JSP?

Ответы [ 2 ]

2 голосов
/ 26 апреля 2011
  • проверьте, не слишком ли настроено время ожидания вашего сеанса (в web.xml)
  • убедитесь, что клиент использует файлы cookie, а сервер не настроен на использование файлов cookie.
  • проверьте протокол.Если вы создаете сеанс пользователя в http, но PayPal возвращается к https, могут быть проблемы.

Если время ожидания, куки и протокол в порядке, посетитель должен получить то же самоесеанс, когда он возвращается на ваш сайт.

0 голосов
/ 26 апреля 2011

В течение длительного времени я использовал Paypal в последний раз, и это было только с PHP, но, насколько я помню, вы должны были предоставить Paypal «возвращаемый URL» в качестве параметра, который Paypal должен использовать для перенаправления запроса обратно. Ваш сайт после обработки платежа. Чтобы сохранить сеанс, вам нужно добавить атрибут jsessionid к URL-адресу с текущим идентификатором сеанса в качестве значения.

String returnURL = "http://example.com/completed.jsp;jsessionid=" + session.getId();
String paypalURL = "http://paypal.com/process?returnURL=" + URLEncoder.encode(returnURL, "UTF-8"));

Альтернатива - вместо этого обрабатывать это во всплывающем окне и закрывать окно при возврате Paypal. Сеанс в родительском окне будет просто сохранен.

...