Текущее время: Вт, мар 19 2024, 11:39

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




Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
 Заголовок сообщения: SOAP receiver: очищается динамическая конфигурация
СообщениеДобавлено: Сб, окт 01 2016, 20:41 
Ассистент
Ассистент

Зарегистрирован:
Вт, ноя 25 2014, 15:42
Сообщения: 32
Откуда: Москва
Пол: Мужской
Добрый день.

Сделан асинхронно-синхронный мост: JDBC -> SOAP -> JDBC.
Некоторые поля из исходного сообщения нужны в обратном мэппинге.
Для этого я их в "прямом" мэппинге кладу в динамическую конфигурацию, ожидая их видеть и в ответном сообщении, т.к. получатель синхронный.

Однако в ответе этих новых полей в динамической конфигурации нет.
Вроде пишут, что SOAP-канал всё это очищает. А можно как-нибудь обойти эту проблему?


P.S.: в сценарии FILE -> JDBC (синх.) -> FILE в ответе динамическая конфигурация сохранялась.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: SOAP receiver: очищается динамическая конфигурация
СообщениеДобавлено: Пн, окт 03 2016, 05:06 
Старший специалист
Старший специалист
Аватара пользователя

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

Решить можно просто:
До XISOAPAdapterBean ставите АF_Modules/DynamicConfigurationBean с параметрами:
key.1 write <dc key namespace> <dc key name>
value.1 module.MyValue

Этим вы сохраните значение из DC в переменную модуля MyValue.

После SOAP-модуля еще раз для обратной операции (чтения):
key.1 read <dc key namespace> <dc key name>
value.1 module.MyValue

Естественно, Module Key должен быть отдельный для каждого.

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


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: SOAP receiver: очищается динамическая конфигурация
СообщениеДобавлено: Пн, окт 03 2016, 09:50 
Ассистент
Ассистент

Зарегистрирован:
Вт, ноя 25 2014, 15:42
Сообщения: 32
Откуда: Москва
Пол: Мужской
Добрый день!

Да, ICo (у меня 7.4 без абапа).
Проблема в том, что значений произвольное количество.
То есть, допустим, в запросе есть 10 объектов с идентификаторами и другими данными (номер телефона).
Во внешнюю систему (на веб-сервис) передаются только телефоны, а полученные 10 ответов нужно склеить с 10 исходными идентификаторами.

Я эти идентификаторы пытался записывать в динамическую конфигурацию в цикле как id[1], id[2] и т.д., а в ответе - считывать.
В общем, видимо, придётся осваивать технологию новых BPM.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: SOAP receiver: очищается динамическая конфигурация
СообщениеДобавлено: Пн, окт 03 2016, 11:32 
Ассистент
Ассистент

Зарегистрирован:
Вт, ноя 25 2014, 15:42
Сообщения: 32
Откуда: Москва
Пол: Мужской
Chaser009 написал:
Решить можно просто


Подумал, что можно склеить весь набор идентификаторов в одну строку, т.е. если есть значения 11, 22, 33, то сделать 11#22#33 и сохранять её с неким единственным ключом и использовать ваш способ. А на обратном пути расклеивать в 3 значения.
Правда, всё вместе получается как-то не очень изящно, но больше вариантов и не вижу. Либо действительно BPM.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: SOAP receiver: очищается динамическая конфигурация
СообщениеДобавлено: Пн, окт 03 2016, 11:49 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 29 2011, 08:54
Сообщения: 318
Откуда: Владивосток, Россия
Пол: Мужской
Попробуйте, например, запихать целиком XML-дерево.
Сам не пробовал, но как вариант.
Или параметры в разных местах?

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


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: SOAP receiver: очищается динамическая конфигурация
СообщениеДобавлено: Пн, окт 03 2016, 11:58 
Ассистент
Ассистент

Зарегистрирован:
Вт, ноя 25 2014, 15:42
Сообщения: 32
Откуда: Москва
Пол: Мужской
XML записать в переменную с помощью модуля DynamicConfigurationBean?

Попробую изучить такой вариант. Проблема в том, что значения в динамической конфигурации вроде должны укладываться в 200 символов.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: SOAP receiver: очищается динамическая конфигурация
СообщениеДобавлено: Пн, окт 03 2016, 12:14 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 29 2011, 08:54
Сообщения: 318
Откуда: Владивосток, Россия
Пол: Мужской
Тогда еще вариант: в Supplemental Data модуля запихать. Но там, скорее всего, модуль для адаптера писать надо будет.

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


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: SOAP receiver: очищается динамическая конфигурация
СообщениеДобавлено: Пн, окт 03 2016, 12:28 
Ассистент
Ассистент

