繁体   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