当前位置: 首页 > 知识库问答 >
问题:

MULE在第二个HTTP请求中没有在头中提供JSESSIONID

祁承望
2023-03-14

这是我的流程

<flow name="Oauth" doc:name="Oauth">
        <http:inbound-endpoint exchange-pattern="request-response"
            host="localhost" port="8081" doc:name="Oauth"
            path="getOauth" />
        <logger
            message="Oauth Request : #[message.payload]"
            level="INFO" doc:name="LogOuthRequest" />

        <http:outbound-endpoint exchange-pattern="request-response"
            host="hybrisServer" port="port" path="rest/oauth/token"
            method="POST" contentType="application/x-www-form-urlencoded"
            doc:name="HybrisPostRestCall">
            <message-properties-transformer name="test"
                doc:name="Set Content-type xml">
                <add-message-property key="accept"
                    value="application/xml" />
            </message-properties-transformer>
        </http:outbound-endpoint>
        <echo-component doc:name="Object2String" />
        <logger message="AccessToken : #[message.payload]"
            level="INFO" doc:name="LogOauthResponse" />
</flow>

共有1个答案

呼延靖
2023-03-14

我不确定为什么它第一次工作,因为它不应该。我假设您正在使用“OAuth请求”记录器进行检查。如果是这种情况,请使用不同的客户机,它对我来说很好。

但是,JSESSIONID不会被发送到辅助系统,除非您使用以下方法将属性从入站范围复制到出站范围:

<copy-properties propertyName="JSESSIONID" />

我建议使用对象到字符串,而不是echo-component。另外,如果您正在为hybris编写客户机,我建议您使用DevKit创建一个连接器,这将为您提供一个免费的oauth身份验证机制以及一个更可重用的模块。

 类似资料:
  • 问题内容: 我有一个javascript函数,其中有两个$ .post请求。两个$ .post请求都应该执行。但是有时候,第二个$ .post请求却没有执行。这可能是什么原因? 问题答案: 是$ .ajax()结构的缩写形式。我通常更喜欢使用该结构,因为: 比较容易发现我是否错过了任何事情 我可以更轻松地添加其他参数,例如 当刚接触ajax时,我发现对这种结构进行故障排除要容易得多 在您的情况下,

  • 问题内容: 我已经构建了一种通过$ http返回资源的复杂方法。 该方法返回一个Promise,然后检查资源是否存在我的本地缓存。如果这样做,它将返回缓存的资源,否则,将发出$ http请求。在资源被缓存后,这种方法效果很好,但是在整个应用程序中,我有多种功能正在按此方法加载,并且每个函数都会发出http请求,因为资源尚未返回和缓存。 我想出了一个简单的检查方法来解决此问题,但我觉得应该有一个更好

  • Symfony中的默认CSRF预防是基于表单的(如果使用提供的表单生成器,则会自动发生)。然而,对于AJAX请求,手动将CSRF令牌附加到每个HTTP请求,然后手动检查每个请求,这是非常繁琐的。 一个好的方法是将令牌嵌入为HTTP标头,如本问题的注释中建议的那样。jQuery然后可以被配置为在每个请求中包含这个标头,如这里所述。 我的问题是如何在Symfony内最好地处理这个问题?我可以使用Twi

  • 我试图在netty中模拟http握手,但客户端无法发送第二个请求。这就是流程 这是代码https://github.com/Tonghua-Li/Netty-Handshake-Test/tree/master/src/main/java 服务器和客户端日志位于git repo的根文件夹中https://github.com/Tonghua-Li/Netty-Handshake-Test/blob

  • 我必须保护我的Web应用程序不受CSRF的影响,这是一个非常复杂的问题。Net核心MVC web应用程序,客户端为Angular 9。 这是我尝试过的 在Angular应用程序中,我添加了一个http拦截器来提取和发送请求头中的令牌 现在我从服务器收到一个错误的请求错误(400)

  • 当我尝试在maven项目上构建Jenkins时,我收到了这个错误: java和maven插件是自动安装的,经过几次研究,我找不到解决方案! 有没有人遇到过这个问题?