Мул Установите JSESSIONID с первого на второй запрос REST или как передать cookie через

для моей диссертации я интегрирую Bonita BPM в SOA Mule.

Чтобы запустить новый случай или экземпляр процесса в Bonita, мне нужно вызвать Bonita REST. Сначала я должен пройти аутентификацию с помощью этого Bonita REST. И здесь начинается моя проблема.

Аутентификация работает по принципу «Вы должны вызвать службу входа в систему и поместить ответный файл cookie во все будущие запросы».

Как это можно было сделать в потоке мулов? В некоторых статьях мне говорилось, что это должно делать copy-properties propertyName = "JSESSIONID". Но это не работает.

У кого-нибудь есть идея?

Далее вот мой поток и связанные с ним сообщения печати:

PRINT1: CopyPropertiesTransformer: значение свойства для равно null, никакое свойство не будет скопировано

ПЕЧАТЬ 2: LoggerMessageProcessor: {Set-Cookie = JSESSIONID = F60114E3ECB450A62171E3D63EAC3E4D; Путь = / bonita /; HttpOnly}

ПЕЧАТЬ 3: Код ответа 401 отображается как сбой. Полезные данные сообщения имеют тип: BufferInputStream

<http:request-config name="bos" host="localhost"
    port="8080" basePath="/bonita" doc:name="bos-connection" />


<flow name="sendOrderFlow">

    <http:listener config-ref="HTTP_Listener_Configuration"
        path="/" doc:name="HTTP" />

    <http:request config-ref="bos" path="loginservice"
        method="GET" followRedirects="false" doc:name="bos-login">
        <http:request-builder>
            <http:query-param paramName="username" value="walter.bates" />
            <http:query-param paramName="password" value="bpm" />
        </http:request-builder>

    </http:request>

    <copy-properties propertyName="JSESSIONID" /> <!-- PRINT 1 HERE -->
    <logger message="#[headers:INBOUND:Set-Cookie]" level="INFO" />  <!-- PRINT 2 HERE -->

    <http:request config-ref="bos"
        path="API/bpm/process" method="GET" followRedirects="false" doc:name="bos-listAvailableProcesses">
        <http:request-builder>
            <http:query-param paramName="p" value="0" />
        </http:request-builder>
    </http:request>


person blaine    schedule 19.05.2016    source источник
comment
пух ... не знаю кого-нибудь? -.-   -  person blaine    schedule 09.06.2016


Ответы (1)


В дополнение к JSESSIONID вам также необходимо включить X-Bonita-API-Token в заголовок HTTP. Значение этого заголовка предоставляется в виде файла cookie, отправляемого с ответом на аутентификацию (то есть вызовом службы входа в систему).

person Antoine Mottier    schedule 07.02.2019