IBM Support

PM43883: USING THE IWSBINDFILE CLASS TO CHANGE THE URI IN A WSBIND FILE RESULTS IN A DFHPI0904 MESSAGE.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • You are using the IWSBindFile class to change the URI parameter
    in a WSBIND file. This causes the WSBIND file to become
    corrupted and CICS issues a DFHPI0904 message when it attempts
    to dynamicaly create the URIMAP resource definition.
    .
    DFHPI0904 URIMAP urimapname could not be created for WEBSERVICE
    webservicename in PIPELINE pipename.
    The URI that could not be allocated is: '/some/new/uri
    .
    This is because the replacement URI is being padded with NULLS
    when it is written to the new WSBIND file instead of being
    padded with spaces. When the runtime code uses the new URI value
    it attempts to create a URIMAP with a URI containing all the
    trailing nulls. These nulls are invalid in a URI so the create
    fails.
    Additional Keywords: CS04, RDz Rational Developer
    KIXREVNDB
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All CICS users                               *
    ****************************************************************
    * PROBLEM DESCRIPTION: Using the IWSBindFile class to change   *
    *                      the URI in a WSBIND file results in a   *
    *                      msgDFHPI0904 message.                   *
    *                                                              *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    IWSBindFile class is used to update the URI value in an existing
    WSBIND file.
    
    The URI field is 255 bytes long. When setURI is called to set
    the new URI value, it creates a new byte array. If the length of
    the URI value is less than 255 bytes, the array is padded with
    nulls.
    
    When a PIPELINE SCAN is issued, module DFHPISC is called to
    update an existing webservice. It calls function
    ADD_REPLACE_URIMAP to update the URI, passing in the URI area
    and the length of the actual URI value. tlength is called to
    work out the length.
    
    tlength works out the length of the URI value by starting at the
    end of the 255 byte area and working backwards to find the first
    non-space character. Because the URI is padded with nulls, it
    stops immediately and the length returned is 255. The full 255
    null padded URI is passed to DFHWBUR and gets treated as
    invalid.
    

Problem conclusion

  • Utility class WSBindProcessor.java is changed to pad spaces at
    the end of the actural URI value instead of nulls if the URI
    value is less than 255 byte long. Other text fields that can
    be updated in the WSBIND file are now also correctly padded with
    spaces.
    

Temporary fix

  • FIX AVAILABLE BY PTF ONLY
    

Comments

APAR Information

  • APAR number

    PM43883

  • 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

    2011-07-19

  • Closed date

    2011-08-19

  • Last modified date

    2011-09-01

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

    PM41838

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

    UK70899 UK71004

Modules/Macros

  •    DFJ@H176
    

Fix information

  • Fixed component name

    CICS TS Z/OS V4

  • Fixed component ID

    5655S9700

Applicable component levels

  • R60D PSY UK70899

       UP11/08/26 P F108

  • R70D PSY UK71004

       UP11/08/26 P F108

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 September 2011