Mule ESB-如何从远程Web服务处理ConnectException

时间:2013-12-01 01:32:09

标签: mule

我调用服务器上部署的远程Web服务。但有时服务不可用。我想在那个场合捕获原始消息并将其保存到文件中。但是,该消息抱怨它类型为PostMethod。

<vm:inbound-endpoint path="receiver.in" name="AWS-Service"/>
<custom-transformer ref="byte-to=lfd-format"/>
<http:outbound address="https://advent-ws:9001/lfs-api" content-type="text/plain"/>
<default-exception-strategy>
<choice>
<when expression="#[exception.causedBy(java.lang.ConnectException)]">
  Here get transformed payload and send to file
</when>
...
</default-exception-strategy>

我尝试使用表达式变换器,但收到错误消息&#34; org.mule.api.expression ..&#34;
那就是Message Payload的类型是PostMethod。

1 个答案:

答案 0 :(得分:1)

当Payload到达异常策略块时,消息已被消耗。

因此,您可以在服务调用之前将有效负载存储在变量中,如果抛出异常,则可以读取原始有效负载值,然后写入文件。