№11. Mapping преобразования

Тема: Преобразование сообщений при помощи Mapping узла

Время на выполнение: 60 минут

 

Задание

Выполнить преобразование из Лабораторной работы №9 при помощи ноды «Mapping»

Выполнение

Создайте две очереди:

  • 11.IN
  • 11.OUT

image002

Создайте новое приложение LAB.11 :
image003

Свяжите проект с библиотекой:
image004

image005

Создайте новый поток
image006

image007

image008

Перетащите в рабочую область следующие ноды:
image009

image010

image011

Переименуйте и соедините ноды, как показано ниже на рисунке:
image012

Установите свойства нод:

LAB.11.IN
image013

image014

LAB.11.OUT
image015

Сохраните поток

Двойным кликом по ноде Mapping создайте карту преобразований:
image016

Нажмите Next

В следующем окне выберите схему для входящего и исходящего сообщений:
image017

Далее:
image018

Нажмите Finish.

Карта преобразований:
image019

Разверните графическое представление сообщения:
image020

При помощи мышки соедините элементы UNID слева и id справа
image021

image022

Аналогичным образом соедините элементы Name и LastName, как показано ниже на рисунке:
image023

В связи элементов нажмите маленький треугольник:
image024

В списке выберите следующую функцию:

fn:substring-before
image025

Результат:
image026

В свойствах преобразования установите разделитель:
image027

Соедините поля Name и FirstName
image028

Измените функцию преобразования:

 
image029

image030

В свойствах ноды установите:
image031

Соедените поля DOB. Обратите внимание, что типы данных у полей не совпадают:
image032

Такое преобразование будет работать, но лучше привести “строку” к типу “дата”. Для этого измените преобразование на Convert:
image033

image034

Соедените поля Passport и Passport\Number:
image035
Из контекстного меню поля Passport\Date выберете пункт Create Assign
image036

image037

Измените преобразование Assign на fn:current-date
image038

Результат:
image039

Сохраните приложение.

Запустите тестирование потока (аналогично предыдущим лабораторным работам):
image040

Сообщение после преобразования:
image041

<io:Client xmlns:io="http://sharavara.com" id="123">
                <LastName>Иванов</LastName>
                <FirstName>Иван</FirstName>
                <DOB>1981-11-13</DOB>
                <Passport>
                               <Number>АА737895</Number>
                               <Date>2014-04-03</Date>
                </Passport>
</io:Client>

Comments are closed.