TroubleShooting: Object Request Broker (ORB) problems
 Technote (FAQ)
 
Problem
TroubleShooting for ORB problems with WebSphere® Application Server. This should help address common issues with this component before calling IBM® support and save you time.
 
Solution
Getting background information on ORB
An Object Request Broker (ORB) manages the interaction between clients and servers, using the Internet InterORB Protocol (IIOP). It enables clients to make requests and receive responses from servers in a network-distributed environment. This Information Center article describes the ORB and its use in WebSphere:

TroubleShooting steps to help resolve ORB problems

1. Are you receiving a SocketException, ConnectionException, or other network related exception when making an ORB call?

Yes - If the exception is a UnknownHostException, check that the client is able to resolve the hostname of the server being called. If you get a message stating that the socket was closed, make sure that the server is listening on port being called by the ORB client, that there are no firewalls blocking the remote port, or that security is not closing the socket because of an SSL problem. This technote explains how to configure the ORB when a firewall is being used.

No - Move to next question.

2. Does your ORB request fail during serialization/deserialization?

Yes - Is the remote ORB a 3rd party ORB? If so you will need to find out if its supported for use with WebSphere by visiting the prerequisite page for your WebSphere release. If this is an IBM ORB, make sure you are using the same SDK level as the server (i.e. 1.4.2) to avoid interoperability issues.

No - Move to next question.

3. Are you having a performance problem with ORB traffic?

Yes - This technote describes how to disable ORB fragmentation which can provide better performance for large ORB messages. If disabling fragmenting does not resolve the slow performance, check the OS for TCP/IP errors or network problems using ping (latency).

No - Move to next question.

4. Do you get an "org.omg.CORBA.COMM_FAILURE" exception when making ORB calls?

Yes - COMM_FAILURES are typically seen when there has been a network problem or if the remote server is not running. An IOR can contain a stale hostname/port which would also result in a COMM_FAILURE. An ORB trace on the client will show the hostname/port being called. With this information, you will be able to verify that the remote server is listening on the port in question using an OS tool like netstat.

No - Move to next question.

5. Do you get an "org.omg.CORBA.BAD_OPERATION" exception when making ORB calls?

Yes - This exception is typically seen when an ORB client and ORB server are using EJB stubs that are not built against the same SDK version. This APAR addressed another situation that resulted in the BAD_OPERATION exception at earlier version of WebSphere v5

No - Move to next question.

6. Do you get an "org.omg.CORBA.NO_IMPLEMENT" exception when making ORB calls?

Yes - A NO_IMPLEMENT exception means that a requested object could not be located. This indicates that even though the operation that was invoked exists (it has an IDL definition), no implementation for that operation exists. For example, a NO_IMPLEMENT error is raised when a server doesn’t exist or is not running when a clients initiates a request.

No - Move to next question

7. Do you get an "org.omg.CORBA.NO_MEMORY" exception when making ORB calls?

Yes - The NO_MEMORY exception is typically seen under load if the application is using pass by value to communicate with the remote ORB. If possible, pass by reference should be used to reduce the memory usage if possible. This technote describes another situation related to garbage collection that can result in a NO_MEMORY error.

No - Move to next question

8. Do you get an "org.omg.CORBA.NO_PERMISSION" exception when making ORB calls?

Yes - The NO_PERMISSION exception is a security related problem when the client is attempting to connect to a remote ORB. A WebSphere security trace on the remote ORB will typically indicate why the client's request is being rejected.

No - Move to next question

9. Do you get an "org.omg.CORBA.OBJECT_NOT_EXIST" exception when making ORB calls?

Yes - The OBJECT_NOT_EXIST exception indicates that the remote object requested by the client is not available. The first step to verify that the object is being registered with the LSD on the target server. An easy way to do this is with the dumpNameSpace script in the <WSAS_ROOT>/bin directory. If restarting every process in the cell resolves the problem, it is possible that the LSD has stale information about the object. This technote refers to an APAR that resolves this problem

No - Move to next question

10. Do you get an "org.omg.CORBA.TRANSIENT" exception when making ORB calls?

Yes - The TRANSIENT exception is usually followed by a root exception discussed in question #1 of this document. These are typically connection related issues and should be debugged using an ORB trace to determine where the client is attempting to connect.

What to do Next?
If the preceding steps did not help solve your problem, see the MustGather for ORB problems to continue investigation.
 
 
 


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > Object Request Broker (ORB)
Operating system(s): Windows
Software version: 6.0
Software edition:
Reference #: 1237101
IBM Group: Software Group
Modified date: May 5, 2006