mule动态设置soap操作
在我的流中,我有一个调用服务的soap客户端。由于我们使用的是3种不同于服务的操作,所以我想在Mule soap组件的“客户端属性”下动态填充“操作”字段。我现在的工作方式是:mule动态设置soap操作,mule,Mule,在我的流中,我有一个调用服务的soap客户端。由于我们使用的是3种不同于服务的操作,所以我想在Mule soap组件的“客户端属性”下动态填充“操作”字段。我现在的工作方式是: start flow -> message transformation -> choice flow control (based on the message type) choice 1. sub flow A -> soap client with operation A choice 2.
start flow -> message transformation -> choice flow control (based on the message type)
choice 1. sub flow A -> soap client with operation A
choice 2. sub flow B -> soap client with operation B
choice 3. sub flow C -> soap client with operation C
我希望在运行时根据消息动态设置“Operation”字段,而不是有三个不同的子流
start flow -> message transformation -> set the operation field -> soap client with the correct operation
可能吗?使用Mule CE 3.3.1。提前感谢。要实现您的目标:
- 从
元素中删除cxf:jaxws-client
属性operation
- 在
元素之前添加将操作设置为出站消息属性,并使用:cxf:jaxws-client
<set-property propertyName="operation" value="#[...]" />
其中,
表示从消息中提取操作名称的MEL表达式#[…]
cxf:jaxws客户端吗?
?是的,完全正确。我想在运行时更改cxf:jaxws-client-operation属性,因为我们是来自同一个服务的3个不同操作。我根据消息类型在标头中设置了一个操作属性,然后按照您的建议,使用MEL提取操作值,并将其设置为:“现在我只有一个子流可以执行所有三个操作,非常好,再次感谢。很高兴它能工作!”!建议:使用MEL而不是旧式/不推荐的表达式语法,即:
是的,很好的建议。我将改变它并测试它。非常感谢。