有没有办法根据请求标头动态设置messageType属性?
我可以在insequence中读取请求标头(transport,accept)但是如何根据accept值使用其值来有条件地设置messageType属性?有没有办法达到这个要求?
我正在运行ESB版本4.7.0。
答案 0 :(得分:2)
这可以使用switch mediator完成。 以下是示例配置。
<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>
答案 1 :(得分:0)
这可以通过Class mediator或Switch Mediator实现。您可以使用类介体来获得更多控制。 This link提供了有关使用switch mediator的详细信息。使用属性介体根据switch case设置值。