IBM Support

PH28694: EJB method names that differ only in capitalization may result in org.omg.CORBA.BAD_OPERATION

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • Per the CORBA specification, when an EJB has methods whose
    names differ only by their capitalization, JIT deploy will
    generate new method names in the ties and stubs that are
    slightly mangled from the original name. For example, the
    method "ejbNamedMethod" becomes "ejbNamedMethod_4_9" instead.
    
    Under certain conditions, the EJB deploy tool may have
    generated stubs and ties that preserved the original method
    names.  In these cases, using a stub generated by EJB deploy
    with a tie generated by JIT deploy can result in the following
    type of exception when making a remote EJB call:
    
    org.omg.CORBA.BAD_OPERATION: <method name>
      at <generated_EJB_Tie>._invoke()
    

Local fix

  • In the EJB application, create the file
    META-INF/ibm_ejbext.properties with one line containing the
    text:
    
    containsTimedObject=false
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  Users of IBM WebSphere Application          *
    *                  Server with EJB applications that have      *
    *                  been previously deployed by the EJB deploy  *
    *                  tool.                                       *
    ****************************************************************
    * PROBLEM DESCRIPTION: Per the CORBA specification, when       *
    *                      an EJB has methods whose names differ   *
    *                      only by their capitalization, JIT       *
    *                      deploy will generate new method names   *
    *                      in the ties and stubs that              *
    *                      are slightly mangled from the           *
    *                      original name. For example, the method  *
    *                      "ejbNamedMethod"                        *
    *                      becomes "ejbNamedMethod_4_9" instead.   *
    *                      Under certain conditions, the           *
    *                      EJB deploy tool may have generated      *
    *                      stubs and ties that preserved the       *
    *                      original method names.  In these        *
    *                      cases, using a stub generated by EJB    *
    *                      deploy with a tie generated by JIT      *
    *                      deploy can result in the following      *
    *                      type of exception when making a         *
    *                      remote EJB call:                        *
    *                      org.omg.CORBA.BAD_OPERATION: <method    *
    *                      name>                                   *
    *                      at <generated_EJB_Tie>._invoke()        *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    A remote EJB call made to one of the affected methods will
    result in:
    org.omg.CORBA.BAD_OPERATION: <method
    name>
    at <generated_EJB_Tie>._invoke()
    There are other reasons that this exception can occur, so this
    APAR is only for the case where the EJB's remote interface has
    two methods that differ only in their capitalization and one
    of those methods is the one being called when the exception
    occurs.
    For example:
    ejbNamedMethod and ejbnamedMethod
    

Problem conclusion

  • JIT deploy has been updated to generate ties containing
    methods with both mangled names and unmangled names by
    default. That way, the stub will be able to call the method
    regardless of what name it is trying to use.
    
    The fix for this APAR is targeted for inclusion in fix packs
    8.5.5.21 and 9.0.5.9. For more information, see 'Recommended
    Updates for WebSphere Application Server':
    https://www.ibm.com/support/pages/node/715553
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH28694

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    850

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2020-08-20

  • Closed date

    2021-08-12

  • Last modified date

    2021-08-12

  • 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

    WEBS APP SERV N

  • Fixed component ID

    5724H8800

Applicable component levels

  • R850 PSY

       UP

  • R900 PSY

       UP

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

Document Information

Modified date:
01 November 2021