IBM Support

PI54702: Null renderer-type tag causes custom TagLib xml parse error

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Custom facelet library throws an exception if the library
    XML file contains null render-type element ("<renderer-type
    />"). This results in a parsing error of the TagLib XML and
    custom tags will not work.
    
    Example of an empty renderer-type tag:
    <tag>
    <tag-name>myinput</tag-name>
        <component>
         <component-type>com.test.MyInput</component-type>
         <renderer-type />
         </component>
    </tag>
    
    This causes the following exception:
    Caused by: java.lang.Exception: Value Cannot be Empty
    at
    org.apache.myfaces.view.facelets.compiler.TagLibraryConfigUn
    marshallerImpl$LibraryHandler.endElement(TagLibraryConfigUnm
    arshallerImpl.java:395)
    at
    org.apache.xerces.parsers.AbstractSAXParser.endElement(Unkno
    wn Source)
    ...
    
    This appears to be expected based on the code in
    TagLibraryConfigUnmarshallerImpl. Need to modify the MyFaces
    code to continue on without the Exception.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  IBM WebSphere Application Server Full       *
    *                  Profile versions 8.0 and 8.5.5 and Liberty  *
    *                  Profile version 8.5.5 users of JavaServer   *
    *                  Faces(JSF) MyFaces.                         *
    ****************************************************************
    * PROBLEM DESCRIPTION: A custom TagLib xml that contains a     *
    *                      null renderer-type element causes a     *
    *                      java.lang.Exception: Value Cannot be    *
    *                      Empty                                   *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    A custom facelet library throws an exception if a TagLib xml
    file contains a null renderer-type element (e.g. "<renderer-
    type/>"). This results in a parsing error of the TagLib and
    custom tags will not work. This causes the following exception:
    
    Caused by: java.lang.Exception: Value Cannot be Empty
    at
    org.apache.myfaces.view.facelets.compiler.TagLibraryConfigUnmars
    hallerImpl$LibraryHandler.endElement(TagLibraryConfigUnmarshalle
    rImpl.java:395)
    at
    org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown
    Source)
    at
    org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(U
    nknown Source)
    

Problem conclusion

Temporary fix

Comments

APAR Information

  • APAR number

    PI54702

  • Reported component name

    WAS LIBERTY COR

  • Reported component ID

    5725L2900

  • Reported release

    855

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2015-12-29

  • Closed date

    2016-02-09

  • Last modified date

    2016-02-09

  • 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

    WAS LIBERTY COR

  • Fixed component ID

    5725L2900

Applicable component levels

  • R855 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSD28V","label":"WebSphere Application Server Liberty Core"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"855","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
28 April 2022