如何在 Mule4 中读取 属性 的值?

how to read a property's value of value in Mule4?

我在属性 file.Note 中定义了一个 属性 client1 前缀,它是在请求命中时动态计算的。

client1_appilicationid=OBCDSEFT

我在流程中定义了 2 个变量;

<set-variable value="#[attributes.headers.'x-client-id']" doc:name="ClientId" doc:id="1e33f179" variableName="clientid"/>

这里attributes.headers.'x-client-id'=client1

<set-variable value="'#[vars.clientid]'++'_'++'applicationid'" doc:name="applicationId" doc:id="9df0420e" variableName="applicationid"/>

在上面,如果我访问 #[vars.applicationd],它将打印 client1_appilicationid 作为值。但我想要 'OBCDSEFT' 作为价值。我如何定义 applicationId 变量来获得它?

您只是将客户端 ID header 值与后缀连接起来,但这不会读取 属性 值。您应该使用 p() function 来读取属性值。

表达式应该是这样的:#[p(vars.clientid++'_'++'applicationid')]