Текущее время: Вт, июн 19 2018, 10:52

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




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: асинхронно-синхронный маппинг (idoc->soap->proxy/mail)
СообщениеДобавлено: Ср, мар 23 2016, 14:04 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Вт, мар 29 2005, 20:54
Сообщения: 1364
Откуда: мАсква
есть ERP, генерирует IDOC, его отправляем во внешнюю систему, получаем синхронный ответ и транслируем его асинхронно в прокси в ерп. если в ответе есть определенное значение в поле, то вместо прокси ответ посылается в почту. реализовано все через модули в soap адаптере:
1) сервис интерфейс1 синхроный входящий, в нем реквест и респонс
2) сервис интерфейс2 асинхронный исходящий, в нем респонс.
3) сервис интерфейс3 асинхронный входящий, в нем респонс.
4) сервис интерфейс4 асинхронный, в нем шаблон письма

сделан следующий маппинг:
1) маппинг1 idoc->интерфейс1 реквест
2) маппинг2 интерфейс2->интерфейс3
3) маппинг3 интерфейс2->интерфейс4

создано ICO1, в котором на входе IDOC, ресивер внешняя система, в интерфейсе маппинг1, в outbound processing soap канал со следующими настройками
1 AF_Modules/RequestResponseBean Local Enterprise Bean RequestResponseBean
2 sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean Local Enterprise Bean soap
3 AF_Modules/ResponseOnewayBean Local Enterprise Bean ResponseOnewayBean module

RequestResponseBean passThrough true
ResponseOnewayBean module interface сервис интерфейс 2
ResponseOnewayBean module interfaceNamespace сервис интерфейс 2 наймспейс
ResponseOnewayBean module replaceInterface true

и ICO2 в котором на входе сервис интерфейс2, в ресивере по условиям либо ERP, либо почта, в интерфейсе маппинг2 или маппинг3, ну и соответсвенно вызовы каналов в ERP или почту.

все прекрасно работает, пока внешняя система вместо респонса не захочет послать Fault сообщение.. тогда в мониторинге входящее сообщение ICO1 падает в ошибку, а в логах у него написано http 500 ошибка и он не может определиться что делать с таким ответом.
3/21/2016 09:42:26.890 AM Error SOAP: Response message contains an errorXIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 500 Internal Server Error
3/21/2016 09:42:26.890 AM Information SOAP: Continuing to response message 137a19da-ef30-11e5-9b7f-000012156852
3/21/2016 09:42:26.890 AM Information SOAP: Processing completed
3/21/2016 09:42:26.906 AM Error Exception caught by adapter framework: No sender agreement configured that matches the messages header fields (sender party: "", sender service: "внешняя система", interface: "интерфейс1", receiver party: "", receiver service: "ERP")
3/21/2016 09:42:26.906 AM Error MP: exception caught with cause com.sap.engine.interfaces.messaging.api.exception.ConfigException: No sender agreement configured that matches the messages header fields (sender party: "", sender service: "внешняя система", interface: "интерфейс1", receiver party: "", receiver service: "ERP")
3/21/2016 09:42:26.906 AM Error Transmitting the message to endpoint <local> using connection IDoc_AAE_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.ConfigException: No sender agreement configured that matches the messages header fields (sender party: "", sender service: "внешняя система", interface: "интерфейс1", receiver party: "", receiver service: "ERP")

если через wsnavigator сделать вызов с теми же параметрами, то получаем в ответ структуру Fault
вопрос: как-куда добавить обработку Fault, чтобы оно слало на почту?
наверное несколько сумбурно получилось.

_________________
Не откладывай работу на субботу, а секс на старость

система без базисника должна лежать! (с) Skif


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: асинхронно-синхронный маппинг (idoc->soap->proxy/mail)
СообщениеДобавлено: Ср, мар 23 2016, 18:16 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пн, фев 21 2005, 01:50
Сообщения: 10238
Откуда: г.Мышуйск
Пол: Женский
ОН НАСТОЯЩИЙ!!!

