Variable für Zugriff auf einen REST-Service deklarieren

Um zusätzliche Details bezüglich der Art des Zugriffs auf den REST-Service anzugeben, kann im Anforderer eine Variable deklariert werden. Diese Variable basiert auf dem Schnittstellenabschnitt.

Die folgende Deklaration basiert beispielsweise auf dem Schnittstellenabschnitt WeatherForecast:
myService WeatherForcast {@RESTBinding {baseURI="http://www.ibm.com/gateway"}};
In dieser Deklaration können Sie eine von zwei Eigenschaften angeben, die Ihnen jeweils die Angabe der folgenden Details ermöglicht:

Die beiden Eigenschaften lauten @RESTBinding und @BindService. Mit der Eigenschaft @RESTBinding können Sie den Basis-URI und die Sitzungscookie-ID direkt in Ihrem Code eingeben. Diese Option ist einfach, aber unflexibel. Mit der Eigenschaft @BindService können Sie diese Details in einem Implementierungsdeskriptor angeben, wodurch Änderungen zur Konfigurationszeit möglich sind.

Die beiden Eigenschaften schließen sich gegenseitig aus:
@RESTBinding
Mit dieser Eigenschaft können Sie in Ihrem Code den Basis-URI und/oder die Sitzungscookie-ID angeben. @RESTBinding enthält die folgenden Felder:
baseURI
Eine Zeichenfolge, die die ersten Qualifikationsmerkmale in dem URI angibt, der für den Zugriff auf den Service verwendet wird. Der Standardwert für baseURI ist eine leere Zeichenfolge.
sessionCookieID
Der Name eines Sitzungscookies. Der Standardwert ist JSESSIONID. Dies ist stets die Sitzungs-ID, wenn die Anwendung unter Apache Tomcat ausgeführt wird.
Die Einstellung des Felds sessionCookieID ist nur in den folgenden Fällen von Bedeutung:
  • Der Service ist ein externer EGL-Typ, der ein IBM i- oder Serviceprogramm als EGL-REST-RPC-Service zur Verfügung stellt. Und:
  • Die Servicelogik ist 'stateful'. Dies bedeutet, dass Anforderer und Service an einem mehrstufigen Datenaustausch teilnehmen können.

Der Wert für dieses Feld überschreibt die Einstellung der Builddeskriptoroption defaultSessionCookieID.

@BindService
Mit dieser Eigenschaft kann ein Implementierungsdeskriptoreintrag zum Angeben des Basis-URI und/oder der Sitzungscookie-ID verwendet werden. Die Eigenschaft verfügt über ein Feld:
bindingKey
Gibt den Implementierungsdeskriptoreintrag an, der die beiden Details enthält.
Die Eigenschaft @BindService kann ohne das Feld bindingKey angegeben werden. In diesem Fall gibt die Eigenschaft den Implementierungsdeskriptoreintrag an, dessen Name mit dem Namen des Schnittstellenabschnitts übereinstimmt. Im Folgenden ist ein Beispiel aufgeführt, das sich auf den Implementierungsdeskriptoreintrag 'WeatherForecast' bezieht:
MyService WeatherForecast {@BindService{}}

Einzelheiten zur Einrichtung des EGL-Implementierungsdeskriptors finden Sie in 'REST-Binding zum Implementierungsdeskriptor hinzufügen'.


Feedback