IBM Support

PM29247: READNEXT HTTPHEADER RESP(16) RESP2(6) START_BROWSE FORMFIELD_UNKNOWN_FORMTYPE

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • You are attempting to perfrom a LINK to the called program
    and build "WBBL-PARMS" through the COMMAREA from the calling
    program. You received the following trace exception entries,
    AP E161 EXEC EXIT -
     WEB READNEXT HTTPHEADER NAMELENGTHVALUEVALUELENGTH
     RESP(16) RESP2(6) NOHANDLE COBOLII
    
    WB 0311 WBAPF  EXIT  -
     FUNCTION(START_BROWSE) RESPONSE(EXCEPTION)
     REASON(FORMFIELD_UNKNOWN_FORMTYPE)
     HTTP_BUFFER_NAME(00000000 , 00000000 , 00000000)
    
    AP E161 EXEC EXIT
     WEB STARTBROWSE RESP(16) RESP2(153) NOHANDLE COBOLII
    
    It is hitting a bug in the forms processing code.
    That code is relying on bit wrb_url_encoded_body being set.
    However, that bit is only getting set when the request comes
    in via a TCPIPSERVICE and not when the request is received
    by an external link to DFHWBBLI.  If that bit is not set
    then the routine expects this to be a multipart form so
    checks the content-type for multipart/form-data.  That
    string isn't found so the exception gets reported.
    
    Similar issue with GET method (rather than POST method).
    When HTTP request is received by external link to DFHWBBLI, GET
    method placed the form data in the first line of the HTTP
    request and it omittied the request boday entirely. It would not
    work when get the form fields.
    
    Additional Symptom(s) Search Keyword(s): KIXREVJXD
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All CICS users                               *
    ****************************************************************
    * PROBLEM DESCRIPTION: EXEC CICS WEB READ FORMFIELD and        *
    *                      EXEC CICS WEB STARTBROWSE FORMFIELD     *
    *                      fail when DFHWBBLI is called directly   *
    *                      from a user application.                *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    An application links directly to DFHWBBLI.  A valid commarea
    has been supplied and the HTTP request is a POST whose body
    is a url encoded form.
    
    The target server program in CICS issues an EXEC CICS WEB READ
    FORMFIELD or EXEC CICS WEB STARBROWSE FORMFIELD command to
    process the supplied forms data.
    
    This command fails with INVREQ and RESP2=153.  The reason for
    this is that the forms processing code is reliant on bit
    wrb_url_encoded_body being set on in the Web Request Block
    (WRB).  That bit has not been set when DFHWBBLI is linked to
    from a user application.  This causes the forms code to assume
    the form is a multipart form and attempts to locate the
    boundary string supplied as part of the Content-Type header.
    This fails (correctly) and the INVREQ is returned.
    
    If the forms data is sent in as a valid multipart form instead
    of a url encoded form then the command will fail with INVREQ
    and RESP2=14.  This is because fields wrb_request_header_ccsid
    and wrb_characterset have not been set.
    
    If the forms data is supplied as a querystring on a GET request
    then the commands will fail with INVREQ and RESP2=13 because
    fields wrb_querystring_offset and wrb_querystring_length have
    not been set.
    
    In addition to the above, the forms processing code expects the
    body of the HTTP request to be in ASCII.  There is no way to
    indicate to DFHWBBLI that the data has been supplied in ASCII.
    

