Расширенная настройка > Выполнение сервисов Info*Engine с использованием ODataConnector
  
Выполнение сервисов Info*Engine с использованием ODataConnector
ThingWorx Navigate теперь поддерживает соединитель OData для выполнения заданий Info*Engine. Если пользовательские задания используют задания Info*Engine, используйте соединитель OData для вызова этих заданий Info*Engine.
Соединитель OData поддерживает следующие выпуски Windchill:
11.1 M010 или более поздней версии
11.1 F000 CPS03 или более поздней версии
11.0 M030 CPS09 или более поздней версии
* 
В будущих выпусках ThingWorx Navigate соединители Windchill, ptc-windchill-connector и ptc-windchill-swagger-connector больше не будут поддерживаться. Для органичного перехода на выпуск, который не поддерживает старые соединители Windchill, выполните сейчас задания Info*Engine с ptc-windchill-OData-connector, используя шаги этого раздела.
Чтобы использовать соединитель OData для выполнения задания Info*Engine, сначала настройте ptc-windchill-OData-connector на соединение с сервисами REST Windchill домена Info*Engine. После этого сервисы Windchill REST можно использовать для выполнения заданий Info*Engine.
* 
Убедитесь, что интерфейс пользователя Новый Composer используется в ThingWorx для конфигурирования соединителя OData и выполнения заданий Info*Engine.
Необходимо настроить модуль Integration Runtime. Дополнительные сведения см. в разделе Настройка модуля Integration Runtime.
1. В ThingWorx Composer выполните ptc-windchill-OData-connector, а затем откройте его. Откроется страница Общая информация.
2. Щелкните Конфигурация. Откроется страница Конфигурация.
Конфигурация зависит от используемого метода аутентификации: единая точка входа, аутентификация Windchill или фиксированная аутентификация.
Единая точка входа
Если единая точка входа у вас уже сконфигурирована, выполните следующие шаги.
1. В разделе Общие настройки соединения соединителя в поле Тип аутентификации выберите SSO.
2. В разделе Идентификатор сервера авторизации введите значение AuthorizationServerSettingsID, которое вы указали в файле sso-settings.json, например PingFed1.
3. В разделе Настройки контекстных областей сервера авторизации щелкните Добавить. Откроется окно AuthorizationServerScopesSettings.
4. В разделе Контекстная область введите область Windchill, которую вы зарегистрировали в PingFederate, например WINDCHILL_READ.
5. Щелкните Добавить.
6. В разделе Настройки CSRF введите следующую информацию:
Относительный URL-адрес для запроса получения CSRF - servlet/odata
Наименование лексемы CSRF - CSRF_NONCE
7. В разделе Настройки подключения соединителей OData щелкните Добавить. Откроется окно Настройки подключения соединителей OData.
8. В разделе URL-адрес сервиса относительно корня введите IE и щелкните Добавить. Если URL-адрес сервиса относительно корня уже добавлен, перейдите к шагу 9.
9. В разделе Настройки HTTP-подключения соединителей введите следующую информацию:
Основной URL-адрес - URL-адрес Windchill. URL-адрес должен заканчиваться на /oauth/. Используйте следующий формат:
[https]://[Windchill Host]:[port]/[Windchill-web-app]/oauth/
Этот формат определяет, что соединение использует стандарт OAuth и включает запросы данных в поставщике ресурсов.
Относительный URL-адрес - servlet/odata
Вводить имя пользователя и пароль не нужно.
10. Щелкните Сохранить. Теперь соединитель OData сконфигурирован для работы в среде единой точки входа.
Теперь перейдите в раздел "Выполнение заданий Info*Engine".
Аутентификация Windchill
Выполните следующие шаги, если сконфигурирована аутентификация Windchill.
1. В разделе Общие настройки соединения соединителя в поле Тип аутентификации выберите None.
2. В разделе Настройки CSRF введите следующую информацию:
Относительный URL-адрес для запроса получения CSRF - servlet/odata
Наименование лексемы CSRF - CSRF_NONCE
3. В разделе Настройки подключения соединителей OData щелкните Добавить. Откроется окно Настройки подключения соединителей OData.
4. В разделе URL-адрес сервиса относительно корня введите следующее значение:
tw.friendly-name.ServiceRootReletive
Перейдите к шагу 6, если URL-адрес сервиса относительно корня уже добавлен.
5. Щелкните Добавить.
6. В разделе Настройки HTTP-подключения соединителей введите следующую информацию:
Основной URL-адрес - адрес сервера Windchill, получающего запрос Info*Engine от ODataConnector. Используйте следующий формат:
[https]://[Windchill Host]:[port]/[Windchill-web-app]/sslClientAuth
Относительный URL-адрес - servlet/odata
URL-адрес соединения - /servlet/WindchillGW/wt.httpgw.HTTPServer/ping
Вводить имя пользователя и пароль не нужно.
7. Щелкните Сохранить.
8. Щелкните Сервисы.
9. Щелкните GetCustomerHeaderParameters.
10. Щелкните Править.
11. Скопируйте и вставьте этот сценарий во входные данные:

