A fix is available
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:
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
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