有没有办法根据请求标头动态设置 messageType 属性?
我可以按顺序读取请求标头(传输,接受),但是如何使用它的值根据接受值有条件地设置 messageType 属性?有没有办法达到这个要求?
我正在运行 ESB 版本 4.7.0。
这可以使用 switch 中介来完成。以下是示例配置。
<switch source="$trp:Accept">
<case regex=".*json.*">
<property name="messageType" value="application/json" scope="axis2"/>
</case>
<case regex=".*application/xml.*">
<property name="messageType" value="application/xml" scope="axis2"/>
</case>
<default>
<property name="messageType" value="text/xml" scope="axis2"/>
</default>
</switch>
这可以通过 Class mediator 或 Switch Mediator 来实现。您可以使用类调解器来获得更多控制权。此链接提供了有关使用 switch 调解器的详细信息。使用属性调解器根据开关情况设置值。