Текущее время: Пт, окт 20 2017, 23:56

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




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

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

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

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


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


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

Зарегистрирован:
Пн, авг 29 2011, 09:54
Сообщения: 317
Откуда: Владивосток, Россия
Пол: Мужской
Здравствуйте!
Попробую угадать: это, скорее всего, 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, 10:50 
Ассистент
Ассистент

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

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

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


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

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


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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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


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


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

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

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


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

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


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

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


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

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