Skip to main content

xSuite Interface Windows Prism 5.x – Online-Hilfe

Mockup-Webservice

Hinweis

Der Mockup-Webservice ist nicht für die produktive Nutzung ausgelegt. Dieser Webservice sollte nur für temporäre Tests genutzt werden.

Der Mockup-Webservice ist ein Dummy-Service, der in begrenztem Rahmen das Verhalten eines fremdem Webservices simulieren kann. Dieser Webservice kann genutzt werden, wenn ein fremder Webservice nicht verfügbar ist, aber eine entsprechende Client-Komponente getestet werden soll.

Abhängig von der Konfiguration kann der Mockup-Webservice Anfragen unter beliebigen URL-Pfaden entgegennehmen. Der Mockup-Webservice antwortet anhand von Regeln, die definiert werden müssen, mit einem vorgegebenen Inhalt auf diese Anfragen.

Eigenschaft

Beschreibung

MockupService.Activate

Wahrheitswert, ob der Mockup-Webservice aktiviert ist

Standardwert: FALSE

MockupService.UrlBasePath

optionaler URL-Basispfad, der allen Anfragen an den Mockup-Webservice vorangestellt wird

Der Service nimmt Anfragen prinzipiell unter allen URL-Pfaden entgegen. Daher kann eine Begrenzung auf Anfragen, die mit einem bestimmten Pfad beginnen, sinnvoll sein (z. B. /Mockup). Dadurch werden Konflikte mit anderen Anwendungen bei der Pfadauflösung vermieden, insbesondere wenn weitere Webservices in derselben Programminstanz parallel genutzt werden sollen.

Die Eigenschaft MockupService.UrlBasePath ist als Ergänzung zu der übergeordneten Eigenschaft WebService.UrlBasePath zu betrachten. Wenn beide Eigenschaften gesetzt sind, z. B. als /xSuite/Interface und /Mockup, beginnen alle Anfragen an den Mockup-Service mit /xSuite/Interface/Mockup.

MockupService.Rule[].Method

MockupService.Rule[].Path*

HTTP-Methode(n) und URL-Pfad als Filterkriterien für eine Regel

Diese Methoden dienen zur Auswahl von Regeln, die auf eine eingehende Anfrage angewendet werden. Zur Bildung der Antwort werden die weiteren Eigenschaften der jeweiligen Regel genutzt. Die konfigurierten Regeln werden in der Reihenfolge ihrer Definition ausgewertet. Die erste Regel, die mit der Anfrage übereinstimmt, wird verwendet.

Die Eigenschaft .Method dient als Filter für die HTTP-Methode (GET, POST, etc.). Bei Bedarf können mehrere HTTP-Methoden per Komma separiert werden. Wenn der Filter für alle Methoden gelten soll, kann ein Stern (*) angegeben werden (Standardwert).

Die Eigenschaft .Path dient als Filter für den URL-Pfad. Der URL-Pfad muss den Basispfad (MockupService.UrlBasePath) enthalten, sofern dieser definiert ist. Ein übergeordneter Basispfad (WebService.UrlBasePath) ist hier nicht zu berücksichtigen.

