JSessionId (файл cookie httponly) не отправляется на веб-сервис из Javascript - PullRequest
0 голосов
/ 25 марта 2011

У нас есть веб-апплет, который загружается по URL-адресу https://secure -ausomxeja.crmondemand.com / OnDemand / ..., откуда мы выполняем вызов веб-службы в том же домене (https://secure -ausomxeja.crmondemand.com / Услуги / Интеграция) с использованием JQuery. Мы не можем понять тот факт, что JSessionId (cookie-файл httponly) не передается в вызове веб-службы JQuery, даже если все происходит в одном домене. Интересно, что если URL-адрес веб-службы будет начинаться с https://secure -ausomxeja.crmondemand.com / OnDemand / ... (хотя это неверно), браузер правильно передает cookie.

Вопрос в том, чтобы файл cookie httponly был отправлен обратно на сервер, достаточно ли иметь тот же домен или даже требуется имя первого каталога (в нашем случае OnDemand)?

Ниже приведен фрагмент кода, который не передает cookie JSessionId-

$.ajax({
url:"https://secure-ausomxeja.crmondemand.com/Services/Integration",
type: "POST",
dataType: "xml",
data: ...,
beforeSend: function(xhr) { xhr.setRequestHeader("SOAPAction", "..."); },
complete: endSaveProduct,
contentType: "text/xml; charset=\"utf-8\""
});

Ниже приведен фрагмент кода, который передает cookie-файл JSessionId (но не имеет смысла, поскольку в этом месте нет веб-службы) -

$.ajax({
url:"https://secure-ausomxeja.crmondemand.com/OnDemand/...",
type: "POST",
dataType: "xml",
data: ...,
beforeSend: function(xhr) { xhr.setRequestHeader("SOAPAction", "..."); },
complete: endSaveProduct,
contentType: "text/xml; charset=\"utf-8\""
});

1 Ответ

0 голосов
/ 25 марта 2011

Посмотрите на cookie и посмотрите, есть ли у него заданный путь (вы можете легко сделать это в Firefox).Скорее всего, это так, потому что это могут быть разные веб-приложения, и в этом случае контейнер будет генерировать разные сессии для каждого

Итак, еще лучший способ ответить на вопрос - это разные веб-приложения?Будет ли контейнер создавать разные сессии для этих двух запросов?

...