Skip to main content
Skip table of contents

File-Webservice bereitstellen

Zusätzlich zur Möglichkeit, X4-Prozesse als ReSTful-Services via HTTP(S) bereitzustellen, lassen sich auch statische Datei-Ressourcen aus dem Repository als Service via HTTP GET bereitstellen.

Voraussetzungen:

  • Eine Datei im Repository, die Sie als File-Service via HTTP zum Abruf bereitstellen möchten. Die Datei wird dabei über seine x4db:/-URL referenziert.
  • Ein URL-Part, über den die Datei via HTTP(S) erreichbar sein soll, z.B. über http://localhost:8080/X4/httpstarter/ReST/MyFile. Diesen URL-Part haben Sie bereits (als Konstante, Variable oder Remainder) innerhalb der Webservice-Konfiguration definiert, siehe Webservice-Konfiguration grafisch bearbeiten.

Datei-Ressource via HTTP bereitstellen

  1. Unter der gewünschten URL-Ressource (definiert z.B. durch einen konstanten oder variablen URL-Part) über das Kontextmenü Add File Service einen neuen Service-Eintrag vom Typ File anlegen.

  2. Unter Path den x4db:/-Pfad zur gewünschten Datei im Repository hinterlegen, deren Inhalt als Datei-Ressource via HTTP unverändert bereitgestellt werden soll.

    Im X4 Webservice Configuration Editor können Sie eine Datei aus dem Repository auch per Drag & Drop auf das Feld Path zuweisen.
  3. Bei Bedarf die Sicherheitseinstellungen (Guest Allowed, Token Return etc.) anpassen.
  4. Speichern und mit Reload on Server die Webservice-Konfiguration anwenden.
    Die Änderungen sind sofort aktiv und Ihr File-Webservice wurde bereitgestellt. 

File-Webservices mit Variablen nutzen

Die Pfadangabe zur Repository-Datei in Attribut path können Sie dynamisch aufbauen, indem Sie den File-Service in einem Variablen-Block definieren, etwa für wechselnde Dateinamen oder IDs innerhalb eines variablen URL-Parts. Die Zuordnung erfolgt anhand des Variablennamens, z.B. <myVar>.

Beispiel: Definition eines FILE-Services als Konstante (Auszug aus restconfig.xml)

XML
<Variable name="myVar">
	<Service type="File" path="x4db:/1/Project/Folder/&lt;myVar>"/>
</Variable>

Erläuterungen:

  • Element <Variable/> definiert in Attribut name den Namen einer Variable, z.B. myVar.
  • In Attribut path wird diese Variable an beliebiger Stelle innerhalb der  x4db:/-URL als Platzhalter referenziert, auch Mehrfachnennungen des Platzhalters sind möglich.
  • Der Platzhalter beginnt immer mit einer spitzen öffnenden Klammer < (&lt; im XML-Speicherformat), gefolgt vom Variablennamen und einer spitzen schließenden Klammer >

Beispiel: Variablen-Platzhalter an beliebiger Stelle platziert (Auszug aus restconfig.xml)

XML
<Constant value="varied_1">
	<Variable name="VAR">
		<Service type="File" path="x4db:/1/RestExamples/file/varied_1/&lt;VAR>"/>
	</Variable>
</Constant>
<Constant value="varied_2">
	<Variable name="VAR">
		<Service type="File" path="x4db:/1/RestExamples/file/varied_1/&lt;VAR>.png"/>
	</Variable>
</Constant>

Beispiel: Kombinierte Variablen (Auszug aus XML-Speicherformat)

XML
<Constant value="varied_3">
	<Variable name="TYPE">
		<Variable name="PART">
			<Service type="File" 
             path="x4db:/1/RestExamples/file/deep/&lt;TYPE>/&lt;PART>.&lt;TYPE>"/>
		</Variable>
	</Variable>
</Constant>
<Constant value="varied_4">
	<Variable name="VAR">
		<Constant value="image">
			<Service type="File" 
             path="x4db:/1/RestExamples/file/varied_1/&lt;VAR>.png"/>
		</Constant>
	</Variable>
</Constant>

File-Webservices mit Remainder nutzen

Wenn Sie einen File-Webservice mit beliebigen URL-Parts definieren möchten, können Sie auf das Remainder-Konstrukt zurückgreifen. Als tolerantere Variante einer Variablen bietet dieses die Möglichkeit, beliebig tiefe URL-Parts abzufangen. Analog zu Variablen definieren Sie hier einen Remainder mit einem Namen und referenzieren diesen in Attribut path.

Beispiel: Definition eines FILE-Services mit Remainder (Auszug aus XML-Speicherformat)

XML
<Remainder name="myRemainderVar">
	<Service type="File" 
     path="x4db:/1/Project/Folder/&lt;myRemainderVar>"/>
</Remainder>

Erläuterungen:

  • Element <Remainder/> definiert in Attribut name den Namen einer Remainder-Variable, z.B. myRemainderVar.
  • In Attribut path wird diese Variable an beliebiger Stelle innerhalb der  x4db:/-URL als Platzhalter referenziert. Auch Mehrfachnennungen des Platzhalters sind möglich.
  • Der Platzhalter beginnt immer mit einer spitzen öffnenden Klammer < (bzw. &lt; im XML-Speicherformat), gefolgt vom Variablennamen und einer spitzen schließenden Klammer >

Beispiel: Weitere Beispiele für Remainder (Auszug aus XML-Speicherformat)

XML
<Constant value="deep_1">
	<Remainder name="VAR">
		<Service type="File" 
         path="x4db:/1/RestExamples/file/deep/&lt;VAR>"/>
	</Remainder>
</Constant>
<Constant value="deep_2">
	<Remainder name="VAR">
		<Service type="File" 
         path="x4db:/1/RestExamples/file/deep/&lt;VAR>.png"/>
	</Remainder>
</Constant>

Caching von bereitgestellten Datei-Ressourcen

Jede Datei-Ressource, die über einen File-Webservice per HTTP GET bereitgestellt wird, ist 10 Stunden gültig. Der Client (z.B. ein Web-Browser) ruft die Ressource also erst nach Ablauf dieser Frist erneut auf.

Um für Entwicklungs- und Testzwecke die aktuelle Ressource zu laden, setzen Sie im Client den Cache manuell zurück oder deaktivieren diesen.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.