While still connecting JDK 1.2.2 and MICO, the following happened. The server (MICO-) object throws an exception. The JDK-1.2 ORB catches the correct exception, but three times and the corresponding (exception throwing) server method is called three times. here's the example server method (you'll find that I like to make examples using MICO-idl generated code, so I'm sure that I don't do anything wrong ;-)) void KPRemote_impl::page_next() throw( ::CORBA::SystemException) { // add your implementation here // REMOVE cerr << "page_next()" << endl; mico_throw(::CORBA::NO_IMPLEMENT()); // REMOVE } The server is running on Solaris 2.6 and was compiled using gcc/2.95.1 And here's the Java portion: try { KPresenterInterface.kpremote().page_next(); } catch (Exception e) { System.out.println(e); } The client is compiled and run using JDK 1.2.1. If the client is run, the server prints page_next() page_next() page_next() and the client pretends to catch NO_IMPLEMENT once. If I remove the try{} from the client, the JVM console tells me about three uncaught exceptions NO_IMPLEMENT in different code locations. Is this a problem with the JDK or with gcc or anything else? How to find out? -- Dirk Foersterling PG345 BodyTalk foerster@ls7.cs.uni-dortmund.de