IBM Support

PH38635: HTTPRNUM AND HTTPVNUM ON THE WEB OPEN PRODUCES UNEXPECTED RESULTS

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The following two issues related to outbound AT-TLS connections
    being closed, are encountered depending on the setting of
    HTTPRNUM and HTTPVNUM on the Web Open;
    
    1) When application specifies HTTPRNUM and HTTPVNUM on the Web
    Open, the send of the Options request finds that the pooled
    connection being used is closed.  This results in the problem of
    the Web Open completing OK with a bad sesstoken, and then the
    Web Converse with that bad sesstoken results in NOTOPEN (AEIS).
    
    2) When the application does not specify HTTPRNUM and HTTPVNUM
    on the Web Open, CICS does not discover that the pooled
    connection being used is closed until the Send part of the Web
    Converse.   When CICS discovers that, it closes that bad
    connection and creates another one and uses that new connection
    on the Send.  But it looks like the problem is that it creates
    the new connection on the QR TCB. Then it does the Send on the
    QR TCB and that works.  But on the receive part of the converse,
    it switches to the SO TCB and then gets EBADF because the socket
    was created on the QR TCB.
    

Local fix

  • NA
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All CICS users.                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: ABEND AEIS (NOTOPEN) or ABEND AEIQ      *
    *                      (IOERR) on EXEC CICS WEB CONVERSE when  *
    *                      using AT-TLS connections.               *
    ****************************************************************
    CICS is acting as a HTTP client.  A URIMAP is defined with
    USAGE(CLIENT) and a non-zero SOCKETCLOSE value to enable the use
    of outbound connection pooling.  The connection to the target
    server has been secured using AT-TLS.
    
    An idle connection is sat in the pool when it gets closed by the
    server.  As this is an AT-TLS connection a receive call is
    needed to trigger the AT-TLS layer to handle the closure.  CICS
    does not have an outstanding receive on this connection so the
    closure goes undetected.  When the connection is selected to be
    reused by a later CICS task, CICS makes a blocking receive call
    to try and work out if the connection is still active.  This
    call indicates the connection is still active, but has the side
    effect of triggering the AT-TLS layer to handle the closure.
    
    When the CICS task tries to use this connection the attempt to
    send a request to the server fails unexpectedly with
    ECONNABORTED because the AT-TLS layer has now completed closing
    the socket.
    
    If the send was for an OPTIONS request as part of an EXEC CICS
    WEB OPEN then the command will return OK but with an invalid
    session token.  The following EXEC CICS WEB SEND or EXEC CICS
    WEB CONVERSE command will return NOTOPEN and abend AEIS if
    that is not handled.  If the send was an EXEC CICS WEB SEND or
    part of an EXEC CICS WEB CONVERSE then these commands will
    return IOERR and abend AEIQ if not handled.
    
    Additional Keywords:
    ABENDAEIS  ABENDAEIQ
    

Problem conclusion

  • DFHWBCL has been changed to;
     - return the correct exception response on the WEB OPEN command
       instead of OK.
     - attempt to establish a new connection if the WEB OPEN command
       sending of the HTTP OPTIONS request detects that the
       connection was closed while the socket was in the pool.
     - make sure that the newly established socket is created on
       the correct TCB (SO or S8) and not on QR.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH38635

  • Reported component name

    CICS TS Z/OS V5

  • Reported component ID

    5655Y0400

  • Reported release

    100

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2021-07-01

  • Closed date

    2021-11-12

  • Last modified date

    2021-12-01

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    UI78048 UI78049 UI78050

Modules/Macros

  • DFHSOAD  DFHSOCK  DFHSODM  DFHSODUF DFHSOIS  DFHSOL   DFHSOLI
    DFHSOLS  DFHSOLX  DFHSOLX6 DFHSOM01 DFHSOM02 DFHSOM03 DFHSOPL
    DFHSORD  DFHSOS00 DFHSOS01 DFHSOS02 DFHSOS03 DFHSOS04 DFHSOS05
    DFHSOS06 DFHSOS07 DFHSOS08 DFHSOS09 DFHSOS10 DFHSOS11 DFHSOS12
    DFHSOS13 DFHSOS14 DFHSOS15 DFHSOS16 DFHSOS17 DFHSOS18 DFHSOS19
    DFHSOS20 DFHSOS21 DFHSOS22 DFHSOS23 DFHSOSE  DFHSOST  DFHSOTB
    DFHSOTI  DFHSOTRI DFHSOUE  DFHSOXM  DFHWBCL  DFHWBCLI DFHWBDUF
    DFHWBSO  DFHWBSV  DFHWBXM
    

Fix information

  • Fixed component name

    CICS TS Z/OS V5

  • Fixed component ID

    5655Y0400

Applicable component levels

  • R100 PSY UI78050

       UP21/11/13 P F111

  • R200 PSY UI78049

       UP21/11/13 P F111

  • R300 PSY UI78048

       UP21/11/13 P F111

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.

[{"Line of Business":{"code":"LOB35","label":"Mainframe SW"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGMGV","label":"CICS Transaction Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"5.4"}]

Document Information

Modified date:
02 December 2021