Зарегистрирован:
Вт, ноя 25 2014, 15:42
Сообщения: 32
Откуда: Москва
Пол: Мужской
Ага. Как я понял, предложенный вами в первом сообщении вариант как раз туда и пишет эти данные.
То есть нужно понять, как их туда писать не с помощью фиксированного набора ключей из динамической конфигурации, а как-то в цикле.
Т.е. например, искать все ключи определенного пространства имён, или начинающиеся на ID*.

Если существующие модули не позволяют такое делать, то да, наверное, надо свой писать.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: SOAP receiver: очищается динамическая конфигурация
СообщениеДобавлено: Пн, окт 03 2016, 12:32 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 29 2011, 08:54
Сообщения: 318
Откуда: Владивосток, Россия
Пол: Мужской
А что за сценарий в целом?

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


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: SOAP receiver: очищается динамическая конфигурация
СообщениеДобавлено: Пн, окт 03 2016, 12:47 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 29 2011, 08:54
Сообщения: 318
Откуда: Владивосток, Россия
Пол: Мужской
Просто если вы с веб-сервиса просто данные тянете какие-то, а не пишете туда что-то, то можно простой асинхронный сценарий с лукапом сделать и не заморачиваться с мостами и сохранениями данных. Дешево и сердито.

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


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: SOAP receiver: очищается динамическая конфигурация
СообщениеДобавлено: Пн, окт 03 2016, 12:56 
Ассистент
Ассистент

Зарегистрирован:
Вт, ноя 25 2014, 15:42
Сообщения: 32
Откуда: Москва
Пол: Мужской
Сценарий - отправка SMS-сообщений с использованием внешнего сервиса.
С нашей стороны - ID + телефон + текст (читается из БД как JDBC), с той стороны в ответе - только телефон + результат обработки (результат нужно записать также по JDBC).
Но множественность - 1..N.
И телефон как ключ тут не срабатывает, он может и повторяться.

Да может, и lookup сделать лучше, действительно.
Просто с Java-мэппингом это сразу станет несколько сложнее в поддержке - если что, перекомпилировать и снова загружать класс, всё такое.
Думал, может, без этого получится.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: SOAP receiver: очищается динамическая конфигурация
СообщениеДобавлено: Пн, окт 03 2016, 13:03 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 29 2011, 08:54
Сообщения: 318
Откуда: Владивосток, Россия
Пол: Мужской
Да нет, тут другое: лукапы используются для получения данных - и только. Они не должны изменять состояние данных.
Вот представьте: запрос вы выполнили, данные по СМС вылетели, а где-то дальше в сценарии ошибка. При перезапуске повторно СМСки полетят - а это плохо.

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


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: SOAP receiver: очищается динамическая конфигурация
СообщениеДобавлено: Пн, окт 03 2016, 13:09 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 29 2011, 08:54
Сообщения: 318
Откуда: Владивосток, Россия
Пол: Мужской
Если данных много, попробуйте все-таки Supplemental data. Туда, если правильно помню, можно, например, Map с параметрами закинуть.

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


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: SOAP receiver: очищается динамическая конфигурация
СообщениеДобавлено: Пн, окт 03 2016, 13:44 
Ассистент
Ассистент

Зарегистрирован:
Вт, ноя 25 2014, 15:42
Сообщения: 32
Откуда: Москва
Пол: Мужской
Chaser009 написал:
При перезапуске повторно СМСки полетят - а это плохо.


Имеете в виду, что желательно иметь staging на стадии "После мэппинга"?
Чтоб если что, то перезапускать не с самого начала?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: SOAP receiver: очищается динамическая конфигурация
СообщениеДобавлено: Вт, окт 04 2016, 03:38 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 29 2011, 08:54
Сообщения: 318
Откуда: Владивосток, Россия
Пол: Мужской
Ну это по ситуации. Я просто имел в виду, что всяческие лукапы настоятельно рекомендуется использовать исключительно для получения данных, без внесения изменений или выполнения каких-то побочных действий.

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


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

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


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

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


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

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