IBM Support

PK58721: CHANGES TO PIPELINE AND WEB SUPPORT PROCESSING

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as new function.

Error description

  • The following problems are addressed:
    The pipeline fails with a severe error if it receives a
    request, such as a GET or DELETE, that has no entity body,
    because it looks for a Content-Type header, which is not
    present for those methods.
    .
    There is no way for the application to specify a mediatype for
    the HTTP response, other than text/xml or application/soap+xml,
    which are the mediatypes for SOAP1.1 and SOAP1.2 respectively.
    .
    CICS Web Support does not recognize the following mediatypes as
    textual content, so does not do the appropriate codepage
    conversions:
      application/javascript
      application/ecmascript
      application/json
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All CICS Users                               *
    ****************************************************************
    * PROBLEM DESCRIPTION: The CICS pipeline does not support a    *
    *                      number of features that are required    *
    *                      for non-SOAP HTTP usage:                *
    *                      1. In CICS TS 3.1, if a pipeline's      *
    *                         terminal handler program specifies   *
    *                         HTTP headers using the WEB WRITE     *
    *                         HTTPHEADER command, the headers are  *
    *                         not added to the HTTP response.      *
    *                      2. In CICS TS 3.2, the pipeline fails   *
    *                         when used with HTTP methods that do  *
    *                         not require an entity body, such as  *
    *                         GET and DELETE, because it rejects   *
    *                         requests that do not specify a       *
    *                         Content-Type header.                 *
    *                      3. There is no way to specify the final *
    *                         HTTP status code or media type for   *
    *                         the response.                        *
    *                      4. The following media types are not    *
    *                         recognized as character based, so    *
    *                         the required conversions between     *
    *                         EBCDIC and ASCII are not performed.  *
    *                           application/javascript             *
    *                           application/ecmascript             *
    *                           application/json                   *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    1. In CICS TS 3.1, the code that generates HTTP headers for
       container-generated responses uses a different code-path
       from that for document responses, and the code that
       propagates user-supplied headers is missing.
    2. In CICS TS 3.2, pipeline processing reads the Content-Type
       header to determine the mediatype of the incoming message
       body, and produces a severe error if it is absent, even if
       the HTTP method is one that does not require a message body.
    3. Although the CICS-supplied SOAP handlers provide correct
       HTTP status codes and media types, there is no convenient
       way for user-written handler programs to establish these in
       a non-SOAP pipeline.
    4. Media types application/javascript and application/ecmascript
       defined by RFC4329, and application/json defined by RFC4627,
       are character based and so need conversion between ASCII and
       EBCDIC and vice versa. But these media types are not
       recognized as character based by CICS Web Support.
    

Problem conclusion

Temporary fix

  • FIX AVAILABLE BY PTF ONLY
    

Comments

  • 1. DFHWBAP has been changed (in CICS TS 3.1) to append the
       application-provided headers to the CICS-generated headers
       for container-provided content generated within a pipeline.
       Applications should not provide their own versions of the
       Server, Date, or Content-Length headers as this will produce
       an invalid HTTP response.
    2. DFHPITH has been changed (in CICS TS 3.2) so that it no
       longer fails if a Content-Type HTTP header is not present,
       except for the POST and PUT methods, where it is still
       required.
    3. DFHPIPM has been changed to examine two new control
       containers, DFHHTTPSTATUS and DFHMEDIATYPE, for HTTP-based
       non-SOAP service provider pipelines only. These containers
       determine the HTTP status codes and media type of the
       response message. The pipeline terminal handler program can
       create one or both of these containers to affect the response
       that is returned by the pipeline.
    4. Various routines that handle mediatypes have been modified
       to recognize application/javascript, application/ecmascript
       and application/json mediatypes as character based, so that
       the appropriate codepage conversions are done.
    
    CICS Web Services Guide Version 3 Release 1, SC34-6458-04
    page 153, and CICS Web Services Guide Version 3 Release 2,
    SC34-6838-00 page 105, under the heading "The control
    containers", will be modified to include the following container
    descriptions:
    
    Container DFHHTTPSTATUS
      DFHHTTPSTATUS is a container of DATATYPE(CHAR) that can be
      used to specify the HTTP status code and status text for a
      message that is produced in the response phase of a service
      provider pipeline. The content should be the same as the
      initial status line of an HTTP response message, namely
    
      HTTP/1.1 nnn tttttttt
    
      where HTTP/1.1 is the version and release of HTTP,
            nnn      is the three digit decimal HTTP status code
                     that you wish to return,
            tttttttt is the human-readable status text associated
                     with the status code nnn.
    
      For example:
      HTTP/1.1 412 Precondition Failed
    
      There must be no leading spaces before the HTTP version.
      The length of the container should not exceed 48 bytes, and
      the length of the status text should not exceed 32 bytes.
    
      This container is ignored when the pipeline is using the
      WebSphere MQ transport.
    
    Container DFHMEDIATYPE
      DFHMEDIATYPE is a container of DATATYPE(CHAR) that can be
      used to specify the media type for a message that is produced
      in the response phase of a service provider pipeline.
      The content should consist of a type and a subtype separated
      by a slash character, such as text/plain or image/svg+xml.
      The mediatype must not contain leading spaces and must not
      contain additional keyword parameters such as charset.
      The length of the mediatype should not exceed 56 bytes.
    
      This container is ignored when the pipeline is using the
      WebSphere MQ transport.
    

APAR Information

  • APAR number

    PK58721

  • Reported component name

    CICSTS V3 Z/OS

  • Reported component ID

    5655M1500

  • Reported release

    400

  • Status

    CLOSED UR1

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2008-01-04

  • Closed date

    2008-03-12

  • Last modified date

    2008-04-01

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

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

    UK34446 UK34447 UK34449 UK34459 UK34460 UK34464 UK34470

Modules/Macros

  •    DESPIIS  DESPITH  DESWBAP  DESWBCL  DESWBDM
    DESWBRQ  DESWBRQF DESWBSR  DESWBXM  DFHPIISC DFHPIISI DFHPIPM
    DFHPITH  DFHPIUCC DFHPIUCD DFHPIUCH DFHPIUCL DFHPIUCO DFHSPWBB
    DFHSPWBC DFHSPWBE DFHSPWBV DFHWBAP  DFHWBAPA DFHWBAPF DFHWBAPJ
    DFHWBAPM DFHWBAPT DFHWBAPV DFHWBCL  DFHWBCLA DFHWBCLB DFHWBCLC
    DFHWBCLD DFHWBCLH DFHWBCLI DFHWBCLJ DFHWBCLL DFHWBCLM DFHWBCLO
    DFHWBCLT DFHWBCLV DFHWBDM  DFHWBRQD DFHWBRQS DFHWBSR  DFHWBSRA
    DFHWBSRM DFHWBSRT DFHWBXM  DFHWBXMA DFHWBXMT
    

Publications Referenced
SC34645804SC34683800   

Fix information

  • Fixed component name

    CICSTS V3 Z/OS

  • Fixed component ID

    5655M1500

Applicable component levels

  • R400 PSY UK34429

       UP08/03/19 P F803

  • R401 PSY UK34446

       UP08/03/19 P F803

  • R402 PSY UK34447

       UP08/03/19 P F803

  • R403 PSY UK34449

       UP08/03/19 P F803

  • R500 PSY UK34459

       UP08/03/18 P F803

  • R501 PSY UK34460

       UP08/03/18 P F803

  • R502 PSY UK34464

       UP08/03/18 P F803

  • R503 PSY UK34470

       UP08/03/18 P F803

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":"3.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":"3.1","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
01 April 2008