Outbound SOAP Implementation - zOS

Outbound SOAP Implementation

Outbound SOAP requests are made via a submitted batch job. The batch job utilizes Universal Command to initiate Universal Command Agent for SOA on a Linux server.

The SOAP method used is request / acknowledge, which means that the batch job completes once it has received an acknowledgement from the application that the delivered SOAP message has been received. At this point, Universal Agent is not aware of the status of any application processes initiated by the delivered SOAP message.

The outbound SOAP message delivered to the application contains the following three parameters:

  1. Run Date: Current date in the format YYYY-MM-DD.
  2. Request Identifier: Provided by the application.
  3. Run Type: Currently, START is the only valid value.

JCL

The following JCL will initiate the outbound SOAP request.

//TZE025R2 JOB (TEST,CC0KG1500000),'WINDOWS',                           JOB08030
//             CLASS=S,
//             MSGCLASS=R
//*
// JCLLIB ORDER=TEST.SYS5.UNV.SUNVSAMP
//* ********************************************************************
//* * Sample SOA Communication for R1 
//* * ******************************************************************
//* * STEPS - FUNCTION
//* * -----   -------------------------------------------------------
//* * SYSIN - Target destination for process / LINUX
//* * INPUT - Universal Command Options to execute SOAP
//* * UNVIN - PAYLOAD being passed to server
//* ********************************************************************
//STEP1    EXEC UCMDPRC
//LOGIN    DD  DISP=SHR,DSN=ZE025.PROD.INDESCA(IDNPSWD)
//SYSIN    DD  DISP=SHR,DSN=ABC.CONTROL.UPARMLIB(HOSTPARM)
//INPUT    DD  DISP=SHR,DSN=ABC.CONTROL.UPARMLIB(SOAPCALL)
//UNVIN    DD  DISP=SHR,DSN=ABC.CC030210.PMS002.STGXML.START

This JCL executes the Universal Command JCL procedure.

DD Statements

The DD Statements contain the following:

LOGIN DD

Encrypted password for the Linux Server running Universal Command Agent for SOA. The encrypted file is created with the Universal Encrypt utility.

SYSIN DD

Universal Command runtime parameters:

  • -host
    DNS name or IP address of the Linux Server running Universal Command Agent for SOA.
  • -encryptedfile
    Specified the DD name that will contain the encrypted password file.
  • -script
    Specifies the DD name that will contain the Universal Command Agent for SOA runtime parameters that are passed to the Universal Command for Agent SOA.
  • -script_type
    The value SERVICE tells Universal Command that this is a SOA process.

Outbound SOAP Request - SYSIN DD Contents

-host                   deveis01
-encryptedfile          LOGIN
-script                 INPUT
-script_type            SERVICE


INPUT DD

Universal Command Agent for SOA runtime parameters:

  • -protocol
    Indicates which of the supported SOA protocols to use for this request.
  • -mep
    The value REQUEST tells the Universal Command Agent for SOA that this request is synchronous (two-way and blocked until a reply is sent by the target workload).
  • -serviceurl
    Specifies the URL address (internet, network, or file-based) of the target workload.
  • -serviceusername
    Specifies the user name to be passed to the target workload for authentication.
  • -servicepassword
    Specifies the password to be passed to the target workload for authentication.
  • -timeoutsec
    Specifies the length of time - in seconds - to wait for the request to complete.

Outbound SOAP Request - SYSIN DD Contents

-protocol SOAP
-mep request
-serviceurl http://asmws2/rbs_ws/services/BatchCtrlSvcWS
-serviceusername dummy
-servicepassword dummy
-timeoutsec 120


UNVIN DD

Universal Command for SOA payload. Contains the values for Run Date, Request Identifier and Request Type.

Outbound SOAP Request - SYSIN DD Contents

<est:processBatchCtrlSvcTxn
 xmlns:est="http://abcinsurance.com//services/establish-task-facade/">
            <batchctrlsvcReq>
               <ReqHeader>
                  <ReqId>AUT4510021710113870000200</ReqId>
                  <CmdType>request</CmdType>
                  <CmdMode>alwaysRespond</CmdMode>
                  <UserId></UserId>
                  <Passwd></Passwd>
               </ReqHeader>
               <BatchCtrlSvc_ReqRecord>
                  <Action>START</Action>
                  <EODDt>2010-02-17</EODDt>
               </BatchCtrlSvc_ReqRecord>
            </batchctrlsvcReq>
         </est:processBatchCtrlSvcTxn>


Components

Universal Command

Universal Command Agent for SOA

Universal Encrypt