Руководство по рабочему процессу соединителя веб-служб для SOAP
В этой статье описывается, как создать проект для источника данных в средстве настройки веб-службы. Выполните следующие действия, чтобы создать проект.
Откройте средство настройки веб-службы. Откроется пустой проект.
Выберите Проект SOAP , а затем нажмите кнопку Добавить.
На следующей странице укажите следующие сведения, а затем нажмите кнопку Далее:
- Имя новой веб-службы
- Адрес (путь WSDL) для получения предоставляемых служб, конечных точек и операций
- Пространство имен
- Режим безопасности (тип проверки подлинности)
В этом примере показана страница Учетные данные с требованиями к режиму безопасности Базовый (режим, выбранный на предыдущем шаге). Если для режима безопасности задано значение None, страница Учетные данные не будет отображаться. Выберите Далее.
Для получения сведений о службе осуществляется доступ к пути WSDL, и отображается список предоставляемых функций. Если введен неправильный путь WSDL, средство настройки не сможет получить сведения о службе и выдает ошибку.
После выполнения обнаружения выводится список конечных точек и обнаруженных операций. Нажмите кнопку Завершить.
Выполняется компиляция. Компиляция — это процесс компиляции сборки контракта данных, которая может занять много времени. Пользователь будет проинформирован о любых ошибках компиляции. После выполнения обнаружения средство отображает следующую страницу:
Разверните проект SOAP и выберите доступную конечную точку, указанную ниже. На этом экране перечислены операции, объявленные в конечной точке.
При расширении конечной точки отображается список операций. Операция — это функция, объявленная конечной точкой. Каждая операция обращается к типу задачи, которую можно выполнить в службе. На этом экране перечислены аргументы, объявленные для операции. Затем эти аргументы определяются при использовании операции при настройке рабочих процессов.
Следующим шагом является определение схемы пространства соединителя, которая достигается путем создания типа объекта и определения их типов объектов. Выберите Типы объектов , а затем нажмите кнопку Добавить. В новом окне добавьте новый тип объекта и укажите имя. Щелкните ОК.
При добавлении типа объекта отображается ниже экрана.
Правая панель, соответствующая типу объекта, позволяет поддерживать атрибуты и их свойства для выбранного типа объекта. Выберите Добавить. Откроется новое окно для добавления атрибутов:
После добавления всех необходимых атрибутов появится следующий экран:
Тип объекта и атрибуты после создания предоставляют пустые рабочие процессы, обслуживающие операции, выполненные в Microsoft Identity Manager 2016 (MIM).
Настройка рабочих процессов в средстве настройки веб-службы
Следующим шагом является настройка рабочих процессов для типа объекта. Файлы рабочего процесса — это ряд действий, которые используются соединителем веб-служб во время выполнения. Рабочие процессы используются для реализации соответствующей операции MIM. Средство настройки веб-службы помогает создать четыре разных рабочих процесса:
Импорт. Импорт данных из источника данных для следующих двух типов рабочих процессов:
- Полный импорт: полный импорт, который можно настроить.
- Разностный импорт: не поддерживается средством настройки веб-службы.
Экспорт. Экспорт данных из MIM в подключенный источник данных. Для операции поддерживаются следующие три действия. Эти действия можно настроить в соответствии с вашими требованиями.
- Добавить
- Удалить
- Заменить
Пароль: управление паролями для пользователя (тип объекта). Для этой операции доступны два действия:
- Установка пароля
- Изменить пароль
Проверка подключения. Настройте рабочий процесс для проверка, если соединение с сервером источника данных успешно установлено.
Примечание
Вы можете настроить эти рабочие процессы для проекта или скачать проект по умолчанию из Центра загрузки Майкрософт.
Конструктор рабочих процессов
Designer рабочих процессов открывает рабочую область, чтобы настроить рабочий процесс согласно требованию. Для каждого типа объекта (новый /существующий) средство настройки предоставляет узлы для рабочих процессов, поддерживаемых средством.
Designer рабочего процесса состоит из следующих элементов пользовательского интерфейса:
Узлы в левой области. Они помогут вам выбрать рабочий процесс, который нужно спроектировать.
Центральный Designer рабочих процессов. Здесь можно удалить действия по настройке рабочих процессов. Для выполнения различных операций MIM (экспорт, импорт, управление паролями) можно использовать стандартные и настраиваемые действия рабочих процессов .NET Workflow Framework 4. Средство настройки веб-службы использует стандартные и настраиваемые действия рабочего процесса. Дополнительные сведения о стандартных действиях см. в разделе Использование конструкторов действий.
В Designer центрального рабочего процесса красный кружок с восклицательным знаком рядом с любым действием указывает на то, что операция удалена и определена неправильно и не полностью. Наведите указатель мыши на красный круг, чтобы узнать точную ошибку. После правильного определения действия красный круг изменится на желтую информационную метку.
В Designer центрального рабочего процесса значок желтого треугольника рядом с любым действием указывает на то, что действие определено, но для завершения действия можно сделать еще больше. Наведите указатель мыши на желтый треугольник, чтобы просмотреть дополнительные сведения.
Панель элементов: пакеты всех средств, включая системные и пользовательские действия, а также предопределенные инструкции для разработки рабочего процесса. См. дополнительные сведения о панели элементов.
Разделы панели элементов. Панель элементов содержит следующие разделы и категории:
Описание: заголовок панели элементов. Одна вкладка обращается к панели элементов и свойствам выбранного действия рабочего процесса.
Рабочий процесс импорта: настраиваемые действия для настройки рабочих процессов импорта.
Рабочий процесс экспорта: настраиваемые действия для настройки рабочих процессов экспорта.
Общие. Настраиваемые действия для настройки любого рабочего процесса.
Отладка: действия системного рабочего процесса для отладки, определенные в рабочем процессе 4. Эти действия позволяют отслеживать проблемы для рабочего процесса.
Инструкции: действия системного рабочего процесса, определенные в рабочем процессе 4. Дополнительные сведения см. в разделе Использование конструкторов действий.
Свойства. На вкладке свойства отображаются свойства определенного действия рабочего процесса, которое удаляется в области конструктора и выбирается. На рисунке слева показаны свойства действия Assign . Для каждого действия свойства различаются и используются при настройке пользовательского рабочего процесса. Эта вкладка позволяет определить атрибуты выбранного средства, который был удален в центральный конструктор рабочих процессов. Дополнительные сведения см. в разделе Свойства.
Панель задач: Панель задач включает три элемента: Переменные, Аргументы и Импорт. Эти элементы используются вместе с действиями рабочего процесса. Дополнительные сведения см. в статье Введение разработчика в Windows Workflow Foundation (WF) в .NET 4.
Настройка рабочего процесса полного импорта в средстве настройки веб-службы
Ниже показано, как настроить полные рабочие процессы импорта для SOAP с помощью средства настройки веб-службы.Предупреждение
В этом примере создается только рабочий процесс. Могут потребоваться изменения рабочего процесса, например для использования пользовательской логики в API.
Выберите рабочий процесс полный импорт для настройки. Аргументы и импорты уже определены и относятся к действиям. Дополнительные сведения см. на следующих экранах.
После перенастройки вызовов измените имена атрибутов, которые изменяются, добавьте или измените пространство имен на переменные, которые ссылаются на возвращаемую структуру API и типы объектов, ссылающиеся на старое пространство имен. Панель элементов в правой области содержит все настраиваемые действия, относящиеся к рабочему процессу, необходимые для настройки. Назначьте значения переменным, которые будут использоваться для логики. Перейдите в нижний раздел центрального конструктора рабочих процессов и объявите переменные. Переменные объявляются на следующем шаге.
Добавьте действие Sequence. Перетащите конструктор действий Sequence с панели элементов и переместите его в область Рабочий процесс Windows Designer. См. следующие экраны. Действие Sequence содержит упорядоченную коллекцию дочерних действий, которые оно выполняет по порядку.
Чтобы добавить переменную, найдите Создать переменную. Введите wsResponse в поле Имя, выберите раскрывающийся список Тип переменной , а затем выберите Обзор типов. Откроется диалоговое окно. Выберите созданный>ответпо умолчанию>. Не следует выбирать значения Область и По умолчанию . Кроме того, можно задать эти значения с помощью представления Свойства .
Теперь добавьте все остальные переменные, а ниже — окончательный экран.
Перетащите еще один конструктор действий Последовательности из панели элементов в уже добавленное действие Sequence.
Перетащите объект WebServiceCallActivity, представленный в разделе Общие. Это действие используется для вызова операции веб-службы, доступной после обнаружения. Это настраиваемое действие, которое часто встречается в разных сценариях операций.
Чтобы использовать операцию веб-службы, задайте следующие свойства:
Имя службы. Введите имя веб-службы.
Имя конечной точки. Укажите имя конечной точки для выбранной службы.
Имя операции. Укажите соответствующую операцию для службы.
Аргумент: выберите Аргументы. В следующем диалоговом окне назначьте значения аргументов, как показано на следующем рисунке:
Важно!
Не изменяйте имя, направление или тип аргумента с помощью этого диалогового окна. При изменении любого из этих значений действие становится недопустимым. Задайте только значение аргумента . Как показано на этом рисунке, задано значение wsResponse .
Добавьте действие ForEach сразу под элементом WebServiceCallActivity. Это действие используется для итерации по всем атрибутам (как привязкам, так и не привязкам) типа объекта. При перетаскивании этого действия в область рабочего процесса Designer автоматически перечисляются все имена атрибутов для объекта. Задайте обязательные значения в соответствии со следующим экраном:
Перетащите действие CreateCSEntryChangeScope в тело ForEach . Это действие используется для создания экземпляра объекта CSEntryChange в домене рабочего процесса для каждой соответствующей записи при извлечении данных из целевого источника данных. Перетаскивание этого действия приводится ниже экрана. Действия CreateAnchorAttribute наследуются автоматически.
Задайте для выражения
‘string.Concat ("Employee",item.EmployeeID)’
DN значение . Присвойте AnchorValue для EmployeeID значение Convert.tostring(item. EmployeeID)'. Задайте для параметра ObjectTypeName значениеEmployee. После внесения этих изменений вы увидите следующий экран:Примечание
Значения привязки и имена объектов зависят от предоставленной веб-службы. На рисунке показан пример.
Перетащите действие CreateAttributeChange под действием CreateAnchorAttribute . Число действий для перетаскивания равно количеству атрибутов, не являющихся привязками. Дополнительные сведения см. на следующем рисунке.
Перетащите CreateValueChangeActivity в действие CreateAttributeChange и задайте значение атрибута, как показано на экране ниже.
Примечание
Чтобы использовать это действие, выберите и назначьте соответствующие поля в раскрывающемся списке и назначьте значения. Для многозначных атрибутов удалите несколько действий CreateValueChangeActivity внутри действия CreateAttributeChangeActivity .
Чтобы добавить условия для атрибута, добавьте действие If , как показано на следующем рисунке:
Наконец, добавьте действие Assign и задайте выражение, как показано на следующем рисунке:
Сохраните этот проект в расположении
%FIM_INSTALL_FOLDER%\Synchronization Service\Extensions
.Проекты по умолчанию должны быть загружены и сохранены в расположении
%FIM_INSTALL_DIR\2010\Synchronization Service\Extensions
в целевой системе. Затем проекты отображаются в мастере соединителя веб-служб.При запуске исполняемого файла вам будет предложено указать расположение для установки. Введите расположение для сохранения.
Важно!
Файл проекта можно сохранить и открыть из любого расположения (с соответствующими привилегиями доступа его исполнителя). В мастере соединителя веб-службы, доступ к которому осуществляется через пользовательский интерфейс синхронизации MIM, можно выбрать только файлы проекта, сохраненные
Synchronization Service\Extension
в папке .Пользователю, запустившему средство настройки веб-службы, требуются следующие привилегии:
- Полный доступ к папке Расширения службы синхронизации.
- Доступ на чтение к разделу
HKLM\System\CurrentControlSet\Services\FIMSynchronizationService\Parameters
реестра, через который расположен путь к папке Extension.
Настройка рабочих процессов экспорта в средстве настройки веб-службы
В следующих разделах показано, как экспортировать рабочие процессы с помощью средства настройки веб-службы.
Добавление рабочих процессов
Добавьте рабочие процессы экспорта, выполнив следующие действия в средстве настройки веб-службы.Выберите рабочий процесс экспорта для настройки. В разделе Экспорт выберите Добавить. Аргументы и импорты уже определены и относятся к действиям. Дополнительные сведения см. на следующих экранах.
Добавьте действие Sequence . Перетащите конструктор действий Последовательности с панели элементов и переместите его в область Designer рабочих процессов Windows. Действие Sequence содержит упорядоченную коллекцию дочерних действий, которые оно выполняет по порядку. Выберите Создать переменную. Назначьте значения переменным, которые будут использоваться для логики.
Примечание
Действия по добавлению переменной описаны в разделе о создании рабочих процессов полного импорта.
Перетащите действие ForEach в уже добавленное действие Sequence , чтобы выполнить итерацию по значениям атрибутов привязки.
Выберите Свойства и задайте значения , как показано на экране ниже. Здесь objectToExport является аргументом.
Задайте displayName в качестве атрибута ForEach<AnchorAttribute>
Присвойте typeArgument значение
Microsoft.MetadirectoryServices.AnchorAttribute
.Добавьте действие Switch в тело ForEachэлемента AnchorAttribute.
Добавьте выражение, как показано на приведенном ниже экране.
Выберите Добавить новое дело и введите значение EmployeeId. Перетащите действие Sequence и добавьте в него действие Assign .
Назначьте свойства To и Value для действия Assign .
Действие ForEach используется для значений привязки. Добавьте еще одно действие ForEach для назначения значений, не являющихся привязками. В этом примере используется привязка AttributeChange .
Добавьте действие Switch в тело ForEach привязки AttributeChange .
Добавьте выражение, как показано на приведенном ниже экране.
Выберите Добавить новый вариант и введите значение для параметра FirstName. Перетащите действие Sequence и добавьте в него действие Assign . Назначьте свойства To и Value для действия Assign .
Добавьте значения для обязательных атрибутов, таких как LastName, Email и т. д.
В разделе Общие перетащите объект WebServiceCallActivity и задайте значения для его аргументов.
Важно!
Не изменяйте имя, направление или тип аргумента с помощью этого диалогового окна. При изменении любого из этих значений действие становится недопустимым. Задайте значение только для аргумента . Как показано на этом рисунке, задано значение wsResponse .
Наконец, добавьте действие If для проверка ответов, возвращаемых операцией веб-службы.
Создание рабочего процесса экспорта с помощью операции Добавления завершено:
Сохраните этот проект в расположении %FIM_INSTALL_FOLDER%\Synchronization Service\Extensions
.
Удаление рабочих процессов
Удалите рабочие процессы экспорта, выполнив следующие действия в средстве настройки веб-службы.
Выберите рабочий процесс экспорта для настройки. В разделе Экспорт выберите Удалить. Аргументы и импорты уже определены и относятся к действиям. Дополнительные сведения см. на следующих экранах.
Добавьте действие Sequence . Выберите Создать переменную. Назначьте значения переменным, которые будут использоваться для логики.
Примечание
Действия по добавлению переменной описаны в разделе о создании рабочих процессов полного импорта.
Перетащите действие ForEach в уже добавленное действие Sequence , чтобы выполнить итерацию по значениям атрибутов привязки.
Выберите Свойства и задайте экран Значения ниже. Здесь objectToExport является аргументом.
Задайте для displayName значение
ForEach\<AnchorAttribute\>
:Задайте для параметра TypeArgument значение
Microsoft.MetadirectoryServices.AnchorAttribute
:Добавьте действие Switch в тело ForEachэлемента AnchorAttribute.
Добавьте выражение, как показано на приведенном ниже экране.
Выберите Добавить новое дело и введите значение EmployeeId. Перетащите действие Sequence и добавьте в него действие Assign .
Назначьте свойства To и Value для действия Assign .
В разделе Общие перетащите объект WebServiceCallActivity и задайте значения для его аргументов.
Важно!
Не изменяйте имя, направление или тип аргумента с помощью этого диалогового окна. При изменении любого из этих значений действие становится недопустимым. Задайте значение только для аргумента . Как показано на этом рисунке, задано значение employeeID .
Наконец, добавьте действие If для проверка ответов, возвращенных операцией веб-службы.
Удаление рабочего процесса экспорта с помощью операции Удаления завершено:
Сохраните этот проект в расположении %FIM_INSTALL_FOLDER%\Synchronization Service\Extensions
.
Замена рабочих процессов
Замените рабочие процессы экспорта, выполнив следующие действия в средстве настройки веб-службы.
Выберите рабочий процесс экспорта для настройки. В разделе Экспорт выберите Заменить. Аргументы и импорты уже определены и относятся к действиям. Дополнительные сведения см. на приведенном ниже экране.
Добавьте действие Sequence .
Перетащите действие ForEach в <поле AnchorAttribute>.
Добавьте еще одно действие ForEach<AttributeChange> , чтобы назначить значения, не являющиеся привязками.
Наконец, экран выглядит, как на следующем рисунке. Инструкции по настройке этого действия приведены в разделе о добавлении рабочих процессов экспорта.
В разделе Общие перетащите объект WebServiceCallActivity и задайте значения для его аргументов.
Важно!
Не изменяйте имя, направление или тип аргумента с помощью этого диалогового окна. При изменении любого из этих значений действие становится недопустимым. Задайте значение только для аргумента . Как показано на этом рисунке, задано значение employee .
Наконец, добавьте действие If, чтобы проверка ответы, возвращаемые операцией веб-службы.
Замена рабочего процесса экспорта операцией Замены завершена:
Сохраните этот проект в расположении %FIM_INSTALL_FOLDER%\Synchronization Service\Extensions
.
Действия отладки
Для отладки шаблона рабочего процесса доступны следующие настраиваемые действия.
Действие журнала
Действие Log используется для записи текстовых сообщений в файл журнала. Дополнительные сведения: Ведение журналов.
Примечание
Если вы не можете легко выполнить отладку рабочего процесса, попробуйте выполнить отладку рабочего процесса в рабочей среде.
Чтобы использовать действие Log , задайте следующие свойства. Свойства отображаются при выборе действия в Designer рабочего процесса и просмотре свойств действия.
Действие WriteLine
Действие WriteLine используется для записи текстовых сообщений в модуль записи поставщика. Если модуль записи недоступен, действие WriteLine записывает текст в окно консоли.
В текстовом поле напишите сообщение, которое должно отображаться в целевом объекте записи.
Важно!
Окно консоли нельзя использовать для этого действия. Для этой задачи используйте другой модуль записи выходных данных окна.
Чтобы использовать действие WriteLine , задайте следующие свойства. Свойства отображаются при выборе действия в Designer рабочего процесса и просмотре свойств действия.
Уровень журнала: указывает объем содержимого для записи в значение журнала. Вы можете выбрать
- Высокий: запишите сообщение LogText в файл журнала, если серьезность журнала имеет значение Высокий.
- Подробно: запишите сообщение LogText в файл журнала, если для серьезности журнала задано значение Verbose.
- Отключено: не записывайте в файл журнала.
LogText: указывает текстовое содержимое для записи в журнал.
Тег. Добавляет тег в текст, чтобы определить тип содержимого, записываемого в журнал. Возможные значения: Error, Trace или Warning.