簡體   English   中英

Mule將JSESSIONID從第一個REST請求設置為第二個REST請求或如何將cookie放入其中

[英]Mule Set JSESSIONID from first into 2nd REST request or how to put the cookie through

對於我的論文,我正在將Bonita BPM集成到Mule SOA中。

要在Bonita中啟動新案例或流程實例,我必須調用Bonita REST。 首先,我必須使用Bonita REST進行身份驗證。 這里開始我的問題。

身份驗證的工作方式類似於“您必須調用loginservice並將響應cookie放在以后的所有請求中”。

怎么可能在騾子流中完成? 有些文章告訴我,copy-properties propertyName =“JSESSIONID”應該這樣做。 但這不起作用。

有人有想法嗎?

繼續我的流程和相關的打印消息:

PRINT1:CopyPropertiesTransformer:屬性值為null,不會復制任何屬性

PRINT 2:LoggerMessageProcessor:{Set-Cookie = JSESSIONID = F60114E3ECB450A62171E3D63EAC3E4D; 路徑= /博尼塔/; 僅Http}

打印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>

除了JSESSIONID之外,您還需要在HTTP標頭中包含X-Bonita-API-Token。 此標頭的值作為cookie發送,其中包含對身份驗證的答案(即對loginservice的調用)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM