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.