_________________
Пушномолочная свинья-несушка (тест)
Once cached cannot be uncached


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: асинхронно-синхронный маппинг (idoc->soap->proxy/mail)
СообщениеДобавлено: Ср, мар 23 2016, 18:34 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Вт, мар 29 2005, 20:54
Сообщения: 1364
Откуда: мАсква
Я думал ответил кто, а тут лв говорит, что привидение увидела

_________________
Не откладывай работу на субботу, а секс на старость

система без базисника должна лежать! (с) Skif


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: асинхронно-синхронный маппинг (idoc->soap->proxy/mail)
СообщениеДобавлено: Чт, мар 24 2016, 03:22 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 29 2011, 09:54
Сообщения: 318
Откуда: Владивосток, Россия
Пол: Мужской
Blood Angel написал(а):
вопрос: как-куда добавить обработку Fault, чтобы оно слало на почту?
наверное несколько сумбурно получилось.


Здравствуйте!

С ошибками SOAP - это отдельная песня. Было уже несколько тем по этому поводу.

В общем случае, fault, если это не Application Fault (который может быть описан в wsdl сервиса), генерирует System Error в PI.

Можно попытаться отключить SOAP Envelop в настройках адаптера, сгенерировать "обертку" самому через Java/XSLT, в структуре ответного сообщения описать как структуру ответа, так и структуру fault-сообщения, двумя сегментами. В адаптере выставить также признак, что не надо реагировать на ошибку. В таком случае, по идее, Вам назад в любом случае прилетит структура ответа, где в зависимости от того, был fault или нет, будет заполнена либо структура ответа, либо структура fault. А дальше уже в зависимости от результата бросаете его туда, куда Вам нужно.

P.S. Я в свое время на этот бардак глянул и сделал мост в ccBPM. Там этого гемороя нет. System Error (точнее, сам факт его возникновения) прекрасно ловится и дальше уже все разруливается. Правда, работает медленнее, ну и только для Dual Stack. Ну и минус в том, что сообщение исходное уже перезапустить не получится, в отличие от адаптерного моста, потому что исходное сообщение будет со статусом "Delivered".

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


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: асинхронно-синхронный маппинг (idoc->soap->proxy/mail)
СообщениеДобавлено: Чт, мар 24 2016, 14:03 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Вт, мар 29 2005, 20:54
Сообщения: 1364
Откуда: мАсква
это именно fault, который описан в wsdl, но он там просто описан как message. т.е. при обращении к внешней системе она может вернуть сообщение двух типов: респонс или фаулт. как их научиться отлавливать и корректно раскидывать. с одним типом проблем нет.

_________________
Не откладывай работу на субботу, а секс на старость

система без базисника должна лежать! (с) Skif


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: асинхронно-синхронный маппинг (idoc->soap->proxy/mail)  Тема решена
СообщениеДобавлено: Пт, мар 25 2016, 03:20 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 29 2011, 09:54
Сообщения: 318
Откуда: Владивосток, Россия
Пол: Мужской
Ну, может быть, в этом случае стоит поиграться с параметрами "interfaceOnFault", "replaceInterfaceOnFault" и "interfaceNamespaceOnFault". Ну и отдельный ICO для ошибочного ответа.

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


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: асинхронно-синхронный маппинг (idoc->soap->proxy/mail)
СообщениеДобавлено: Пн, мар 28 2016, 13:47 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Вт, мар 29 2005, 20:54
Сообщения: 1364
Откуда: мАсква
Спасибо, помогло.

_________________
Не откладывай работу на субботу, а секс на старость

система без базисника должна лежать! (с) Skif


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: асинхронно-синхронный маппинг (idoc->soap->proxy/mail)
СообщениеДобавлено: Вс, июл 16 2017, 23:03 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Чт, окт 01 2015, 22:05
Сообщения: 5
Откуда: Москва
Пол: Женский
А не могли бы вы расписать решение. Какой и как параметры выставили? ICo отдельный сделали?


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

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


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

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


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

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