Mule ESB-如何处理来自远程Web服务的ConnectException

Mule ESB-如何处理来自远程Web服务的ConnectException,mule,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-a

我调用部署在服务器上的远程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>

这里获取转换后的有效负载并发送到文件
...
我尝试使用表达式转换器,但收到错误消息“org.mule.api.expression..”

所述消息有效负载是PostMethod类型。

当有效负载到达异常策略块时,消息已经被消耗


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

当有效负载到达异常策略块时,消息已经被使用


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

我尝试了您的建议,但Mule确实尝试过多次重新连接到端点。我的目标是,一旦第一次连接到服务失败,只需保存到文件,我们就完成了。这可以做到吗?@BreenDee看看这是否有帮助:我尝试了你的建议,但Mule确实多次尝试重新连接到端点。我的目标是,一旦第一次连接到服务失败,只需保存到文件,我们就完成了。这能做到吗?@BreenDee看看这是否有帮助: