Как получить код ошибки от SOAPClient: JBOSS ESB - PullRequest
1 голос
/ 15 апреля 2011

Я использую org.jboss.soa.esb.actions.soap.SOAPClient в моем ESB.И я пытаюсь получить код состояния HTTP или любое исключение, если SOAPClient не удается отправить запрос.Здесь может быть множество причин для неудачной доставки, например: - 404 500 и т. Д. .... Мое требование - перехватить любую ошибку или исключение (может быть исключение ошибки мыла) или код состояния http в ESB, чтобы я выполнил некоторую бизнес-логикуна основе исключения.Я пытался использовать приведенный ниже код, но не смог получить никакого исключения.

<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, но не могу получить в ESB

Спасибо, Madhu CM

1 Ответ

0 голосов
/ 01 июня 2011

Я не пробовал эту логику, но в «Руководстве для программистов» упоминается что-то вроде этого:

  1. Если при обработке сообщения возникает ошибка, вы можете вызвать предопределенную службу или отправить сообщение в службу очереди недоставленных сообщений.
  2. Если ни один из вышеперечисленных не настроен, ошибка будет перенаправлена ​​на консоль, что вы и видите.

Вы можете попробовать установить в поле FaultTo для сообщения службу обработки исключений. В этой службе обработки исключений вы можете выполнить необходимые шаги восстановления.

...