ReSTful-Webservices: Input-XML-Struktur
Beim Aufruf eines Webservices wird ein Dokument an den entsprechenden Technical Process übergeben. Wenn Sie in der Webservice-Konfiguration als Input-Modus HTTP-Content definiert haben, handelt sich dabei ausschließlich um den Inhalt der HTTP-Entität. Media Type und Charset aus dem Header Content-Type werden auf das Input-Dokument übertragen.
Wenn als Input-Modus HTTP-MetaXml definiert wurde, wird beim Webservice-Aufruf ein XML-Dokument u.a. mit HTTP-Header-Informationen an den Technical Process übergeben, das nach folgendem Muster aufgebaut ist:
<Request>
<Path>
<Method>ReST-Methode (z. B. GET)</Method>
<FullPath>Komplette URL inkl. konstantem und variablem URL-Part</FullPath>
<Server>URL des Servers</Server>
<RequestPath>Pfad, der im Aufruf verwendet wurde</RequestPath>
<ContextPrefix>Basis-URL von X4 ReST (immer gleich)</ContextPrefix>
<PathInfo>Konstanter und variabler URL-Part</PathInfo>
<Parts>
<Constant name="Konstanter URL-Part" />
<Variable name="Name des variablen URL-Parts">tatsächl. URL-Part</Variable>
</Parts>
</Path>
<Headers>
<Header>
<Name>Header-Name</Name>
<Value>Header-Wert</Value>
</Header>
<!-- Oder bei Datumswerten: -->
<Header>
<Name>HTTP-Header-Name</Name>
<Date timezone="Zeitzone">Header-Datumswert</Date>
</Header>
</Headers>
<Query>
<QueryString>Über die URL übergebene Parameter</QueryString>
<Parameter name="Parameter-Name">Parameter-Wert</Parameter>
</Query>
<Security realm="Sicherheitsbereich">
<Principal class="Prinzipalklasse" name="Prinzipal-Name" />
</Security>
<Body encoding="Datenkodierung">Übermittelte Daten</Body>
</Request>
Das Wurzel-Element <Request> enthält folgende Elemente:
<Path>: Enthält u. a. die aufrufende URL und die einzelnen aufgeschlüsselten URL-Parts<Headers>: Enthält in jeweils einem Element<Header>die einzelnen HTTP-Header mit Name und Wert.<Query>: Enthält die Elemente<QueryString>und ggf. für jeden Parameter ein Element<Parameter><Security>: Enthält die zugeordneten JAAS-Subjects (einfache Prinzipale oder Prinzipal-Gruppen), falls es sich um keinen Gastzugriff handelt<Body>: Enthält in Attributencodingden Kodierungstypbase64und als Elementinhalt die entsprechend kodierten Nutzdaten