IBM Support

PI31922: New JSF applications may fail after deployment if another JSF application is deployed in the server using its own EL parser

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Newly deployed JSF apps may fail with the following type of
    error if other JSF apps are already deployed in the server and
    use an EL parser aside from the default.:
    
    java.lang.IllegalArgumentException:
    argument type mismatch:.javax.el.ELException
    ..
    at
    org.apache.myfaces.view.facelets.el.TagValueExpression.setValue
       (TagValueExpression.java:129)
    at javax.faces.component.UIInput.updateModel(UIInput.java:420)
    at
    javax.faces.component.UIInput.processUpdates(UIInput.java:339)
    ...
    

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 Pages     *
    *                  (JSP)                                       *
    ****************************************************************
    * PROBLEM DESCRIPTION: Using a third-party Expression Language *
    *                      (EL) implementation could cause an      *
    *                      java.lang.IllegalArgumentException to   *
    *                      occur.                                  *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    Currently, the EL javax.el.ExpressionFactory is loaded once per
    server. This could pose a problem when multiple applications are
    installed, and an application is using a third-party EL
    implementation that sets its own javax.el.ExpressionFactory.
    An exception similar to the following could occur:
    java.lang.IllegalArgumentException:
    argument type mismatch:.javax.el.ELException at
    org.apache.myfaces.view.facelets.el.TagValueExpression.setValue(
    TagValueExpression.java:129)
    at
    javax.faces.component.UIInput.updateModel(UIInput.java:420)
    at
    javax.faces.component.UIInput.processUpdates(UIInput.java:339)
    ...
    

Problem conclusion

  • The JSP code was modified to resolve the issue. To enable this
    new behaviour, the following WebContainer custom property must
    be set to true:
    
    com.ibm.ws.jsp.allowExpressionFactoryPerApp (true/false-
    default).
    This APAR requires changes to documentation.
    
    NOTE: Periodically, we refresh the documentation on our Web
    site, so the changes
    might have been made before you read this text. To access the
    latest on-line
    documentation, go to the product library page at:
    
    http://www.ibm.com/software/webservers/appserv/library
    
    The following changes to the WebSphere Application Server
    Versions 8.0 and 8.5 Knowledge
    Centers will be made available in March, 2015.
    
    The topic "Web container custom properties" will be updated to
    include the following description of the new custom property:
    
    com.ibm.ws.jsp.allowExpressionFactoryPerApp
    
    
    If other JSF applications are already deployed in the server and
    use an EL parser other than the default,
    the JSF application you are deploying can have the following
    error:
    
    java.lang.IllegalArgumentException:
    argument type mismatch:.javax.el.ELException
    ..
    at
    org.apache.myfaces.view.facelets.el.TagValueExpression.setValue
       (TagValueExpression.java:129)
    at javax.faces.component.UIInput.updateModel(UIInput.java:420)
    at
    javax.faces.component.UIInput.processUpdates(UIInput.java:339)
    ...
    
    To avoid this error, set
    com.ibm.ws.jsp.allowExpressionFactoryPerApp=true
    to load the ExpressionFactory that is set by the application and
    indicate that the application is using a custom expression
    language (EL)
    implementation (for example, Java Unified Expression Language),
    which needs to set its own ExpressionFactory.
    
    
    Data Type  String
    Default  false
    Acceptable values  true or false
    
    The fix for APAR PI31922 is currently targeted for inclusion in
    Service Level 8.0.0.11 and 8.5.5.6 of WebSphere Application
    Server.
    
    Please refer to the Recommended Updates page for delivery
    information:
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    
    In addition, please refer to URL:
    http://www.ibm.com/support/docview.wss?rs=404&uid=swg27006970
    for Fix Pack PTF information.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI31922

  • Reported component name

    WEBSPHERE FOR Z

  • Reported component ID

    5655I3500

  • Reported release

    800

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2014-12-22

  • Closed date

    2015-03-03

  • Last modified date

    2015-05-26

  • 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

    WEBSPHERE FOR Z

  • Fixed component ID

    5655I3500

Applicable component levels

  • R800 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SS7K4U","label":"WebSphere Application Server for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"800","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
28 April 2022