Настройка Windchill Navigate > Создание пользовательских заданий > Конфигурирование соединителя OData
Конфигурирование соединителя OData
Windchill Navigate поддерживает использование соединителя OData с сервисами Windchill REST для доступа к данным пользовательского задания.
* 
Соединитель WindchillConnector (ptc-windchill-demo-thing) удален, начиная с Windchill Navigate9.2. Если необходимо, обновите пользовательские задания, чтобы использовать соединитель OData.
Необходимые условия:
Перед использованием соединителя OData необходимо сконфигурировать ThingWorx Integration Runtime. В общем случае ThingWorx Integration Runtime конфигурируется средством установки Windchill Navigate как часть процесса установки.
Создание соединителя
Для настройки соединителя OData доступны две опции: можно либо создать новый экземпляр соединителя, либо использовать стандартный соединитель ptc-windchill-OData-connector. Выберите оптимальную опцию для вашего варианта использования.
Для пользовательских заданий, использующих задания Info*Engine, рекомендуется использовать стандартный вариант ptc-windchill-OData-connector. Это связано с тем, что сервисы Info*Engine уже доступны для стандартного соединителя.
Чтобы создать новый экземпляр соединителя OData, выполните следующие действия.
1. В ThingWorx Composer выберите Моделирование > Соединители интеграции, а затем щелкните Создать.
2. В окне Выбрать шаблон выберите ODataConnector Thing Template и нажмите кнопку ОК.
3. Введите наименование и проект для соединителя.
Теперь вы готовы конфигурировать соединитель.
Конфигурирование соединителя
1. В компоновщике откройте созданный соединитель или выполните поиск соединителя ptc-windchill-OData-connector и откройте его. Откроется страница Общая информация.
2. Нажмите вкладку Конфигурация. Откроется страница Конфигурация.
Конфигурация зависит от используемого метода аутентификации: единая точка входа, аутентификация Windchill или фиксированная аутентификация.
Единая точка входа 
Если единая точка входа у вас уже сконфигурирована, выполните следующие шаги.
1. В разделе Настройки соединения общего соединителя в поле Тип аутентификации выберите OAuth (Пользователь в сессии).
2. В разделе ИД сервера авторизации введите значение AuthorizationServerSettingsID, которое вы указали в файле sso-settings.json, например PingFed1.
3. В разделе Настройки контекстных областей сервера авторизации щелкните Добавить. Откроется окно AuthorizationServerScopesSettings.
4. В разделе Контекстная область введите область Windchill, которую вы зарегистрировали в PingFederate, например WINDCHILL.
5. Щелкните Добавить.
6. В разделе Настройки CSRF введите следующую информацию:
Относительный URL-адрес для запроса получения CSRF - /servlet/odata
Наименование лексемы CSRF - CSRF_NONCE
7. В разделе Настройки соединения HTTP-соединителя введите следующую информацию:
Базовый URL-адрес - URL-адрес Windchill. URL-адрес должен заканчиваться на /oauth. Используйте следующий формат:
[https]://[Windchill Host]:[port]/[Windchill-web-app]/oauth
Этот формат определяет, что соединение использует стандарт OAuth и включает запросы данных в поставщике ресурсов.
Относительный URL-адрес - /servlet/odata
Вводить имя пользователя и пароль не нужно.
8. Щелкните Сохранить. Теперь соединитель OData сконфигурирован для работы в среде единой точки входа.
Аутентификация Windchill 
Выполните следующие шаги, если сконфигурирована аутентификация Windchill.
1. В разделе Настройки соединения общего соединителя в поле Тип аутентификации выберите None.
2. В разделе Настройки CSRF введите следующую информацию:
Относительный URL-адрес для запроса получения CSRF - /servlet/odata
Наименование лексемы CSRF - CSRF_NONCE
3. В разделе Настройки соединения HTTP-соединителя введите следующую информацию:
Базовый URL-адрес - адрес сервера Windchill, получающего запрос Info*Engine от ODataConnector. Используйте следующий формат:
[https]://[Windchill Host]:[port]/[Windchill-web-app]/sslClientAuth
Относительный URL-адрес - /servlet/odata
URL-адрес соединения - /servlet/WindchillGW/wt.httpgw.HTTPServer/ping
Вводить имя пользователя и пароль не нужно.
4. Щелкните Сохранить.
Если вы используете стандартный соединитель ptc-windchill-OData-connector, он теперь сконфигурирован для работы в среде аутентификации Windchill.
При создании нового экземпляра соединителя OData выполните следующие дополнительные шаги.
1. Нажмите вкладку Сервисы. Откроется страница Сервисы.
2. Найдите сервис GetCustomHeaderParameters и щелкните Переопределить для переопределения сервиса.
3. Вставьте следующий код в этот сервис:
/*Get Current User Language*/
var Language = Resources["CurrentSessionInfo"].GetCurrentUserLanguage();
/*If it is undefined or "Default" use "en-US"*/
if (Language === undefined || Language === null || Language.length <= 0) {
Language = "en-US";
} else if (Language.indexOf("Default") !== -1) {
Language = Language.replace("Default", "en-US");
}
var params = {
infoTableName: "InfoTable",
dataShapeName: "PTC.WCODataCustomHeaderDataShape"
};
var result = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(params);
params = {
tableName: "GenericConnectorConnectionSettings" /* STRING */
};
var configTable = me.GetConfigurationTable(params);
var row = configTable.getRow(0);
var authType = row.getStringValue("AuthenticationType");
if ("None".equals(authType)) {
/*This is a case for Windchill as IDP connectivity type*/
var CurrentUser = Resources["CurrentSessionInfo"].GetCurrentUser();
/*Add authorization header having Base64 Encoded value of "username:emptypassword" */
var baseEncodedStr = base64EncodeString (CurrentUser + ':');
var authHeaderValue = "Basic " + baseEncodedStr;
row = {
"Accept-Language": Language,
"Authorization": authHeaderValue,
"Content-Type": "application/json",
"Prefer": "odata.maxpagesize=2000"
};
} else {
row = {
"Accept-Language": Language,
"Content-Type": "application/json",
"Prefer": "odata.maxpagesize=2000"
};
}
result.AddRow(row);
4. Сохранить и продолжить, чтобы сохранить службу. Затем нажмите Готово.
5. Нажмите кнопку Сохранить, чтобы сохранить соединитель. Теперь соединитель OData сконфигурирован для работы в среде аутентификации Windchill.
Фиксированная аутентификация 
Если сконфигурирована фиксированная аутентификация, выполните следующие шаги.
1. В разделе Настройки соединения общего соединителя в поле Тип аутентификации выберите Fixed.
2. В разделе Настройки CSRF введите следующую информацию:
Относительный URL-адрес для запроса получения CSRF - /servlet/odata
Наименование лексемы CSRF - CSRF_NONCE
3. В разделе Настройки соединения HTTP-соединителя введите следующую информацию:
Имя пользователя - имя пользователя для администратора Windchill
Пароль - пароль администратора Windchill
Базовый URL-адрес - адрес сервера Windchill, получающего запрос Info*Engine от ODataConnector. Используйте следующий формат:
[https]://[Windchill Host]:[port]/[Windchill-web-app]
Относительный URL-адрес - /servlet/odata
4. Щелкните Сохранить. Теперь соединитель OData сконфигурирован для работы в среде фиксированной аутентификации.
Предоставление доступа к сервисам в соединителе
После конфигурирования соединителя следующие шаги зависят от пользовательских заданий:
Для пользовательских заданий, которые не используют задания Info*Engine, предоставьте доступ к нужным сервисам в соединителе. Дополнительные сведения о предоставлении доступа к сервисам см. в разделах Предоставление доступа к сервисам в соединителях интеграции и Создание новой карты API для сервиса справочного центра .
Для пользовательских заданий, использующих задания Info*Engine, перейдите к разделу Выполнение сервисов Info*Engine с соединителем OData.
Было ли это полезно?