Variable für Zugriff auf dedizierten oder lokalen EGL-Service deklarieren
- Wenn Sie in Rich UI arbeiten, ist der einzige EGL-Service, auf den Sie zugreifen können, ein
dedizierter Service (siehe 'Servicezugriff in Rich UI').
Deklarieren Sie die Servicezugriffsvariable wie
folgt:
myService MyServicePart{@dedicatedService};In dieser Deklaration müssen Sie den Serviceabschnitt (keinen Schnittstellenabschnitt) angeben.
Nach dem Deklarieren der Variablen wird diese in einer call-Anweisung verwendet. Siehe 'Service asynchron aus einer Rich-UI-Anwendung aufrufen'.
- Wenn Sie außerhalb von Rich UI arbeiten, lautet die typische Vorgehensweise wie folgt:
- Schnittstellenabschnitt für Zugriff auf lokalen EGL-Service definieren
- EGL-Binding im Implementierungsdeskriptor festlegen
- Zuordnung des EGL-Bindings zur Servicezugriffsvariablen
Nachdem Sie die Variable deklariert und dieser ein Service-Binding zugeordnet haben, wird die Variable in einer Servicezugriffsanweisung verwendet. Siehe hierzu 'Service synchron außerhalb von Rich UI aufrufen'.
Schnittstellenabschnitt für Zugriff auf lokalen EGL-Service definieren
Wenn Sie außerhalb von Rich UI auf einen lokalen EGL-Service zugreifen, kann die Servicezugriffsvariable auf einem Schnittstellenabschnitt basieren. Der Abschnitt enthält Funktionsprototypen, die mit einigen oder allen Funktionen im Serviceabschnitt übereinstimmen.
Interface MyInterfacePart
Function GetEmployeeDetail(employeeCode STRING IN,
employeeSalary FLOAT OUT,
employeeStatus STRING INOUT)
returns(myEmployeeRecordPart);
end
Dieses Beispiel enthält nur einen Funktionsprototyp, es sind aber mehrere möglich. Ferner können Sie verschiedene EGL-Datentypen angeben und die Änderungswerte IN, OUT und INOUT verwenden.
- Klicken Sie im Projektexplorer mit der rechten Maustaste auf die EGL-Datei, die den Service definiert.
- Klicken Sie auf EGL-Services > EGL-Schnittstelle extrahieren.
- Geben Sie im Fenster Neuer EGL-Schnittstellenabschnitt die entsprechenden Details an und klicken Sie auf Fertigstellen.
Verwenden Sie keinen Schnittstellenabschnitt, der aus einer WSDL-Datei abgeleitet wurde, um beim Zugriff auf einen Nicht-SOAP-Service einen möglichen Laufzeitfehler zu vermeiden.
EGL-Binding im Implementierungsdeskriptor festlegen
Wenn Sie außerhalb von Rich UI arbeiten und auf einen lokalen EGL-Service zugreifen, müssen Sie das Service-Binding im EGL-Implementierungsdeskriptor festlegen. Die Regel gilt unabhängig davon, ob Sie einen Service- oder Schnittstellenabschnitt als Basis der Servicezugriffsvariablen verwenden.
- Doppelklicken Sie auf den Implementierungsdeskriptor.
- Klicken Sie auf der Registerkarte Service-Bindings unter 'Service-Bindings' auf Hinzufügen.
- Klicken Sie im Fenster 'Service-Binding hinzufügen' auf EGL-Binding und dann auf Weiter. Das Fenster EGL Binding hinzufügen wird angezeigt.
- Geben Sie einen Binding-Schlüssel an, der dem Namen des Service-Bindings entspricht.
Geben Sie den Binding-Schlüssel entweder ein oder gehen Sie wie folgt vor:
- Klicken Sie neben dem Feld EGL-Binding-Name auf die Schaltfläche Durchsuchen. Das Fenster für die Schnittstellenauswahl wird angezeigt.
- Wählen Sie den Namen des Schnittstellenabschnitts aus, der die Basis einer Servicezugriffsvariablen in Ihrem Code darstellt. Wenn dieser Name der Binding-Schlüssel ist, müssen Sie den Namen beim Codieren der Eigenschaft @BindService in Ihrem Code nicht angeben.
- Klicken Sie auf OK.
- Wählen Sie Lokal aus.
- Klicken Sie auf Fertigstellen. Das neue Client-Binding wird in der Liste Service-Bindings angezeigt. Die Binding-Informationen können später im Abschnitt 'EGL-Service-Binding' aktualisiert werden.
Zuordnung des EGL-Bindings zur Servicezugriffsvariablen
myService MyInterfacePart {@BindService{bindingKey="MyInterfacePart"}};
- bindingKey
- Gibt den Implementierungsdeskriptoreintrag an, der darauf hinweist, dass das Binding für den Anforderer lokal ist.
MyService MyInterfacePart {@BindService};
Einzelheiten zur (erneuten) Zuordnung des Service-Bindings zur Laufzeit finden Sie in 'Servicezugriffsvariable dynamisch binden'.