Problem conclusion

  • A new constant WBBL_MODE_ASCII_DATA with value 'D' has been
    added to the DFHWBBLI copybooks.  Setting WBBL_MODE to this
    value indicates that the parameter list is in offset mode and
    that the body of the HTTP request (referenced by
    WBBL_USER_DATA_OFFSET) is in ASCII.
    
    DFHWBBLI has been altered to ensure that fields in the
    Web Request Block used by the forms processing code have been
    set to appropriate values.
    
    
    The CICS Transaction Server for z/OS Version 4 Release 1
    Supplementary Data Areas manual (GC34-7015-02) will be updated
    as follows;
    
    In section 'WBBLC Web Business Logic Interface parameters',
    
    Replace the text describing the usage of wbbl_mode with
    
    ! A single character that indicates the addressing mode for
    ! "wbbl_indata" and "wbbl_outdata". It must be set to 'P' to
    ! indicate that these values are pointers, or to 'O' or 'D' to
    ! indicate that these values are offsets (from the start of the
    ! parameter list).  'D' also indicates that the user data is in
    ! ASCII (ISO-8859-1).
    
    Replace the text describing wbbl_indata_offset with
    
    ! If "wbbl_mode" is 'O' or 'D', this field is the offset (from
    ! the start of the parameter list) of the HTTP request data
    ! that is to be passed to the application.
    
    Replace the text describing wbbl_outdata_offset with
    
    ! If "wbbl_mode" is 'O' or 'D', this is the fullword in which
    ! DFHWBBLI will return the offset (from the start of the
    ! parameter list) of the response data from the application.
    ! This offset is not necessarily the same as
    ! "wbbl_indata_offset".
    
    
    Make the following changes to Table 801,
    
    Change the description of WBBL_MODE to be
      'O'=offset,'P'=pointer,'D'=ascii data
    
    Change the description of WBBL_INDATA_OFFSET to be
      Offset of request (MODE=O or MODE=D)
    
    Change the description of WBBL_OUTDATA_OFFSET to be
      Offset of response (MODE=O or MODE=D)
    
    
    Add a new entry to Table 802
    
    Len  Type        Value  Name
    1    CHARACTER   D      WBBL_MODE_ASCII_DATA
    
    
    
    The CICS Transaction Server for z/OS Version 4 Release 1
    Internet Guide (SC34-7021-01) will be updated as follows;
    
    In section 'Offset mode and pointer mode' add the following to
    the bulleted list that follows figure 26
    
     o Set wbbl_mode to "D" to indicate offset mode and that the
       body of the HTTP request (referenced by
       wbbl_user_data_offset) is in ASCII.  This is required if
       the server program uses any of the FORMFIELD API commands.
    
    In 'Appendix G. Reference information for DFHWBBLI, CICS
    business logic interface' update the 'Parameters for the
    business logic interface, DFHWBBLI' section as follows;
    
    Change the description of wbbl_indata_offset to be
    If wbbl_mode is "O" or "D", this field is the offset (from the
    start of the parameter list) of the HTTP request data to be
    passed to the application.
    
    Change the description of wbbl_outdata_offset to be
    
    If wbbl_mode is "O" or "D", this is the fullword in which
    DFHWBBLI returns the offset (from the start of the parameter
    list) of the response data from the application. This address
    in not necessarily the same as wbbl_indata_offset.
    

Temporary fix

  • FIX AVAILABLE BY PTF ONLY
    

Comments

APAR Information

  • APAR number

    PM29247

  • Reported component name

    CICS TS Z/OS V4

  • Reported component ID

    5655S9700

  • Reported release

    600

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2010-12-20

  • Closed date

    2011-01-19

  • Last modified date

    2011-02-01

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

    PM21066

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

    UK64059 UK64058 UK64060 UK64061

Modules/Macros

  •    DESWBAP  DESWBBLI DESWBDM  DESWBRQ  DESWBRQF
    DESWBSR  DESWBXM  DFHWBAP  DFHWBAPF DFHWBBLC DFHWBBLD DFHWBBLH
    DFHWBBLI DFHWBBLL DFHWBBLO DFHWBDM  DFHWBRQS DFHWBSR  DFHWBXM
    

Publications Referenced
SC34702101GC34701502   

Fix information

  • Fixed component name

    CICS TS Z/OS V4

  • Fixed component ID

    5655S9700

Applicable component levels

  • R600 PSY UK64058

       UP11/01/27 P F101

  • R601 PSY UK64059

       UP11/01/27 P F101

  • R602 PSY UK64060

       UP11/01/27 P F101

  • R603 PSY UK64061

       UP11/01/27 P F101

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.

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGMGV","label":"CICS Transaction Server"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"4.1","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"4.1","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
01 February 2011