Erweiterte Anpassung > Info*Engine Dienste mit OData-Konnektor ausführen
  
Info*Engine Dienste mit OData-Konnektor ausführen
ThingWorx Navigate unterstützt jetzt den OData-Konnektor zum Ausführen von Info*Engine Aufgaben. Wenn Ihre benutzerdefinierten Aufgaben Info*Engine Aufgaben enthalten, können diese mit dem OData-Konnektor aufgerufen werden.
Die aktuellsten Informationen zur Unterstützung von OData-Konnektor für Windchill finden Sie unter Plattformsupportmatrix für ThingWorx Navigate.
* 
In den kommenden Versionen von ThingWorx Navigate wird der Support für die Windchill Konnektoren ptc-windchill-connector und ptc-windchill-swagger-connector eingestellt. Für einen reibungslosen Übergang zu einer Version, die keine Unterstützung für die alten Windchill Konnektoren bietet, führen Sie Info*Engine Aufgaben ab sofort mit ptc-windchill-OData-connector aus. Gehen Sie dazu wie in diesem Thema beschrieben vor.
Damit Sie den OData-Konnektor zum Ausführen von Info*Engine Aufgaben verwenden können, müssen Sie zunächst die ptc-windchill-OData-connector Verbindung zu den Windchill REST-Diensten der Info*Engine Domäne konfigurieren. Anschließend können Sie Windchill REST-Dienste verwenden, um Info*Engine Aufgaben auszuführen.
* 
Sie müssen Integration Runtime konfigurieren. Weitere Informationen finden Sie unter Integration Runtime einrichten.
1. Suchen Sie in ThingWorx Composer nach dem Konnektor ptc-windchill-OData-connector und öffnen Sie ihn. Die Seite Allgemeine Informationen wird geöffnet.
2. Klicken Sie auf Konfiguration. Die Seite Konfiguration wird geöffnet.
Ihre Konfiguration hängt von der Authentifizierungsmethode ab: Single Sign-On, Windchill Authentifizierung oder feste Authentifizierung.
Single Sign-On
Führen Sie die nachfolgenden Schritte aus, wenn Sie Single Sign-On verwenden:
1. Wählen Sie unter Generic Connector Connection Settings für Authentifizierungstyp die Option SSO aus.
2. Geben Sie unter Autorisierungsserver-ID den Wert für AuthorizationServerSettingsID ein, den Sie in sso-settings.json angegeben haben, z.B. PingFed1.
3. Klicken Sie unter Bereichseinstellungen für den Autorisierungsserver auf Hinzufügen. Das Fenster Bereichseinstellungen für den Autorisierungsserver wird geöffnet.
4. Geben Sie unter Bereich den Windchill Bereich ein, den Sie mit PingFederate registriert haben, z.B. WINDCHILL_READ.
5. Klicken Sie auf Hinzufügen.
6. Geben Sie unter CSRF-Einstellungen die folgenden Informationen ein:
Relative URL für CSRF-Get-Anforderung: servlet/odata
CSRF-Token-Name: CSRF_NONCE
7. Klicken Sie unter Verbindungseinstellungen für OData-Konnektor auf Hinzufügen. Das Fenster ODataConnectorConnectionSettings wird geöffnet.
8. Geben Sie unter Relative URL des Dienststamms den Wert IE ein, und klicken Sie anschließend auf Hinzufügen. Fahren Sie mit Schritt 9 fort, wenn Sie die relative URL des Dienststamms bereits hinzugefügt haben.
9. Geben Sie unter Verbindungseinstellungen für HTTP-Konnektor die folgenden Informationen ein:
Basis-URL: Die Windchill URL. Die URL muss in /oauth/ enden. Verwenden Sie dieses Format:
[https]://[Windchill Host]:[port]/[Windchill-web-app]/oauth/
Dieses Format gibt an, dass die Verbindung den OAuth-Standard verwendet und aktiviert Datenanfragen im Ressourcen-Anbieter.
Relative URL: servlet/odata
Benutzername und Passwort müssen nicht eingegeben werden.
10. Klicken Sie auf Speichern. Der OData-Konnektor ist jetzt für die Verwendung in Ihrer Single Sign-On-Umgebung konfiguriert.
Fahren Sie nun direkt mit dem Abschnitt "Info*Engine Aufgaben ausführen" fort.
Windchill Authentifizierung
Führen Sie die nachfolgenden Schritte aus, wenn Sie die Windchill Authentifizierung konfiguriert haben:
1. Wählen Sie unter Generic Connector Connection Settings für Authentifizierungstyp die Option None aus.
2. Geben Sie unter CSRF-Einstellungen die folgenden Informationen ein:
Relative URL für CSRF-Get-Anforderung: servlet/odata
CSRF-Token-Name: CSRF_NONCE
3. Klicken Sie unter Verbindungseinstellungen für OData-Konnektor auf Hinzufügen. Das Fenster ODataConnectorConnectionSettings wird geöffnet.
4. Geben Sie unter Relative URL des Dienststamms diesen Wert ein:
tw.friendly-name.ServiceRootReletive
Fahren Sie mit Schritt 6 fort, wenn Sie bereits die relative URL des Dienststamms hinzugefügt haben.
5. Klicken Sie auf Hinzufügen.
6. Geben Sie unter Verbindungseinstellungen für HTTP-Konnektor die folgenden Informationen ein:
Basis-URL: Der Windchill Server, der die Info*Engine-Anfrage vom ODataConnector erhält. Verwenden Sie dieses Format:
[https]://[Windchill Host]:[port]/[Windchill-web-app]/sslClientAuth
Relative URL: servlet/odata
Verbindungs-URL: /servlet/WindchillGW/wt.httpgw.HTTPServer/ping
Benutzername und Passwort müssen nicht eingegeben werden.
7. Klicken Sie auf Speichern.
8. Klicken Sie auf Dienste.
9. Klicken Sie auf GetCustomerHeaderParameters.
10. Klicken Sie auf Bearbeiten.
11. Kopieren Sie dieses Skript und fügen Sie es in die Eingabe ein:

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. Klicken Sie auf Speichern und Weiter und klicken Sie dann auf Fertig.
13. Klicken Sie auf Speichern.
Fahren Sie nun direkt mit dem Abschnitt "Info*Engine Aufgaben ausführen" fort.
Feste Authentifizierung
Wenn Sie feste Authentifizierung verwenden, führen Sie die nachfolgenden Schritte aus, um den OData-Konnektor zu konfigurieren:
1. Wählen Sie unter Generic Connector Connection Settings für Authentifizierungstyp die Option Fixed aus.
2. Geben Sie unter CSRF-Einstellungen die folgenden Informationen ein:
Relative URL für CSRF-Get-Anforderung: servlet/odata
CSRF-Token-Name: CSRF_NONCE
3. Klicken Sie unter Verbindungseinstellungen für OData-Konnektor auf Hinzufügen. Das Fenster ODataConnectorConnectionSettings wird geöffnet.
4. Geben Sie unter Relative URL des Dienststamms den Wert IE ein, und klicken Sie anschließend auf Hinzufügen. Fahren Sie mit Schritt 5 fort, wenn Sie die relative URL des Dienststamms bereits hinzugefügt haben.
5. Geben Sie unter Verbindungseinstellungen für HTTP-Konnektor die folgenden Informationen ein:
Benutzername: Ihr Benutzername als Windchill Administrator
Passwort: Ihr Administrator-Passwort für Windchill
Basis-URL: Der Windchill Server, der die Info*Engine-Anfrage vom ODataConnector erhält. Verwenden Sie dieses Format:
[https]://[Windchill Host]:[port]/[Windchill-web-app]
Relative URL: servlet/odata
6. Klicken Sie auf Speichern. Der OData-Konnektor ist jetzt für die Umgebung mit fester Authentifizierung konfiguriert.
Fahren Sie nun direkt mit dem Abschnitt "Info*Engine Aufgaben ausführen" fort.
Info*Engine Aufgaben ausführen
Nun führen wir die Info*Engine Aufgaben mit dem Dienst aus:
1. Klicken Sie auf Dienste. Die Seite Dienste wird geöffnet.
2. Klicken Sie für RefreshEndpointCache auf . Das Fenster Dienst ausführen wird geöffnet.
3. Klicken Sie auf Ausführen. Sie sollten die Meldung Success sehen. Ihr Dienst wurde erfolgreich ausgeführt.
4. Klicken Sie auf Fertig.
5. Klicken Sie für InvokeIETask auf .
6. Geben Sie im Fenster Eingabe die folgenden Informationen im JSON-Format ein:
Task: Die XML-Datei für die Info*Engine Aufgabe. Die Datei befindet sich hier: <Windchill Installation>/<Windchill_Home>/tasks/.
* 
Stellen Sie sicher, dass die Aufgabe für die Ausführung aktiviert ist. Überprüfen Sie hierzu, ob das folgende Markup am Anfang der XML-Datei angezeigt wird:
<%@page language="java" access="http"%>
Params: Ein JSON-Array, das Name-Wert-Paare enthält, die als Parameter an die Info*Engine Aufgabe übergeben werden (optional).
Beispiel:
{
"Task": "wt/federation/delegates/windchill/QueryObjects.xml",
"Params": [
{ "Name": "type", "Value": "wt.part.WTPart" },
{ "Name": "where", "Value": "name=SOME_PART_NAME" }
]
}
7. Klicken Sie auf Ausführen, um die Info*Engine Aufgabe zu starten. Die Ausgabe des Diensts ist im JSON-Format und enthält die folgenden Eigenschaften:
@odata.context: Die Kontext-URl für die Payload.
Value: Ein JSON-Array, das JSON-Objekte mit den Eigenschaften Groupname und Element enthält.
8. Zum Ausführen einer anderen Info*Engine Aufgabe wiederholen Sie die Schritte 1 bis 7.
* 
Die Endpunkte des OData-Konnektors funktionieren unter ThingWorx Navigate möglicherweise nicht erwartungsgemäß, sodass Sie ggf. Änderungen vornehmen müssen. Ausführliche Informationen und Anweisungen zum Konfigurieren von OData-Diensten für Windchill Daten finden Sie im englischen Handbuch Windchill REST Services User's Guide (Windchill REST Services Benutzerhandbuch).