Web-Serviceanforderer in CICS implementieren

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:

  1. Fügen Sie die Web-Service-Binding-Informationen hinzu. Weitere Informationen finden Sie im Abschnitt “SOAP-Service-Binding zu Implementierungsdeskriptor hinzufügen”.
  2. Erstellen Sie einen Programmabschnitt, der diesen Web-Service verwendet.
  3. 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".
  4. Generieren Sie das Programm und den Implementierungsdeskriptor.
  5. Definieren Sie einen Web-Service vom Typ "PIPELINE":
    1. 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.
    2. 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.
    3. 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.
    4. Geben Sie für WSDIR zielverzeichnis/requester an. Hierbei steht zielverzeichnis für den Wert, den Sie für die Builddeskriptoroption destDirectory angegeben haben.
  6. 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.
  7. 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.
  8. Installieren Sie die Gruppe, indem Sie den folgenden Befehl eingeben:
    CEDA INSTALL GROUP(gruppe)
    Verwenden Sie den Namen der Gruppe für gruppe.
  9. Führen Sie die Transaktion aus.