gpt4 book ai didi

Mule - 如何在 http :listener? 中使用 set-session-variable

转载 作者:行者123 更新时间:2023-12-03 19:04:22 26 4
gpt4 key购买 nike

我有一个 composite-source由两个 http:listener 组成在骡子;

在收到来自这些监听器的请求后,我想根据每个监听器设置一个变量;

但是在 mule 3.6.0 中部署时会发生此错误:

org.mule.module.launcher.DeploymentInitException: SAXParseException: cvc-complex-type.2.4.a: Invalid content was found starting with element 'set-session-variable'. One of '{"http://www.mulesoft.org/schema/mule/core":annotations, "http://www.mulesoft.org/schema/mule/http":response-builder, "http://www.mulesoft.org/schema/mule/http":error-response-builder}' is expected.

我该怎么办??

这是我的代码:
<composite-source doc:name="Composite Source">
<http:listener config-ref="HTTP_Listener_Configuration_Source1"
path="/" doc:name="HTTP">
<set-session-variable doc:name="Session Variable" value="#[x]" variableName="x" />
</http:listener>
<http:listener config-ref="HTTP_Listener_Configuration_Source2"
path="/" doc:name="HTTP">
<set-session-variable doc:name="Session Variable" value="#[y]" variableName="x" />
</http:listener>
</composite-source>

附言我已经用 http:inbound-endpoint 完成了

最佳答案

放置 set-session-variable 是违法的那里:Mule 架构不允许这样做。

原因是http:listener不是普通 endpoint , 喜欢 http:inbound-endpoint是,因此不支持这种嵌套,就像所有其他端点一样。

这是不幸的,希望最终会得到修复。同时,您需要找到另一种方法来区分这两个监听器之间的请求。

为此,我建议您检查他们创建的所有入站消息属性,寻找差异化因素。我在期待 MULE_属性在此处可用,但您必须检查您的特定上下文,使用特定的 HTTP_Listener您正在使用的配置。

关于Mule - 如何在 http :listener? 中使用 set-session-variable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30424757/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com