Personalização avançada > Executando serviços do Info*Engine com ODataConnector
  
Executando serviços do Info*Engine com ODataConnector
O ThingWorx Navigate agora tem suporte para o conector OData executar tarefas do Info*Engine. Se as tarefas personalizadas usam tarefas do Info*Engine, use o conector OData para chamar as tarefas do Info*Engine.
O conector OData tem suporte para estas liberações do Windchill:
11.1 M010 ou posterior
11.1 F000 CPS03 ou posterior
11.0 M030 CPS09 ou posterior
* 
Nas próximas liberações do ThingWorx Navigate, o suporte para os conectores do Windchill, ptc-windchill-connector e ptc-windchill-swagger-connector, será desabilitado. A fim de fazer uma transição suave para uma liberação que não tem suporte para os conectores antigos do Windchill, execute suas tarefas do Info*Engine com o ptc-windchill-OData-connector agora, seguindo os passos deste tópico.
A fim de usar o conector OData para executar tarefas do Info*Engine, primeiramente, configure o ptc-windchill-OData-connector para conexão aos serviços REST do Windchill no domínio do Info*Engine. Em seguida, é possível usar serviços REST do Windchill para executar tarefas do Info*Engine.
* 
Certifique-se de usar a interface de usuário do New Composer no ThingWorx para configurar o conector OData e executar tarefas do Info*Engine.
É necessário configurar o Integration Runtime. Para obter mais informações, veja Configure o Integration Runtime.
1. No ThingWorx Composer, faça uma busca por ptc-windchill-OData-connector e abra-o. A página General Information é aberta.
2. Clique em Configuration. A página Configuration é aberta.
A configuração depende do método de autenticação: logon único, autenticação do Windchill ou autenticação fixa.
Logon único
Se o logon único estiver configurado, siga estes passos:
1. Em Generic Connector Connection Settings, para Authentication Type, selecione SSO.
2. Em Authorization Server ID, insira o valor AuthorizationServerSettingsID fornecido em sso-settings.json, por exemplo, PingFed1.
3. Em Authorization Server Scopes Setting, clique em Add. A janela AuthorizationServerScopesSettings é aberta.
4. Em Scope, insira o escopo do Windchill registrado no PingFederate, como WINDCHILL_READ.
5. Clique em Add.
6. Em CSRF Settings, insira estas informações:
Relative URL For CSRF Get Requestservlet/odata
CSRF Token NameCSRF_NONCE
7. Em OData Connector Connection Settings, clique em Add. A janela ODataConnectorConnectionSettings é aberta.
8. Em Service Root Relative URL, insira IE e, em seguida, clique em Add. Vá direto para o passo 9 se você já tiver adicionado o URL relativo raiz de serviço.
9. Em HTTP Connector Connection Settings, insira estas informações:
Base URL — O URL do Windchill. O URL deve terminar com /oauth/. Use este formato:
[https]://[Windchill Host]:[port]/[Windchill-web-app]/oauth/
Esse formato especifica que a conexão usa o padrão OAuth e habilita solicitações de dados no provedor de recursos.
Relative URLservlet/odata
Não é necessário inserir o nome do usuário e senha.
10. Clique em Save. O conector OData agora está configurado para funcionar em seu ambiente de logon único.
Agora, vá direto para a seção “Executando tarefas do Info*Engine”.
Autenticação do Windchill
Se a autenticação do Windchill estiver configurada, siga estes passos:
1. Em Generic Connector Connection Settings, para Authentication Type, selecione None.
2. Em CSRF Settings, insira estas informações:
Relative URL For CSRF Get Requestservlet/odata
CSRF Token NameCSRF_NONCE
3. Em OData Connector Connection Settings, clique em Add. A janela ODataConnectorConnectionSettings é aberta.
4. Em Service Root Relative URL, insira este valor:
tw.friendly-name.ServiceRootReletive
Vá direto para o passo 6 se você já tiver adicionado o Service Root Relative URL.
5. Clique em Add.
6. Em HTTP Connector Connection Settings, insira estas informações:
Base URL — O servidor Windchill que recebe a solicitação do Info*Engine do ODataConnector. Use este formato:
[https]://[Windchill Host]:[port]/[Windchill-web-app]/sslClientAuth
Relative URLservlet/odata
Connection URL/servlet/WindchillGW/wt.httpgw.HTTPServer/ping
Não é necessário inserir nome do usuário e senha.
7. Clique em Save.
8. Clique em Services.
9. Clique em GetCustomerHeaderParameters.
10. Clique em Edit.
11. Copie e cole este script na entrada:

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. Clique em Save and Continue e, em seguida, clique em Done.
13. Clique em Save.
Agora, vá direto para a seção “Executando tarefas do Info*Engine”.
Autenticação fixa
Se a autenticação fixa estiver configurada, siga os passos para configurar o conector OData:
1. Em Generic Connector Connection Settings, para Authentication Type, selecione Fixed.
2. Em CSRF Settings, insira estas informações:
Relative URL For CSRF Get Requestservlet/odata
CSRF Token NameCSRF_NONCE
3. Em OData Connector Connection Settings, clique em Add. A janela ODataConnectorConnectionSettings é aberta.
4. Em Service Root Relative URL, insira IE e, em seguida, clique em Add. Vá direto para o passo 5 se você já tiver adicionado o URL relativo raiz de serviço.
5. Em HTTP Connector Connection Settings, insira estas informações:
User name — O nome do usuário administrador do Windchill
Password — A senha do administrador do Windchill
Base URL — O servidor Windchill que recebe a solicitação do Info*Engine do ODataConnector. Use este formato:
[https]://[Windchill Host]:[port]/[Windchill-web-app]
Relative URLservlet/odata
6. Clique em Save. O conector OData agora está configurado para funcionar em seu ambiente de autenticação fixa.
Continue com a seção “Executando tarefas do Info*Engine”.
Executando tarefas do Info*Engine
Agora, execute as tarefas do Info*Engine com o serviço:
1. Clique em Services. A página Services é aberta.
2. Para RefreshEndpointCache, clique em . A janela Execute Service é aberta.
3. Clique em Execute. Você receberá a mensagem: Success. O serviço foi executado com êxito.
4. Clique em Done.
5. Para InvokeIETask, clique em .
6. Na janela Input, adicione as informações a seguir no formato JSON:
Task — O arquivo XML da tarefa do Info*Engine. O arquivo está localizado aqui: <Instalação do Windchill>/<Windchill_Home>/tasks/.
* 
Certifique-se de habilitar a tarefa para execução. Para isto, verifique se a marcação a seguir aparece no topo do arquivo XML:
<%@page language="java" access="http"%>
Params — (Opcional) Uma matriz JSON que contém pares de nome-valor a serem passados como parâmetro para a tarefa do Info*Engine.
Exemplo:
{
"Task": "wt/federation/delegates/windchill/QueryObjects.xml",
"Params": [
{ "Name": "type", "Value": "wt.part.WTPart" },
{ "Name": "where", "Value": "name=SOME_PART_NAME" }
]
}
7. Clique em Execute para iniciar a tarefa do Info*Engine. A saída do serviço está no formato JSON e contém as propriedades a seguir:
@odata.context — O URL de contexto para payload.
Value — Uma matriz JSON que contém objetos JSON com propriedades Groupname e Element.
8. Para executar outra tarefa do Info*Engine, repita os passos de 1 a 7.
* 
Os pontos finais do conector OData podem não funcionar como previsto no ThingWorx Navigate e, como resultado, você precisará fazer mudanças. Para obter detalhes e instruções sobre a configuração de serviços do OData em dados do Windchill, veja Windchill REST Services User’s Guide.