将属性从InSequence传递给faultSequence

时间:2014-03-07 16:27:49

标签: wso2 wso2esb

我需要将我的InSequence中的属性传递给我的faultSequence,以便进行日志记录。

使用default或axis2等标准范围不起作用,我在defaultSequence中得到null值。

有什么想法吗? TKS 尼古拉斯

1 个答案:

答案 0 :(得分:0)

定义一个序列,用于处理与序列中的特定相关的错误。

例如:创建一个名为“CustomFaultSequence”的序列,并在该序列中编写错误处理逻辑。

<sequence xmlns="http://ws.apache.org/ns/synapse" name="CustomFaultSequence">
   <log level="custom">
      <property xmlns:ns="http://org.apache.synapse/xsd" 
          xmlns:ns3="http://org.apache.synapse/xsd" 
          name="my-property value is" 
          expression="get-property('my-property')"></property>
   </log>
</sequence>

然后,使用“onError”属性将上述序列引入相关的inSequence。

例如:

<inSequence onError="CustomFaultSequence">
    <property name="my-property"
              value="Stack Overflow"
              scope="default"
              type="STRING"/>
           ......{your code}.....
         <send/>
 </inSequence>

发生错误时,您肯定会收到类似

的输出
... INFO - LogMediator my-property value is = Stack Overflow

打印在服务器控制台上。

感谢。