var sessionQueryParam = "wt.effectiveUid";
var Language = Resources["CurrentSessionInfo"].GetCurrentUserLanguage();
var params = {
infoTableName : "InfoTable",
dataShapeName : "NavigateCustomHeadersDataShape"
};
var result = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape(params);
var CurrentUser = Resources["CurrentSessionInfo"].GetCurrentUser();
params = {
tableName: "GenericConnectorConnectionSettings" /* STRING */
};
var configTable = me.GetConfigurationTable(params);
var row = configTable.getRow(0);
var authType = row.getStringValue("AuthenticationType");
if("None".equals(authType)) {
var camelHttpQuery = sessionQueryParam + "=" + CurrentUser;
row = {"Accept-Language" : Language, "CamelHttpQuery": camelHttpQuery };
} else {
row = {"Accept-Language" : Language };
}
result.AddRow(row);
12. Щелкните Сохранить и продолжить, а затем щелкните Готово.
13. Щелкните Сохранить.
Теперь перейдите в раздел "Выполнение заданий Info*Engine".
Фиксированная аутентификация
Если сконфигурирована фиксированная аутентификация, выполните следующие шаги для конфигурирования соединителя OData.
1. В разделе Общие настройки соединения соединителя в поле Тип аутентификации выберите Fixed.
2. В разделе Настройки CSRF введите следующую информацию:
Относительный URL-адрес для запроса получения CSRF - servlet/odata
Наименование лексемы CSRF - CSRF_NONCE
3. В разделе Настройки подключения соединителей OData щелкните Добавить. Откроется окно Настройки подключения соединителей OData.
4. В разделе URL-адрес сервиса относительно корня введите IE и щелкните Добавить. Если URL-адрес сервиса относительно корня уже добавлен, перейдите к шагу 5.
5. В разделе Настройки HTTP-подключения соединителей введите следующую информацию:
Имя пользователя - имя пользователя администратораWindchill
Пароль - пароль администратора Windchill
Основной URL-адрес - адрес сервера Windchill, получающего запрос Info*Engine от ODataConnector. Используйте следующий формат:
[https]://[Windchill Host]:[port]/[Windchill-web-app]
Относительный URL-адрес - servlet/odata
6. Щелкните Сохранить. Теперь соединитель OData сконфигурирован для работы в среде фиксированной аутентификации.
Перейдите в раздел "Выполнение заданий Info*Engine".
Выполнение заданий Info*Engine
Теперь выполните задания Info*Engine с сервисом:
1. Щелкните Сервисы. Откроется страница Конфигурация.
2. Для RefreshEndpointCache щелкните . Откроется окно Выполнить службу.
3. Щелкните Выполнить. Необходимо получить сообщение: Успешно. Сервис успешно выполнен.
4. Нажмите кнопку Готово.
5. Для InvokeIETask щелкните .
6. В окне Входные данные добавьте следующую информацию в формате JSON:
Task - XML-файл для задания Info*Engine. Файл расположен здесь: <Установка Windchill><Главная страница Windchill>//tasks/.
* 
Убедитесь, что задание включено для выполнения. Чтобы сделать это, проверьте, что следующее замечание появляется в заголовке XML-файла:
<%@page language="java" access="http"%>
Params - (необязательно) массив JSON, который содержит пары наименование-значение для передачи в задание Info*Engine в качестве параметра.
Пример:
{
"Task": "wt/federation/delegates/windchill/QueryObjects.xml",
"Params": [
{ "Name": "type", "Value": "wt.part.WTPart" },
{ "Name": "where", "Value": "name=SOME_PART_NAME" }
]
}
7. Щелкните Выполнить, чтобы запустить задание Info*Engine. Выходные данные сервиса представлены в формате JSON и содержат следующие свойства.
@odata.context - URL-адрес контекста для информационного наполнения.
Value - массив JSON, содержащий объекты JSON, имеющие свойства Groupname и Element.
8. Чтобы выполнить другое задание Info*Engine, повторите шаги с 1-го по 7-й.
* 
Конечные точки соединителя OData могут не работать в ThingWorx Navigate так, как ожидается, и в результате вам, возможно, потребуется внести изменения. Дополнительные сведения и инструкции по конфигурированию сервисов OData для данных Windchill см. в документе Windchill REST Services User’s Guide (Руководство пользователя сервисов REST Windchill) (на английском языке).