X4 Produktdokumentation

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:


XML
<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:

Elememt

Beschreibung

<Path>

Enthält u. a. die aufrufende URL und die einzelnen aufgeschlüsselten URL-Parts.

Hinweis:

Beachten Sie, dass bei der Migration von X4 BPMS 6.x auf X4 BPMS 7.x die erwarteten Inhalte der Elemente <ContextPrefix/> und <PathInfo> geringfügig abweichen:

Beispiel 6.x

<ContextPrefix>/X4/httpstarter/ReST</ContextPrefix>
<PathInfo>/ExampleReSTService/Transport1.0/ReadCustomer2.0</PathInfo>

Beispiel 7.x

<ContextPrefix>/X4/httpstarter</ContextPrefix>
<PathInfo>/ReST/ExampleReSTService/Transport1.0/ReadCustomer2.0</PathInfo>

<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 im Attribut encoding den Kodierungstyp base64 und als Elementinhalt die entsprechend kodierten Nutzdatenm