我在ESB中使用org.jboss.soa.esb.actions.soap.SOAPClient。 我试图获取HTTP状态代码或任何异常,如果SOAPClient无法发送请求。 在这里,可能有很多原因导致不成功的交易员: - 404,500等...... 我的要求是在ESB中捕获任何错误或异常(可以是soap故障异常)或http状态代码,以便我根据Exception执行一些业务逻辑。 我尝试使用下面的代码,但无法收到任何异常。
<action class="com.xxx.esb.yyy.A228ProducerInquiry.ProducerInquiryTransactionHandler" name="RequestMapper" process="mapRequestPath">
<property name="OGNLPath" value="AgentValidation.strXMLIN"/>
</action>
<action class="org.jboss.soa.esb.actions.soap.SOAPClient" name="FasatPost">
<property name="responseAsOgnlMap" value="true" />
<property name="wsdl" value="http://example.org?wsdl"/>
<property name="SOAPAction" value="mySoapAction"/>
</action>
<action name="response-mapper" class="com.foresters.esb.acord.A228ProducerInquiry.MyResponseAction">
</action>
我可以在控制台和SOAP UI中看到异常,但无法在ESB中接收
谢谢, Madhu CM
答案 0 :(得分:0)
我没有尝试过这种逻辑,但“程序员指南”提到了这样的事情:
您可以尝试将Message的FaultTo字段设置为异常处理服务。在该异常处理服务中,您可以执行所需的恢复步骤。