IBM Support

SOAP Web Services Fail in Integrated Web Services with Prefix Error After Applying Oct 2022 IBM i HTTP Group PTF Level

Flashes (Alerts)


Abstract

With the release of the IBM WebSphere Application Server Liberty 22.0.0.9 fix pack on the IBM i OS in the October 2022 IBM i HTTP Group PTF level, SOAP web services in Integrated Web Services (IWS v2.6) and Integrated Application Server (IAS v8.5) begin to fail with a “prefix cannot be \"null\" when creating a QName” SOAP fault error.

IBM i HTTP Group PTF level introducing the issue:
7.5 - SF99952 level 4
7.4 - SF99662 level 22
7.3 - SF99722 level 41
7.2 - 5770SS1-SI80975

This issue affects all platforms and is introduced with the IBM WebSphere Application Server Liberty 22.0.0.8 and later fix pack levels. This includes the 22.0.0.9 Liberty fix pack level installed with the October 2022 IBM i HTTP Group PTF level.

Resolving IBM i PTF:
IBM i 7.5 - SI81733
IBM i 7.4 - SI81734
IBM i 7.3 - SI81735
IBM i 7.2 - SI81736

Content

RESOLUTION UPDATE - 2/1/2023!!
An IBM i PTF has been approved to resolve this issue.  The PTF can be applied immediately using the instructions below or applied delayed with an IPL.
1) Download the 5770SS1 PTF to your IBM i server.
IBM i 7.5 - SI81733
IBM i 7.4 - SI81734
IBM i 7.3 - SI81735
IBM i 7.2 - SI81736
Example: 
SNDPTFORD PTFID(SI81734)
2) Identify and end all HTTP Servers and the QHTTPSVR subsystem.
WRKACTJOB SBS(QHTTPSVR)
Identify all unique job names running in the QHTTPSVR subsystem so you can restart them.
Then, end all HTTP Servers and the QHTTPSVR subsystem.
ENDTCPSVR *HTTP HTTPSVR(*ALL)
3) Load and apply the PTF for your IBM i OS VRM temporarily.
IBM i 7.5 - SI81733
IBM i 7.4 - SI81734
IBM i 7.3 - SI81735
IBM i 7.2 - SI81736
Example: 
LODPTF LICPGM(5770SS1) DEV(*SERVICE) SELECT(SI81734)
APYPTF LICPGM(5770SS1) SELECT(SI81734) APY(*TEMP) DELAYED(*NO) APYREQ(*YES)
4) Restart your IBM HTTP Server instances and the QHTTPSVR subsystem.
STRTCPSVR *HTTP HTTPSVR(*ADMIN)
STRTCPSVR *HTTP HTTPSVR(<instance>)
SOAP Error Response

Response body ::: {"soap:Envelope":{"@xmlns:soap":"http://schemas.xmlsoap.org/soap/envelope/","soap:Body":{"soap:Fault":{"faultcode":"soap:Server","faultstring":"prefix cannot be \"null\" when creating a QName"}}}}

Impact
 
  • Affecting all platforms including the IBM i OS.  
    • IBM i HTTP Group PTF level introducing the issue:
      7.5 - SF99952 level 4
      7.4 - SF99662 level 22
      7.3 - SF99722 level 41
      7.2 - 5770SS1-SI80975
  • Causing all SOAP web service requests specifying unqualified SOAP elements in the client SOAP envelope to fail at 22.0.0.8 and later Liberty fix pack levels.
    • Affects only SOAP web services deployed to IBM i IWS v2.6 or IAS v8.5 instances after October 2022 IBM i HTTP Group PTF is applied.
    • REST web services are not affected.
  • Preventing installation of IBM WebSphere Application Server Liberty security fixes. 
    • To avoid the issue, the IBM i OS WebSphere Application Server Liberty fix pack cannot be updated to 22.0.0.8 or later.
 
IBM i specific impact

The IBM i OS leverages the IBM WebSphere Application Server Liberty product as part of the IBM i OS as the primary runtime for its IBM i Administration Server, IBM i Integrated Application Servers (IAS v8.5), and IBM i Integrated Web Services (IWS v2.6) components. 
The current IBM i OS WebSphere Application Server Liberty fix pack level is updated via PTFs, which are bundled in an IBM i HTTP Group PTF level.  The latest round of WebSphere Application Server Liberty PTFs on the IBM i updates the IBM i OS Liberty runtime to 22.0.0.9 (from 22.0.0.6), which introduces the SOAP web services issue.
One of the current workarounds is to remove the latest IBM i OS Liberty 22.0.0.9 update PTF to rollback the 22.0.0.9 Liberty fix pack to 22.0.0.6.  With the IBM i PTF structure, updating the IBM i OS Liberty runtime to apply security fixes beyond the 22.0.0.9 fix pack level would result in permanently applying the 22.0.0.9 fix pack.  This would prevent rolling back the 22.0.0.9 fix pack to resolve this issue.
 
 

Current Workaround Options:

  • Rollback the IBM WebSphere Application Server Liberty product from the 22.0.0.8 fix pack to 22.0.0.7 or earlier.
    • IMPORTANT!!! - Rolling back the IBM WebSphere Application Server Liberty fix pack level will remove critical Liberty product and security fixes, including fixes to remediate CVE-2022-22476 and CVE-2019-11777 as discussed in the IBM Security Bulletin, https://www.ibm.com/support/pages/node/6619843.
    • For the IBM i OS, this involves the removal a 5770SS1 PTF (if temporarily applied).  This will rollback the IBM i OS WebSphere Application Server Liberty runtime from 22.0.0.9 to the 22.0.0.6 fix pack level.
      NOTE:  The QHTTPSVR subsystem must be ended before removing the PTF and its dependencies.  ENDTCPSVR *HTTP HTTPSVR(*ALL)
      • 7.5 – SI80972
        • RMVPTF LICPGM(5770SS1) SELECT(SI80972) RMV(*PERM)
      • 7.4 – SI80973
        • RMVPTF LICPGM(5770SS1) SELECT(SI80973) RMV(*PERM)
      • 7.3 - SI80974
        • RMVPTF LICPGM(5770SS1) SELECT(SI80974) RMV(*PERM)
      • 7.2 – SI80975
        • RMVPTF LICPGM(5770SS1) SELECT(SI80975) RMV(*PERM)
      • Removal of a PTF can only be done when it is temporarily applied.  If IBM i development were to release a new Liberty fix pack version, the new PTF would supersede the existing PTF and permanently apply the PTF that installs 22.0.0.9 and introduces the issue.  Clients would not be able to remove the 22.0.0.9 Liberty fix pack once the associated PTF is permanently applied.
      • NOTE: If you are installing the IBM i HTTP Group PTF for the first time and do not have a previous HTTP Group PTF level applied, you will need to download and temporarily apply the appropriate 22.0.0.6 Liberty IBM i PTF after removing the 22.0.0.9 Liberty IBM i PTF discussed above.
        • 22.0.0.6 Liberty IBM i 5770SS1 PTF
          • IBM i 7.5 - SI79987
          • IBM i 7.4 - SI79988
          • IBM i 7.3 - SI79990
          • IBM i 7.2 - SI79991
  • Modify the client SOAP envelope to fully-qualify SOAP namespace elements (i.e. soap:Envelope & soap:Body, etc.)
    • Might be an option for some that only have one or two SOAP web service clients to update, but if you have numerous (hundreds or thousands) of SOAP web service clients to update; this option may be difficult.
    • If you would like to try changing your client SOAP envelope, here is an example of a working client SOAP envelope format with the fully-qualified SOAP namespace elements.
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://customer.wsbeans.iseries/">
   <soap:Body>
      <xsd:getName>
         <arg0>
            <ID>4U75C</ID>
         </arg0>
      </xsd:getName>
   </soap:Body>
</soap:Envelope>
 
Current Fix Status
2/1/2023 - An IBM i PTF has been approved to resolve this issue.  The PTF can be applied immediately using the instructions below or applied delayed with an IPL.
1) Download the 5770SS1 PTF to your IBM i server.
IBM i 7.5 - SI81733
IBM i 7.4 - SI81734
IBM i 7.3 - SI81735
IBM i 7.2 - SI81736
Example: 
SNDPTFORD PTFID(SI81734)
2) Identify and end all HTTP Servers and the QHTTPSVR subsystem.
WRKACTJOB SBS(QHTTPSVR)
Identify all unique job names running in the QHTTPSVR subsystem so you can restart them.
Then, end all HTTP Servers and the QHTTPSVR subsystem.
ENDTCPSVR *HTTP HTTPSVR(*ALL)
3) Load and apply the PTF for your IBM i OS VRM temporarily.
IBM i 7.5 - SI81733
IBM i 7.4 - SI81734
IBM i 7.3 - SI81735
IBM i 7.2 - SI81736
Example: 
LODPTF LICPGM(5770SS1) DEV(*SERVICE) SELECT(SI81734)
APYPTF LICPGM(5770SS1) SELECT(SI81734) APY(*TEMP) DELAYED(*NO) APYREQ(*YES)
4) Restart your IBM HTTP Server instances and the QHTTPSVR subsystem.
STRTCPSVR *HTTP HTTPSVR(*ADMIN)
STRTCPSVR *HTTP HTTPSVR(<instance>)

[{"Type":"MASTER","Line of Business":{"code":"LOB57","label":"Power"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SWG60","label":"IBM i"},"ARM Category":[{"code":"a8m0z0000000COsAAM","label":"Web Services-\u003EIntegrated Web Services"}],"Platform":[{"code":"PF012","label":"IBM i"}],"Version":"7.2.0;7.3.0;7.4.0;7.5.0"}]

Document Information

Modified date:
02 February 2023

UID

ibm16840733