Personalizzazione avanzata > Esecuzione dei servizi Info*Engine con ODataConnector
  
Esecuzione dei servizi Info*Engine con ODataConnector
ThingWorx Navigate ora supporta il connettore OData per l'esecuzione dei task Info*Engine. Se i task personalizzati utilizzano i task Info*Engine, utilizzare il connettore OData per chiamare questi task.
Il connettore OData supporta le seguenti release di Windchill:
11.1 M010 o versione successiva
11.1 F000 CPS03 o versione successiva
11.0 M030 CPS09 o versione successiva
* 
Nelle prossime release di ThingWorx Navigate, i connettori Windchill, ptc-windchill-connector e ptc-windchill-swagger-connector non saranno più supportati. Per facilitare la transizione a una release che non dispone del supporto per i connettori Windchill precedenti, eseguire ora i task Info*Engine con ptc-windchill-OData-connector, attenendosi ai passi descritti in questo argomento.
Per utilizzare il connettore OData per eseguire i task Info*Engine, è necessario prima configurare ptc-windchill-OData-connector per la connessione ai servizi REST di Windchill del dominio Info*Engine. Quindi è possibile utilizzare i servizi REST di Windchill per eseguire i task Info*Engine.
* 
Assicurarsi di utilizzare l'interfaccia utente Nuovo Composer in ThingWorx per configurare il connettore OData ed eseguire i task Info*Engine.
È necessario configurare Integration Runtime. Per ulteriori informazioni, vedere Installare Integration Runtime.
1. In ThingWorx Composer, cercare ptc-windchill-OData-connector e aprirlo. Viene visualizzata la pagina Informazioni generali.
2. Fare clic su Configurazione. Viene visualizzata la pagina Configurazione.
La configurazione dipende dal metodo di autenticazione: Single Sign-On, Windchill o fissa.
Autenticazione Single Sign-On
Se è stata configurata l'autenticazione Single Sign-On, attenersi alla procedura riportata di seguito.
1. In Impostazioni connessione connettore generico, alla voce Tipo di autenticazione, selezionare SSO.
2. In ID server di autenticazione immettere il valore AuthorizationServerSettingsID specificato in sso-settings.json, ad esempio PingFed1.
3. In Impostazioni ambiti server di autenticazione, fare clic su Aggiungi. Viene visualizzata la finestra AuthorizationServerScopesSettings.
4. In Ambito immettere l'ambito Windchill registrato in PingFederate, ad esempio WINDCHILL_READ.
5. Fare clic su Aggiungi.
6. In Impostazioni CSRF, immettere le seguenti informazioni:
URL relativo per richiesta Get CSRF - servlet/odata
Nome token CSRF - CSRF_NONCE
7. In Impostazioni connessione connettore OData, fare clic su Aggiungi. Viene visualizzata la finestra ODataConnectorConnectionSettings.
8. In URL relativo alla radice del servizio, immettere IE, quindi fare clic su Aggiungi. Procedere al passo 9 se l'URL relativo alla radice del servizio è già stato aggiunto.
9. In Impostazioni connessione connettore HTTP immettere le informazioni riportate di seguito.
URL base - L'URL Windchill. L'URL deve terminare con /oauth/. Utilizzare il seguente formato:
[https]://[Windchill Host]:[port]/[Windchill-web-app]/oauth/
Questo formato specifica che la connessione utilizza lo standard OAuth e attiva le richieste di dati nel provider di risorse.
URL relativo - servlet/odata
Non è necessario immettere il nome utente e la password.
10. Fare clic su Salva. Il connettore OData è ora configurato per l'utilizzo nell'ambiente di autenticazione Single Sign-On.
A questo punto, passare alla sezione "Esecuzione dei task Info*Engine".
Autenticazione Windchill
Se è stata configurata l'autenticazione Windchill, attenersi alla procedura riportata di seguito.
1. In Impostazioni connessione connettore generico, alla voce Tipo di autenticazione, selezionare None.
2. In Impostazioni CSRF, immettere le seguenti informazioni:
URL relativo per richiesta Get CSRF - servlet/odata
Nome token CSRF - CSRF_NONCE
3. In Impostazioni connessione connettore OData, fare clic su Aggiungi. Viene visualizzata la finestra ODataConnectorConnectionSettings.
4. In URL relativo alla radice del servizio, immettere il seguente valore:
tw.friendly-name.ServiceRootReletive
Procedere al passo 6 se l'URL relativo alla radice del servizio è già stato aggiunto.
5. Fare clic su Aggiungi.
6. In Impostazioni connessione connettore HTTP immettere le informazioni riportate di seguito.
URL base - Il server Windchill che riceve la richiesta Info*Engine da ODataConnector. Utilizzare il seguente formato:
[https]://[Windchill Host]:[port]/[Windchill-web-app]/sslClientAuth
URL relativo - servlet/odata
URL connessione - /servlet/WindchillGW/wt.httpgw.HTTPServer/ping
Non è necessario immettere un nome utente e una password.
7. Fare clic su Salva.
8. Fare clic su Servizi.
9. Fare clic su GetCustomerHeaderParameters.
10. Fare clic su Modifica.
11. Copiare e incollare il seguente script nell'input:

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. Fare clic su Salva e continua, quindi fare clic su Fine.
13. Fare clic su Salva.
A questo punto, passare alla sezione "Esecuzione dei task Info*Engine".
Autenticazione fissa
Se è stata configurata l'autenticazione fissa, attenersi alla procedura riportata di seguito per configurare il connettore OData.
1. In Impostazioni connessione connettore generico, alla voce Tipo di autenticazione, selezionare Fixed.
2. In Impostazioni CSRF, immettere le seguenti informazioni:
URL relativo per richiesta Get CSRF - servlet/odata
Nome token CSRF - CSRF_NONCE
3. In Impostazioni connessione connettore OData, fare clic su Aggiungi. Viene visualizzata la finestra ODataConnectorConnectionSettings.
4. In URL relativo alla radice del servizio, immettere IE, quindi fare clic su Aggiungi. Procedere al passo 5 se l'URL relativo alla radice del servizio è già stato aggiunto.
5. In Impostazioni connessione connettore HTTP immettere le informazioni riportate di seguito.
Nome utente - Nome utente dell'amministratore Windchill
Password - Password dell'amministratore Windchill
URL base - Il server Windchill che riceve la richiesta Info*Engine da ODataConnector. Utilizzare il seguente formato:
[https]://[Windchill Host]:[port]/[Windchill-web-app]
URL relativo - servlet/odata
6. Fare clic su Salva. Il connettore OData è ora configurato per l'utilizzo nell'ambiente di autenticazione fissa.
Passare alla sezione "Esecuzione dei task Info*Engine".
Esecuzione dei task Info*Engine
Ora eseguire i task Info*Engine con il servizio, come illustrato di seguito.
1. Fare clic su Servizi. Viene visualizzata la pagina Servizi.
2. Per RefreshEndpointCache fare clic su . Viene visualizzata la finestra Esegui servizio.
3. Fare clic su Esegui. Verrà visualizzato il seguente messaggio: Success. Il servizio è stato eseguito correttamente.
4. Fare clic su Fine.
5. Per InvokeIETask fare clic su .
6. Nella finestra Input, aggiungere le seguenti informazioni in formato JSON:
Task - Il file XML per il task Info*Engine. Il file si trova qui: <Installazione Windchill>/<Home_Windchill>/tasks /.
* 
Assicurarsi che il task sia abilitato per l'esecuzione. Per fare ciò, verificare che all'inizio del file XML siano presenti le annotazioni indicate di seguito.
<%@page language="java" access="http"%>
Params - (Facoltativo) un array JSON contenente coppie nome-valore da passare come parametro al task Info*Engine.
Esempio:
{
"Task": "wt/federation/delegates/windchill/QueryObjects.xml",
"Params": [
{ "Name": "type", "Value": "wt.part.WTPart" },
{ "Name": "where", "Value": "name=SOME_PART_NAME" }
]
}
7. Fare clic su Esegui per avviare il task Info*Engine. L'output del servizio è in formato JSON e contiene le seguenti proprietà:
@odata.context - URL di contesto del payload.
Value - Matrice JSON contenente oggetti JSON con proprietà Groupname e Element.
8. Per eseguire un altro task Info*Engine, ripetere i passi 1-7.
* 
Gli endpoint del connettore OData potrebbero non funzionare come previsto in ThingWorx Navigate, di conseguenza potrebbe essere necessario apportare modifiche. Per dettagli e istruzioni sulla configurazione dei servizi OData nei dati Windchill, vedere la Windchill REST Services User's Guide.