Variable für Zugriff auf einen SOAP-Service deklarieren

Um zusätzliche Details bezüglich des Zugriffs auf den SOAP-Service anzugeben, können Sie eine Variable basierend auf dem Schnittstellenabschnitt erstellen. Beispiel:
myService WeatherForcast {@webBinding
                             {wsdlLocation="wsdl/weatherForecast",
                              wsdlService="wsdlforecast",
                              wsdlPort="wsdlport"};

In dieser Deklaration können Sie eine von zwei Eigenschaften angeben, die Ihnen jeweils die Möglichkeit bietet, Details für den Zugriff auf den Web-Service anzugeben: @webBinding und @BindService. Mit der Eigenschaft @webBinding können Sie die WSDL-Dateidetails direkt in den Code eingeben. Mit der Eigenschaft @BindService können Sie diese Details in einem Implementierungsdeskriptor angeben. Diese Eigenschaft ermöglicht Änderung zur Konfigurationszeit.

Die beiden Eigenschaften schließen sich gegenseitig aus:
@webBinding
Mit dieser Eigenschaft können Sie in Ihrem Code die Details für den Zugriff auf den Web-Service angeben. Die komplexe Eigenschaft @webService muss nicht erstellt werden. Rich UI schreibt die Details in einen Kommentar, der in der Datei mit dem Schnittstellenabschnitt gespeichert wird, der aus einer WSDL-Datei erstellt wurde. Die Eigenschaftsfelder lauten wie folgt:
wsdlLocation
Eine Zeichenfolge, die den Namen und die Position der WSDL-Datei angibt. Diese Position ist relativ zum Stammverzeichnis des Projekts. Wenn der Name der Datei beispielsweise weatherForecast.wsdl lautet und sich die Datei im Ordner wsdl befindet, lautet die Zeichenfolge 'wsdl/weatherForecast.wsdl'.
wsdlPort
Eine Zeichenfolge, die den Namen des Elements 'wsdl:port' im Element 'wsdl:service' der WSDL-Datei angibt.
wsdlService
Eine Zeichenfolge, die den Namen des Elements 'wsdl:service' in der WSDL-Datei angibt.
uri
Wenn eine Angabe erfolgt, ist dies eine Zeichenfolge, die die in der WSDL-Datei angegebene URL überschreibt. Wenn der Service noch an einer anderen als der in der WSDL-Datei angegebenen Position verfügbar ist (z. B. eine andere Version des Service für Produktion oder Test), können Sie diese Position hier eingeben und stattdessen diese Version des Service verwenden. Standardmäßig ist dieser Wert null.
@BindService
Mit dieser Eigenschaft können Sie über einen Eintrag im EGL-Implementierungsdeskriptor die Art des Zugriffs auf den Web-Service angeben. Die Verwendung dieser Eigenschaft hat zwei Auswirkungen:
  • Sie erstellen mithilfe einer WSDL-Datei ein Service-Binding im EGL-Implementierungsdeskriptor.
  • Aus dieser Datei speichert der Editor für den Implementierungsdeskriptor die Details zur Dateiposition, zum Element 'wsdl:port' und zum Element 'wsdl:service' ab.

Die Eigenschaft @BindService 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 'SOAP-Service-Binding zum Implementierungsdeskriptor hinzufügen'.

Jeder Aufruf eines SOAP-Service verwendet eine neue HTTP-Sitzung, und es werden keine Sitzungsdaten aufrufübergreifend beibehalten. Der Code kann einen Service nicht erfolgreich aufrufen, der Sitzungsvariablen verwendet, die Daten aufrufübergreifend beibehalten.


Feedback