Невозможно отключить cookie в исходящем HTTP-запросе в Mule 3.2 - PullRequest
0 голосов
/ 26 марта 2012

У меня есть исходящая конечная точка http в Mule 3.2.1. В ответ на мой первоначальный запрос http-сервер отвечает заголовком Set-Cookie, и Mule покорно сохраняет этот cookie и использует его в следующих запросах. Моя проблема возникает, когда время сеанса, связанного с этим файлом cookie, истекает. Затем сервер отвечает на запросы что-то вроде «ошибка, тайм-аут сеанса». Мои клиенты тогда получают ошибку из-за этого.

У меня вопрос: вы видите способ обойти эту проблему или заставить Мула прекратить отправку заголовка Cookie:? Я думаю, что мог бы, возможно, добавить что-то в исходящий http-запрос, чтобы он не использовал cookie-файлы. Я могу добавить заголовок к запросу до его отправки, но я не нашел в документации способа удалить заголовки, которые автоматически добавляет Мул. Если есть способ заставить Мул повторить http-запрос, когда в теле ответа содержится сообщение «Тайм-аут сеанса», это может привести к разрыву:)

Некоторые детали:

В предыдущих версиях Mule было свойство «enableCookies», которое вы могли установить. В этой версии Mule это свойство вызывает ошибку при использовании. Синтаксический анализатор xml читает конфигурационный файл mule xml при запуске и выдает сбой, когда свойство установлено, хотя свойство все еще упоминается в коде.

Кроме того, похоже, что Mule-BUG 5937 заставляет игнорировать дату истечения срока действия файлов cookie, а Mule-bug 5195 игнорирует свойство enableCookies. Кажется, что я должен исправить и исправить по крайней мере три проблемы Мула, чтобы сделать эту работу. Я не уверен, что это сработает даже после этих изменений, и у меня не хватает времени. Боюсь, что переход на более старую Mule-версию потребует многих изменений, поскольку я использую некоторые новые 3.2-конструкции.

Конечно, еще один способ решить эту проблему - заставить http-сервер прекратить отправку заголовка «Set-Cookie:», но он принадлежит другой компании и его нелегко быстро изменить.

1 Ответ

1 голос
/ 27 марта 2012

Ответ на мой собственный вопрос здесь. Это один из способов решения этой проблемы, переопределить файлы cookie, которые использует Мул.Я установил это для исходящей конечной точки http:

<properties>
    <spring:entry key="cookies">
        <spring:map>
            <spring:entry key="SMSESSION" value="" />
        </spring:map>
    </spring:entry>
</properties>

Это переопределяет файл cookie SMSSESSION, который вызывал проблемы в моем случае.

...