PQ52091: WHEN JAVAX.EJB.EJBEXCEPTION WAS NEWED AND THROWN FROM AN EJB, CORBA UNKNOWN WITH UNCHECKEDEXCEPTION WAS RETURNED TO CLIENT | |||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||
![]() APAR status Closed as program error. Error description When javax.ejb.EJBException was newed and thrown in an EJB, CORBA UNKNOWN GIOP REPLY with RMI:com.ibm.ejs.container.UncheckedException was sent back to the client. The client should never see an UncheckedException from the server.Local fix Problem summary **************************************************************** * USERS AFFECTED: All users of WebSphere Application Server * * V4.0 for z/OS and OS/390. * **************************************************************** * PROBLEM DESCRIPTION: J2EE clients receiving instances of * * com.ibm.ejs.container.Unchecked- * * Exceptions in the service context * * of the returned RemoteException. * * Clients cannot unmarshal this * * proprietary exception. * **************************************************************** * RECOMMENDATION: * **************************************************************** While clients are receiving RemoteExceptions from the server, as per ejb1.1 specifications, the sevice contexts of those exceptions continue to hold an instance of UncheckedException, the exception object that caused the unmarshal exception in the first place. When the client attempts to examine and process the contents of the service context, the original unmarshal problem occurs.Problem conclusion This fix correctly interprets the ejb1.1 and rmi-iiop specifications to map and throw exceptions back to the client. With this fix, the service contexts of exceptions returning to the client will contain exception instances that clients will be able to unmarshal correctly. The container part com/ibm/ejs/container/EJSDeployedSupport.java was modified to correctly catch for exceptions that could be thrown during bean method processing as described by the ejb1.1 specification and correctly processes them for return by the orb. The orb part com/ibm/ws390/rmi/corba/ResponseHandlerImpl.java was modified to add exception detail information to its transport mechanism for exceptions being returned to the client. A new minor code (C9C25805) was added to com/ibm/ws390/util/MinorCodes.java to indicate that a specific kind of exception (EJBException) was raised by the bean method but that it did not wrap an original exception. This scenario is permissable, but the container will react to it in a certain manner and return an org.omg.CORBA.UNKNOWN exception containing minor code C9C25805 for explanation. The following publication was revised as a result of APAR PQ52091: ________________________________________________________________ WebSphere Application Server V4.0 for z/OS and OS/390 Messages and Diagnosis GA22-7837-00 ________________________________________________________________ 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/ ________________________________________________________________ Chapter 13, pg. 445 (new message) C9C25805 Explanation: Bean method raised an EJBException that did not contain an internal exception. User Response: Bean methods should utilize EJBExceptions to encapsulate runtime errors. EJBExceptions are instances of RuntimeException and therefore will not be surfaced back to a client. Only Application Exceptions, exceptions specified on the beans remote interface and RemoteExceptions are to be surfaced back to the client as per the EJB1.1 specification. EJBExceptions are not coded on the remote interface. Re-Code the bean method to utilize EJBExceptions in this manner or anticipate that the client will see this UNKNOWN/minor code combination as a RemoteException. ________________________________________________________________ APAR PQ52091 is associated with SERVICE LEVEL W400038 of WebSphere Application Server V4.0 for z/OS and OS/390.Temporary fix Comments
APAR is sysrouted FROM one or more of the following: APAR is sysrouted TO one or more of the following: UQ57848 Modules/Macros
|
Document Information |
Product categories: Software > Application Servers >
Distributed Application & Web Servers > WebSphere Application
Server for z/OS
Operating system(s):
Software version: 400
Software edition:
Reference #: PQ52091
IBM Group: Software Group
Modified date: Oct 2, 2001
(C) Copyright IBM Corporation 2000, 2006. All Rights Reserved.