У нас есть веб-апплет, который загружается по 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\""
});