Текущее время: Вт, апр 16 2024, 17:58

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Как-нибудь можно обработать ошибку SOAP-адаптера?
СообщениеДобавлено: Вт, фев 21 2012, 10:25 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 29 2011, 08:54
Сообщения: 318
Откуда: Владивосток, Россия
Пол: Мужской
Добрый день!

Натолкнулся на проблему: при синхронном запросе Web-сервиса смоделировал ошибку связи. Выяснил, что при этом возникает System exception и в качестве ответа возвращается:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!-- Inbound Message
-->
- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
<SAP:Category>XIAdapterFramework</SAP:Category>
<SAP:Code area="MESSAGE">GENERAL</SAP:Code>
<SAP:P1 />
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText>com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.net.ConnectException: Connection refused</SAP:AdditionalText>
<SAP:Stack />
<SAP:Retry>M</SAP:Retry>
</SAP:Error>

Сначала вставал колом интеграционный процесс. После того, как настроил для шага Send обработку System Exception, процесс нормально продолжается. Но хотелось бы что-нибудь выдернуть из возвращаемого сообщения, чтобы передать отправителю информацию об ошибке.
Может кто знает, существует ли способ это сделать в данном случае? Пробовал покопаться с Fault Message, но оно используется в случае Proxy или RFC, для SOAP - никак.

_________________
У меня два правила:
1. Не говорить всего, что знаю.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как-нибудь можно обработать ошибку SOAP-адаптера?
СообщениеДобавлено: Вт, фев 21 2012, 14:27 
Директор
Директор

Зарегистрирован:
Вт, июл 18 2006, 17:44
Сообщения: 1001
Откуда: что и все
Пол: Мужской
да, это известное неудобство.
Не знаю, разрулили ли в 7.3, но ещё в прошлом году советовали либо включить уровень трассировки и копаться в логах либо вызвать с теми же параметрами через какой-нибудь soapUI либо настроить работу через прокси (если SOAP без Axis то он это поддерживает, если с Axis то все axis-вызовы идут через прокси в джава-свойствах) и ловить ошибку там. У меня была мысль написать локальный прокси в иксае, делать вызовы через него и ловить ошибку самому, пробрасывая её обратно.

В общем, красивого готового решения я не знаю.

_________________
Telegram-chat: PO, CPI-PI, java, groovy


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как-нибудь можно обработать ошибку SOAP-адаптера?
СообщениеДобавлено: Ср, фев 22 2012, 19:20 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Вт, сен 25 2007, 13:27
Сообщения: 45
Откуда: Москва, АНТ-Информ (Газпром)
Пол: Мужской
Чисто теоретически думаю, что можно через адаптер модуль разрулить, т.е. попытаться поменять статус сообщения с Fault на нормальный. Хотя на сколько помню, в 7.0 этого API не позволяла, а в 7.1 и 7.3 пока мало опыта с апишкой для адаптер модуля.

_________________
Ерин Саня: А я напишу свой SAP ...с блэкджеком и шлюх*ми


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB