A fix is available
APAR status
Closed as program error.
Error description
DataPower incorrectly escapes sequence of 2 reverse solidus characters using dp:encode(_, "json-escape"). Consequently store:///jsonx2json.xsl does the same incorrect escaping.
Local fix
Problem summary
DataPower incorrectly escapes sequence of 2 reverse solidus characters using dp:encode(_, "json-escape"). The correct way to deal with reverse solidus in JSONX is to interpret it as the reverse solidus character. That would need to be escaped as "\\" in output of dp:encode(_, "json-escape"). Especially if a backend system returns "\\\\" as part of a JSON string to DataPower, it will become "\\" in JSONX by JSON response type, and would need to be escaped by dp:encode(_, "json-escape") as "\\\\" in JSON again.
Problem conclusion
Fix is available in 7.6.0.16 Back in 2015 that (correct) behavior was changed by APAR IT07570. Since then "\" was not just the reverse solidus character when appearing in JSONX, it had the same escaping functionality that it has in JSON, but in JSONX. So "\\" was interpreted as single reverse solidus character in JSONX, and dp:encode(_, "json-escape") keeps it as "\\" in JSON. Too many customer configurations as well as APIC depend on the behavior since 2015. New dp:encode(_, 'json-escape-reverse-solidus') provides the correct behavior. Please use either store:///jsonx2json.xsl or store:///jsonx2json-reverse-solidus.xsl, depending on which method of dealing with reverse solidus character in JSONX you want. For a list of the latest fix packs available, please see: http://www-01.ibm.com/support/docview.wss?uid=swg21237631
Temporary fix
Comments
APAR Information
APAR number
IT28401
Reported component name
DATAPOWER
Reported component ID
DP1234567
Reported release
760
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2019-03-11
Closed date
2019-07-23
Last modified date
2019-07-24
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
DATAPOWER
Fixed component ID
DP1234567
Applicable component levels
R18X PSY
UP
R760 PSY
UP
[{"Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SS9H2Y","label":"IBM DataPower Gateways"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"760"}]
Document Information
Modified date:
28 September 2021