如何从SOAPClient接收错误代码:JBOSS ESB

时间:2011-04-15 04:55:58

标签: jboss-esb

我在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

1 个答案:

答案 0 :(得分:0)

我没有尝试过这种逻辑,但“程序员指南”提到了这样的事情:

  1. 处理Message时出错,您可以调用预定义的服务或将消息推送到死信队列服务。
  2. 如果上述两者均未配置,则错误将重定向到控制台,这就是您所看到的。
  3. 您可以尝试将Message的FaultTo字段设置为异常处理服务。在该异常处理服务中,您可以执行所需的恢复步骤。