++ Sie können einen logischen Abschnitt generieren und implementieren, der unter z/OS CICS ausgeführt wird und auf einen Web-Service zugreift.
Voraussetzungen
- ++ Es müssen ein EGL-Projekt, ein EGL-Implementierungsdeskriptor und eine
WSDL-Datei (WSDL - Web Services Description Language) vorhanden sein, die Schnittstellendetails zum Service, auf den zugegriffen werden soll,
bereitstellt.
- ++ Wenn der EGL-generierte COBOL-Code einen Web-Service anfordert und
die einfache HTTP-Authentifizierung verwendet (also bei Verwendung der Systemfunktion serviceLib.setHTTPBasicAuthentication()), muss der CICS-Systemadministrator den Transporthandler ELAWSHBA für CICS definieren, indem er die folgenden Anweisungen zur Requester-Pipeline CONFIGFILE hinzufügt:
<transport>
<default_http_transport_handler_list>
<handler>
<program>
ELAWSHBA
</program>
</handler>
</default_http_transport_handler_list>
</transport>
++ Der Transporthandler ELAWSHBA ist im
Lieferumfang Ihres EGL-COBOL-Runtime-Produkts enthalten.
++ Gehen Sie wie folgt vor, um einen Web-Serviceanforderer in CICS zu implementieren:
- ### Fügen Sie die Web-Service-Binding-Informationen hinzu. ++ Weitere Informationen finden Sie im Abschnitt
“SOAP-Service-Binding zu Implementierungsdeskriptor hinzufügen”.
- ++ Erstellen Sie einen Programmabschnitt, der diesen Web-Service verwendet.
- ++ Legen Sie im Builddeskriptor des Projekts die folgenden Builddeskriptoroptionen fest:
- deploymentDescriptor
- ++ Der Name des EGL-Implementierungsdeskriptors, zu dem Sie die Binding-Informationen
hinzugefügt haben.
- destDirectory
- ++ Das Stammverzeichnis des hierarchischen Dateisystems, das Ordner enthält, in denen die generierte
Bindingdatei und die WSDL-Datei des Web-Service gespeichert werden. ++ Ein Beispielwert für destDirectory
ist /u/myname/requesters. CICS muss über Lese- und Schreibzugriff
für dieses Verzeichnis verfügen.
Die Bindingdatei des Web-Service ist für die Konvertierung von
SOAP-Nachrichten in COBOL-Nachrichten zur Ausführungszeit erforderlich.
- destHost
- ++ Gibt den Namen oder die numerische TCP/IP-Adresse des Zielsystems an,
auf dem sich der Build-Server befindet.
- destPassword
- ++ Gibt das Kennwort an, das EGL zum Anmelden beim fernen
Build-Server verwendet, auf dem Ihre Ausgabe für die Implementierung vorbereitet wird.
- destPort
- Geben Sie den Port an, auf dem ein ferner Build-Server für Buildanforderungen empfangsbereit ist.
- destUserID
- ++ Gibt die Benutzer-ID an, die EGL zum Anmelden beim fernen
Build-Server verwendet, auf dem die Vorbereitung durchgeführt wird.
- genDirectory
- ++ Gibt den vollständig qualifizierten Pfad des Verzeichnisses an, in dem
EGL die generierte Ausgabe, die Steuerdateien und die Ergebnisdateien speichert.
- prep
- ++ Setzen Sie prep auf "YES".
- serverType
- ++ Setzen Sie serverType auf "CICS3.1".
- system
- ++ Setzen Sie system auf "ZOSCICS".
- ++ Generieren Sie das Programm und den Implementierungsdeskriptor.
- ++ Definieren Sie einen Web-Service vom Typ "PIPELINE":
- ++ Wenn Sie einen Web-Service vom Typ PIPELINE für Anforderer erstellen müssen, geben Sie den folgenden
Befehl ein:
CEDA DEF PIPELINE(name) GROUP(group)
++ Verwenden Sie für name
den Namen der neuen PIPELINE und für gruppe
den Namen der Gruppe.
- ++ Geben Sie für CONFIGFILE /u/cicsts31/pipelines/basicsoap11requester.xml an.
++ Wenn der Code die einfache HTTP-Authentifizierung verwendet, stellen Sie sicher, dass CONFIGFILE
auf den erneut verbundenen Transporthandler ELAWSHBA verweist, wie zuvor in diesem Abschnitt angemerkt.
- ++ Geben Sie für SHELF zielverzeichnis/requester/shelf an.
Hierbei steht zielverzeichnis für den Wert, den Sie für die
Builddeskriptoroption destDirectory verwendet haben.
- ++ Geben Sie für WSDIR zielverzeichnis/requester an.
Hierbei steht zielverzeichnis für den Wert, den Sie für die
Builddeskriptoroption destDirectory angegeben haben.
- ++ Erstellen Sie ein Programm für den Anforderer, indem Sie den folgenden Befehl eingeben:
CEDA DEFINE PROGRAM(name) GROUP(gruppe) LANGUAGE(COBOL)
++ Verwenden Sie für name
den Programmnamen und für gruppe den Gruppennamen.
- ++ Erstellen Sie eine Transaktion für den Anforderer, indem Sie den folgenden Befehl eingeben:
CEDA DEFINE TRANSACTION(name) GROUP(gruppe) PROGRAM(programName) TWASIZE(1024)
++ Verwenden Sie
den Transaktionsnamen für name, den Gruppennamen
für gruppe und den Programmnamen für programmname.
- ++ Installieren Sie die Gruppe, indem Sie den folgenden Befehl eingeben:
CEDA INSTALL GROUP(gruppe)
++ Verwenden Sie
den Namen der Gruppe für gruppe.
- Führen Sie die Transaktion aus.