Как получить код ошибки от SOAPClient: JBOSS ESB
Я использую 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
Спасибо, Мадху CM
1 ответ
Я не пробовал эту логику, но "Руководство программистов" упоминает что-то вроде этого:
- Если при обработке сообщения возникает ошибка, вы можете вызвать предопределенную службу или отправить сообщение в службу очереди недоставленных сообщений.
- Если ничего из вышеперечисленного не настроено, ошибка будет перенаправлена на консоль, что вы и видите.
Вы можете попробовать установить в поле FaultTo для сообщения службу обработки исключений. В этой службе обработки исключений вы можете выполнить необходимые шаги по восстановлению.