Wenn z. B. ein Basispfad Mockup genutzt wird, muss ein Filter auf den Unterpfad /Tests/Test1 insgesamt als /Mockup/Tests/Test1 geschrieben werden. In dem Filter sind auch Wildcard- und reguläre Ausdrücke in der Syntax eines Namensfilters zulässig. Reguläre Ausdrücke müssen durch umschließende /-Zeichen kenntlich gemacht werden. Der Filter /Mockup/* trifft dann z. B. auf alle Pfade unterhalb des Basispfades zu, unabhängig von der Länge und Tiefe.

MockupService.Rule[].Content

MockupService.Rule[].ContentFile

Wenn die zu erstellende Antwort einen Body-Inhalt umfasst, kann dieser als Zeichenfolge in .Content definiert oder aus einer externen Datei geladen werden. Der Pfad der externen Datei muss in .ContentFile angegeben werden. Wenn die Datei den Dateityp TXT, JSON oder XML hat, wird diese als Textdatei behandelt. Wenn die Datei einen anderen Dateityp haben, wird diese als Binärdatei behandelt.

MockupService.Rule[].Header[]

Definition von spezifischen HTTP-Headern, die in der Antwort gesetzt werden

Jeder Eintrag setzt sich aus den folgenden Einzelparametern zusammen:

  • Name*: Name des Header-Wertes, z. B. Content-Type

  • Value*: Header-Wert, z. B. application/json

MockupService.Rule[].StatusCode

numerischer HTTP-Statuswert, der zurückgeliefert wird

Der Zahlenwert ist hier als Text anzugeben, da der Wert auch dynamisch anhand von Variablen definiert werden kann.

Standardwert: 200

MockupService.Rule[].Delay

Verzögerungswert in Millisekunden

Dieser Wert dient der künstlichen Verlangsamung der Antwort, um langläufige Anfragen zu simulieren.

Standardwert: 0

MockupService.Rule[].ErrorRate

Fehlerrate in ganzzahliger Prozentangabe (zwischen 0 und 100)

Die Fehlerrate kann genutzt werden, um einen Verarbeitungsfehler zu simulieren. Eine Anfrage wird mit der angegebenen Wahrscheinlichkeit mit einem Fehler beantwortet. Der Statuswert und der Body-Inhalt für den Fehlerfall sind über die nachfolgenden Eigenschaften .***OnError zu konfigurieren.

Standardwert: 0

MockupService.Rule[].ContentOnError

MockupService.Rule[].ContentFileOnError

MockupService.Rule[].StatusCodeOnError

Eigenschaften analog zu .Content, .ContentFile und .StatusCode

Diese Eigenschaften werden in dem Fall herangezogen, dass über .ErrorRate künstlich eine Fehlerrückmeldung erzeugt wird.

Die Werte der Eigenschaften .Content, .ContentFile, .Header[] und .StatusCode können pro Anfrage durch die Einbindung von Variablen dynamisch generiert werden. Bei der Eigenschaft .ContentFile kann sowohl der Dateipfad dynamisch generiert werden als auch der Inhalt der Datei, sofern dies eine Textdatei ist. Bei der Eigenschaft .Header[] kann nur der zweite Teilparameter Value dynamisch generiert werden.

Ausschließlich die nachfolgend beschriebenen Variablen, die aus dem Inhalt der eingehenden Anfrage extrahiert werden, sind verfügbar. Das Einfügen in die Eigenschaftswerte erfolgt durch eine reine Textersetzung. Hierfür muss die Syntax %Variablenname% für Textvariablen verwendet werden.

  • URL-Pfad: Über die Variable %Path[n]% kann auf die Teilelemente des URL-Pfades zugegriffen werden, beginnend beim Basispfad MockupService.UrlBasePath. n steht für die laufende Nummer des Elementes. Bei einem Pfad /Mockup/Tests/Test1 ergibt %Path[2]% beispielsweise Tests.

  • URL-Parameter: Diese stehen unter dem in der URL angegebenen Namen als Variablen zur Verfügung. Bei einer Parameterliste ?param1=value1 heißt die Variable z. B. %param1%.

  • Header-Wert: Die Namen der Werte im HTTP-Header der Anfrage sind auch als Variablen nutzbar.

  • Body-Inhalt: Der gesamte Inhalt des HTTP-Bodys ist als eine zusammenhängende Zeichenfolge in der Variable %Body% verfügbar. Dies ist nur bei textuellen Inhalten nutzbar und nicht bei binären Inhalten.

Hinweis

Für URL-Parameter und Header-Werte ist die folgende Besonderheit zu beachten: Da Variablennamen programmintern auf bestimmte zulässige Zeichen (Buchstaben, Ziffern und Unterstrich) beschränkt sind, kann eine automatische Anpassung des Originalnamens erfolgen. Aus dem Header-Wert Content-Type wird z. B. der Variablenname %ContentType%.