Текущее время: Чт, дек 11 2025, 02:01

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Google [Bot]


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

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