Текущее время: Ср, апр 17 2024, 00:26

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




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Запись в Reference ID
СообщениеДобавлено: Ср, фев 26 2014, 20:48 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, окт 09 2007, 15:00
Сообщения: 79
Всем привет.
Версия PI 7.3
Проблема такая - из ERP выходит сообщение через прокси. У него есть какой-то GUID. Далее банально в ICO без проверки каких-либо условий сообщение расходится на две системы-получателя. Соответственно, у новых сообщений отправленных получателям генерятся новые GUID.

Вопрос: можно ли как-нибудь проследить связь исходного сообщения вышедшего из ERP и этих двух новых сообщений для удобного поиска?

Потому что хотелось бы по исходному GUID быстро получать всю цепочку порождённых сообщений. Выцепить GUID исходного сообщения - не проблема, но вот что с ним делать? Сохранить в Reference ID? В принципе асинхронный ответ не предполагается и Reference ID не используется, так что поле идеально бы подошло. Но можно ли так делать? Может есть более просто решение?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запись в Reference ID
СообщениеДобавлено: Чт, фев 27 2014, 11:51 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, окт 09 2007, 15:00
Сообщения: 79
Нашли решение.
Используйте модуль AF_Modules/DynamicConfigurationBean
http://help.sap.com/saphelp_nw04/helpda ... ontent.htm

Модуль прописывается дважды в канале Sender перед вызовом непосредственно адаптера. Выглядит это так:
1 | AF_Modules/DynamicConfigurationBean | Local Enterprise Bean | 0
2 | AF_Modules/DynamicConfigurationBean | Local Enterprise Bean | 1
3 | CallSapAdapter | Local Enterprise Bean | soap

Затем прописываются параметры
Module Key = 0
Parameter Name = key.0
Parameter Value = read http://sap.com/xi/XI/System/Messaging refToMessageId

Module Key = 0
Parameter Name = value.0
Parameter Value = message.messageId

Module Key = 1
Parameter Name = key.0
Parameter Value = write http://sap.com/xi/XI/System/Messaging refToMessageId

Module Key = 1
Parameter Name = value.0
Parameter Value = message.refToMessageId

И всё, работает!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запись в Reference ID
СообщениеДобавлено: Чт, фев 27 2014, 14:15 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Сб, фев 25 2012, 02:52
Сообщения: 141
Откуда: Москва
Пол: Мужской
Добрый день!

Дважды его прописывать не нужно. :)
Модуль этот может сколько угодно параметров обрабатывать.
Просто каждый следующий параметр пишется с новой цифры, т.е.:
key.0
value.0
key.1
value.1
и т.д.

Параметр refToMessageId можно использовать, хоть он и не для того предназначен:
message.refToMessageId - Reference ID for the synchronous response

Возможно, Вы ошиблись при копировании, но операция выглядит странно:

1 | AF_Modules/DynamicConfigurationBean | Local Enterprise Bean | 0


Цитата:
Module Key = 0
Parameter Name = key.0
Parameter Value = read http://sap.com/xi/XI/System/Messaging refToMessageId

Module Key = 0
Parameter Name = value.0
Parameter Value = message.messageId


Читаем значение refToMessageId, пишем его в adapter-specifiс часть заголовка в параметр messageID. Зачем?

Цитата:
Module Key = 1
Parameter Name = key.0
Parameter Value = write http://sap.com/xi/XI/System/Messaging refToMessageId

Module Key = 1
Parameter Name = value.0
Parameter Value = message.refToMessageId


Пишем refToMessageId из заголовка в refToMessageId заголовка. :)

Какая-то путаница, имхо.

Тут скорее нужно
Цитата:
Parameter Name = key.0
Parameter Value = write http://sap.com/xi/XI/System/Messaging refToMessageId

Parameter Name = value.0
Parameter Value = message.MessageId


То есть, записать ID сообщения в refToMessageId.

Для справки - все параметры и операции DynamicConfigurationBean:
http://help.sap.com/saphelp_nw74/helpda ... ontent.htm

P.S.: Но что-то мне подсказывает, что при разделении сообщения в ICO PI сам должен где-то проставлять GUID исходного сообщения.. Гляну на досуге.

_________________
Сажаем самолеты по телефону. :)
SAP - фрилансер.
sap.pitroff.ru


Последний раз редактировалось pitroff Пт, фев 28 2014, 02:24, всего редактировалось 2 раз(а).

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запись в Reference ID
СообщениеДобавлено: Пт, фев 28 2014, 02:21 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Сб, фев 25 2012, 02:52
Сообщения: 141
Откуда: Москва
Пол: Мужской
Посмотрел внимательнее - действительно, стандартно PI пишет исходный ID в HopList:
Изображение

1-Исходный ID
2-ID после клонирования

Но поиском тут особо не воспользуешься, так что Ваша идея с referenceID - хороша. :pivo:

_________________
Сажаем самолеты по телефону. :)
SAP - фрилансер.
sap.pitroff.ru


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

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


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

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


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

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