Mule 从DB表设置值以输出HTTP头
我不熟悉mule ESB。 我需要设置HTTP头,其中的值应该从MySQLDB获取。我能够从数据库中获取值。DB返回了一行多个列值 我可以在流变量(flowVars)中设置一个列值,并且可以在HTTP头中设置。但如果我必须在每个HTTP头中设置多个列变量,则会导致我编写多个set variable命令 如何避免编写多个集合变量命令?(是否有任何mule expresion可以通过单个命令设置多个变量?)是否有其他简单的方法来实现这一点Mule 从DB表设置值以输出HTTP头,mule,esb,mel,Mule,Esb,Mel,我不熟悉mule ESB。 我需要设置HTTP头,其中的值应该从MySQLDB获取。我能够从数据库中获取值。DB返回了一行多个列值 我可以在流变量(flowVars)中设置一个列值,并且可以在HTTP头中设置。但如果我必须在每个HTTP头中设置多个列变量,则会导致我编写多个set variable命令 如何避免编写多个集合变量命令?(是否有任何mule expresion可以通过单个命令设置多个变量?)是否有其他简单的方法来实现这一点 <flow name="mule_eeFlow">
<flow name="mule_eeFlow">
<http:listener config-ref="HTTP_Input_eba_Listener_Configuration" path="/XXX/additem" doc:name="HTTP"/>
<db:select config-ref="MySQL_Configuration" doc:name="Database">
<db:template-query-ref name="Template_Query"/>
</db:select>
<set-variable variableName="LEVEL" value="#[message.payload[0].'X-API-COMPATIBILITY-LEVEL']" doc:name="Variable"/>
<set-variable variableName="DEVNAME" value="#[message.payload[0].'X-API-DEV-NAME']" doc:name="Variable"/>
<set-variable variableName="APPNAME" value="#[message.payload[0].'X-API-APP-NAME']" doc:name="Variable"/>
<set-variable variableName="CERTNAME" value="#[message.payload[0].'X-API-CERT-NAME']" doc:name="Variable"/>
<set-variable variableName="SITEID" value="#[message.payload[0].'X-API-SITEID']" doc:name="Variable"/>
<set-variable variableName="CALLNAME" value="#[message.payload[0].'X-API-CALL-NAME']" doc:name="Variable"/>
<custom-transformer class="AddingHTTPHeader" doc:name="Java"/>
</flow>
您可以直接在Mule中设置出站属性,而无需使用变量和Java代码,有多种方法可以做到这一点 使用“Set Property”转换器 或者,如果将EE与DataWeave一起使用,则可以在DataWeave中设置所有属性,并仅使用一个DataWeave转换器创建它们,而无需添加单独的属性转换器 谢谢你的回答! 这帮助我获得了“消息属性”函数。这帮助我删除java代码并设置变量。这个函数帮助我设置多个http头
<message-properties-transformer doc:name="Message Properties">
<add-message-property key="X-API-COMPATIBILITY-LEVEL" value="#[message.payload[0].'X-API-COMPATIBILITY-LEVEL']"/>
<add-message-property key="X-API-DEV-NAME" value="#[message.payload[0].'X-API-DEV-NAME']"/>
<add-message-property key="X-API-APP-NAME" value="#[message.payload[0].'X-API-APP-NAME']"/>
<add-message-property key="X-API-CERT-NAME" value="#[message.payload[0].'X-API-CERT-NAME']"/>
<add-message-property key="X-API-SITEID" value="#[message.payload[0].'X-API-SITEID']"/>
<add-message-property key="X-API-CALL-NAME" value="#[message.payload[0].'X-API-CALL-NAME']"/>
</message-properties-transformer>
<message-properties-transformer doc:name="Message Properties">
<add-message-property key="X-API-COMPATIBILITY-LEVEL" value="#[message.payload[0].'X-API-COMPATIBILITY-LEVEL']"/>
<add-message-property key="X-API-DEV-NAME" value="#[message.payload[0].'X-API-DEV-NAME']"/>
<add-message-property key="X-API-APP-NAME" value="#[message.payload[0].'X-API-APP-NAME']"/>
<add-message-property key="X-API-CERT-NAME" value="#[message.payload[0].'X-API-CERT-NAME']"/>
<add-message-property key="X-API-SITEID" value="#[message.payload[0].'X-API-SITEID']"/>
<add-message-property key="X-API-CALL-NAME" value="#[message.payload[0].'X-API-CALL-NAME']"/>
</message-properties-transformer>