f$WebService
f$WebService
Ausführen eines Webservice, der mit dem REST (Representational State Transfer) ODER dem SOAP (Simple Object Access Protocol) Protokoll aufgerufen werden kann. Details hierzu in Wikipedia http://de.wikipedia.org/wiki/Representational_State_Transfer und
https://de.wikipedia.org/wiki/SOAP
Üblicherweise werden dem Webservice Daten in Form eines XML Buffers mitgegeben. Das Ergebnis wird ebenfalls als XML Buffer zurück geliefert und optional in eine XML-Datei gespeichert, sofern im PGOutput (HeaderIn) definiert. Zur korrekten Zeichen-Darstellung sollte im PGOutput (HeaderIn) das Encoding (Schlüsselwort ’Accept-Charset’) mitgegeben werden. Mögliche Werte für Accept-Charset sind: ’ISO-8859-1’, ’UTF-8’, ’UTF-16’.
Beispiel siehe unten.
Syntax: | Ergebnis = f$WebService ( Service , Eingabe [,Methode, PGInput, PGOutput] ) | ||
| Argument | Typ | Bedeutung |
| Service | Zeichenkette | Adresse des auszuführenden Service. Üblicherweise eine mittels http anzusprechende Webseite |
| Eingabe | Zeichenkette | Der XML Buffer, der dem Service mitgegeben wird |
| Methode | Zeichenkette | Verwendete Methode des Aufrufs (GET, POST). Dieser Parameter ist optional, Default ist POST |
| PGInput | Zeichenkette | Der Name einer Parametergruppe mit den Parametern Name und Wert. Diese Parametergruppe kann indiziert sein. Für jede Zeile der Parametergruppe wird in den Header des Requests eine entsprechende Zeile eingetragen. Zusätzlich zum individuellen Header des aufgerufenen Webservice können folgende Schlüsselworte verwendet werden: FileName – bei Verwendung der Funktion zum Dateidownload CertificateFile - Name mit Pfad einer Zertifikatdatei (.pem) Content-Type, Domain, User, Password, Accept, Timeout, Accept-Charset, OutputFile |
| PGOutput | Zeichenkette | Der Name einer Parametergruppe mit den Parametern Name und Wert. Diese Parametergruppe sollte indiziert sein. Für jede Zeile des Headers der Antwort wird ein Wertepaar in die Parametergruppe eingetragen. Dieser Parameter ist optional. |
Ergebnis: | Ergebnis | XML Buffer, der vom Service entgegengenommen wurde. | |
Beispiel: | Anmerkung: Die Daten des Beispiels wurden gekürzt. Das Beispiel ist so nicht funktionsfähig. HeaderIn[1].Name = 'Authorization' HeaderIn[1].Wert = 'PROMETHEUS-TOKEN ...' HeaderIn[2].Name = 'Accept' HeaderIn[2].Wert = 'application/xml' HeaderIn[3].Name = 'OutputFile' HeaderIn[3].Wert = 'C:\\TEMP\\OutputFile.xml' HeaderIn[4].Name = 'Accept-Charset' HeaderIn[4].Wert = 'ISO-8859-1' Service = 'https://www.acbis.cloud/prometheus/...' Ergebnis = f$WebService ( Service , '' , 'GET' , 'HeaderIn' , 'HeaderOut') | ||