HTTPRestManager


Beschreibung

Der HTTP-Rest-Manager ermöglicht es dem Benutzer, Anforderungen an einen Server zu senden und die zurückgegebene Antwort in einer Variablen zu speichern, und kann mit den Werten in JS arbeiten.

Die folgende Dokumentation zeigt, wie Sie den Dienst auf verschiedenen Wegen aufrufen (Variante 1 und 2). Durch die Nutzung der Funktionalität wird die Anfrage über den Server weitergeleitet, um zu verhindern, dass Cross Site Scripting und z.B. Google Chrome Browser die Anfragedaten aufgrund der CORS-Richtlinie blockieren. 

Voraussetzung: Der ausführende Benutzer/Server der Anwendung (Betriebssystembenutzer, nicht der aktuell angemeldete Benutzer) muss den gewünschten Endpunkt erreichen können.

Diese Zeichen :/?#[]@ sind Teil der generischen Syntax für einen URI (definiert in RFC 3986) und müssen durch den entsprechenden URL / Prozentwert ersetzt werden. In unserem Beispiel wurden [ und ] durch %5B und %5D ersetzt. Sehen Sie sich https://www.w3schools.com/tags/ref_urlencode.ASP an, wenn Sie Ihren URI überprüfen wollen


Variante 1: REST CALL in JS

Beschreibung

Der REST CALL wird vollständig in der JS-Datei verwaltet. Für Änderungen müssen Sie die Datei custom-project.js in Ihrem Ressourcenordner aktualisieren.

Javascript (JavaScript)

jqxhr = jQ.ajax({ url: '/loom-portal/rest/HttpRestManager?<<?>>', type: 'GET', }).success(function(data){ //Function to be called if the request succeeds }).fail(function(data){ //Error Handling });

Beim Aufruf des HttpRestManager über JavaScript muss der Type 'GET' sein.

URL (HTTPRestManager)

URL: '/loom-portal/rest/HttpRestManager?<<PARAMETER>>

Der erste Parameter beginnt mit einem <<?>> alle anderen werden von einem <<&>> hinzugefügt.

Beispiel-URL

$.ajax({ url: '/loom-portal/rest/HttpRestManager?hostName='+URL+"&method=GET&additionalHeaders=%5B" + "NAME_OF_VARIABLE=" + variable + ";" + "NAME_OF_VARIABLE2=" + variable2 + "%5D", type: 'GET', success: function(data) { if (data.status && data.status == "200") { console.log(data); } } });

 

Parameter

Parametername

Standardwert

Beschreibung

Gültige Beispiele

Parametername

Standardwert

Beschreibung

Gültige Beispiele

hostName

 

Dieser Parameter enthält die URl des angeforderten Servers.

https://demo.com/interface/getExampleData

method

“POST”

Dieser Parameter bestimmt, welche Methode remote aufgerufen wird. "Post" bedeutet, dass der Server eine Eingabe im XML-Format erwartet, die er verarbeitet und zurückgibt. "Get" hingegen bedeutet, dass der Server Daten sendet, ohne dass eine Eingabe erforderlich ist.

Other possibilities are “delete”, “get”, “head”, “options”, “patch”, “post”, “put”.

postParameter

 

Dieser Parameter enthält die Eingabe für den Server im JSON-Format.

"json", "XML", "HTML", "text", "auto"

responseVariable

"SYS.HttpRestManager_response"

Dieser Parameter enthält die Prozessvariable, in der die Serverantwort gespeichert werden soll.

demoResponseVariable

user

 

Dieser Parameter ist nur erforderlich, wenn der Server eine Identifizierung erfordert und den Benutzernamen des Benutzers enthält.

demoUser

pass

 

Dieser Parameter wird nur benötigt, wenn der Server eine Identifikation benötigt und das Kennwort des Benutzers enthält.

demoPassword

authMethod

"basic"

Dieser Parameter wird nur benötigt, wenn der Server eine Identifizierung erfordert und die Verschlüsselung enthält, die angewendet werden soll. Eine mögliche Verschlüsselung ist base64, die angewendet wird, indem dieser Parameter auf "basic" gesetzt wird.

"oauth"

"basic"

oAuthTokenUrl

 

Nur erforderlich, wenn authMethod = "oauth"

URL, von der das oauth-Token abgerufen werden soll.

 

access

""

Definiert, welche Gruppen oder Benutzer die Schnittstelle aufrufen und Daten daraus abrufen können. Alle anderen Anrufe von nicht autorisierten Benutzern/Gruppen werden abgelehnt. Mehrere Benutzer/Gruppen können über ',' getrennt werden.
Standardmäßig ist die Schnittstelle für alle Benutzer aufrufbar.
Lassen Sie den Parameter leer/undefiniert für uneingeschränkten Zugriff.

group(exampleGroup), user(exampleUser)

additionalHeaders

 

Hinzufügen zusätzlicher Header zum Rest-Aufruf

"&method=GET&additionalHeaders=%5B" + "NAME_OF_VARIABLE=" + variable + ";" + "NAME_OF_VARIABLE2=" + variable2 + "%5D"

Beispiel

Javascript (JavaScript)

Speichern Sie den Benutzer und das Passwort nicht ohne Maskierung in den JS-Dateien!

Verwenden Sie das Encodermodul, um die Daten zu maskieren.

URL: <<serverAdress>>/encoder/ (Falls nicht vorhanden, wenden Sie sich bitte an den definierten Ansprechpartner)

Funktion checkIfVariableIsNotNullAndNotUndefinedAndNotEmpty \[polyfill\]
Ausgabekonsole

Variante 2: REST CALL mit tim.properties

Beschreibung

Der Unterschied zu Variante 1 besteht darin, dass Sie den REST CALL in der Datei tim.properties konfigurieren müssen, die sich im Super-Ressourcenordner (Zugriff mit einem Super-Admin) oder Server-Dateisystem (Zugriff über Dateizugriff auf den Server) befindet. In diesem Fall müssen Sie die JS-Datei nicht berühren, wenn Sie z.B. das Passwort oder andere konfigurierbare Parameter ändern möchten. Solange der REST CALL bereits in der JS-Datei implementiert ist. Der Vorteil dieser Variante ist, dass Sie keine Passwörter oder Benutzernamen in der JavaScript-Datei hinterlegen müssen.

tim.properties

Javascript (JavaScript)

Diese Methode ist nur im erweiterten Framework verfügbar (benutzerdefiniert, kein Standard):

 

URL (HTTPRestManager)

Parameter

Parametername

Standardwert

Beschreibung

Gültige Beispiele

Parametername

Standardwert

Beschreibung

Gültige Beispiele

hostName

 

Dieser Parameter enthält die URl des angeforderten Servers.

https://demo.com/interface/getExampleData

method

"POST"

Dieser Parameter bestimmt, welche Methode remote aufgerufen wird. "Post" bedeutet, dass der Server eine Eingabe im XML-Format erwartet, die er verarbeitet und zurückgibt. "Get" hingegen bedeutet, dass der Server Daten sendet, ohne dass eine Eingabe erforderlich ist.

Other possibilities are “delete”, “get”, “head”, “options”, “patch”, “post”, “put”.

postParameter

 

Dieser Parameter enthält die Eingabe für den Server im JSON-Format.

"json", "xml", "html", "text", "auto"

responseVariable

"SYS.HttpRestManager_response"

Dieser Parameter enthält die Prozessvariable, in der die Serverantwort gespeichert werden soll.

demoResponseVariable

user

 

Dieser Parameter ist nur erforderlich, wenn der Server eine Identifizierung erfordert und den Benutzernamen des Benutzers enthält.

demoUser

pass

 

Dieser Parameter wird nur benötigt, wenn der Server eine Identifikation benötigt und das Kennwort des Benutzers enthält.

demoPassword

authMethod

"basic"

Dieser Parameter wird nur benötigt, wenn der Server eine Identifizierung erfordert und die Verschlüsselung enthält, die angewendet werden soll. Eine mögliche Verschlüsselung ist base64, die angewendet wird, indem dieser Parameter auf "basic" gesetzt wird.

"oauth"

"basic"

oAuthTokenUrl

 

Nur erforderlich, wenn authMethod = "oauth"

URL, von der das oauth-Token abgerufen werden soll.

 

access

""

Definiert, welche Gruppen oder Benutzer die Schnittstelle aufrufen und Daten daraus abrufen können. Alle anderen Anrufe von nicht autorisierten Benutzern/Gruppen werden abgelehnt. Mehrere Benutzer/Gruppen können über ',' getrennt werden.
Standardmäßig ist die Schnittstelle für alle Benutzer aufrufbar.
Lassen Sie den Parameter leer/undefiniert für uneingeschränkten Zugriff.

group(exampleGroup), user(exampleUser)

 

Beispiel

Javascript (JavaScript)

Customizing: REST CALL mit benutzerdefinierten Variablen (über Template-Datei) (JS und tim.properties)

Beschreibung

Das folgende Beispiel zeigt, wie benutzerdefinierte Variablen in Verbindung mit einer REST CALL über JSON-Vorlagendatei verwendet werden. In diesem Fall müssen Sie die Parameter "templatePath" und "customVariables" in der REST CALL URL hinzufügen. Auf diese Weise können Sie Ihren Anruf anpassen.

Javascript (JavaScript)

Javascript (JavaScript)

JSON-Datei - httpBodyGetHeadDataByDemoVariables.json (Parameter: templatePath)

JSON

Der Parameter templatePath bezieht sich auf den Stammordner der Client-Ressourcen (erreichbar über den Administrations-Client).