Hello, I have a problem in a remote call by RMI of an EJB in JOnAS with Felix, which involves as far as I can say the ExtensionManager. I think I could solve my problem by disabling the "addURLToURLClassLoader" call in its static initialization block, but I did not find any "public" way to do it (configuration, arguments, etc.)
The error I get is "<code>java.io.IOException: unknown protocol: felix</code>" The stack trace is below <pre> java.net.URL.readObject(URL.java:1217) sun.reflect.GeneratedMethodAccessor113.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:585) java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946) java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809) java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719) java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) java.io.ObjectInputStream.readArray(ObjectInputStream.java:1634) java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1299) java.io.ObjectInputStream.readObject(ObjectInputStream.java:348) sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:290) sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:279) sun.rmi.transport.Transport$1.run(Transport.java:153) java.security.AccessController.doPrivileged(Native Method) sun.rmi.transport.Transport.serviceCall(Transport.java:149) sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466) sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707) java.lang.Thread.run(Thread.java:595) </pre> This exception is nested in "<code>java.rmi.UnmarshalException: error unmarshalling arguments</code>" which itself is nested in a "<code>java.rmi.ServerException</code>" <pre> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:325) sun.rmi.transport.Transport$1.run(Transport.java:153) java.security.AccessController.doPrivileged(Native Method) sun.rmi.transport.Transport.serviceCall(Transport.java:149) sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:466) sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:707) java.lang.Thread.run(Thread.java:595) sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247) sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223) sun.rmi.server.UnicastRef.invoke(UnicastRef.java:133) org.objectweb.carol.cmi.RegistryImpl_Stub.lookup(Unknown Source) org.objectweb.carol.cmi.RegistryClient.lookup(RegistryClient.java:89) org.objectweb.carol.cmi.jndi.FlatCtx.lookup(FlatCtx.java:219) org.objectweb.carol.cmi.jndi.FlatCtx.lookup(FlatCtx.java:250) javax.naming.InitialContext.lookup(InitialContext.java:351) org.objectweb.carol.jndi.spi.AbsContext.lookup(AbsContext.java:140) org.objectweb.carol.jndi.spi.AbsContext.lookup(AbsContext.java:150) javax.naming.InitialContext.lookup(InitialContext.java:347) javax.naming.InitialContext.lookup(InitialContext.java:347) ... </pre> This happens when I try to invoke a service by its name "indexFinder" through the Carol RMI client of ObjectWeb. I am no expert in RMI, nor do I have control on the server's classpath, so I have limited options. Is there anyone who faced the problem and found a way around it ? I would welcome any explanation too on what's happening in RMI (how the server's unmarshalling method is aware of the "felix" URL in my client's JVM ?) I use an embedded Felix (1.0.3), in Sun's JRE 1.4.2, with the following config map : <pre> FelixConstants.LOG_LEVEL_PROP, "4" FelixConstants.EMBEDDED_EXECUTION_PROP, "true" FelixConstants.SERVICE_URLHANDLERS_PROP, "false" <-- I hoped that could help me, but this does not appears to be so Constants.FRAMEWORK_SYSTEMPACKAGES, "org.osgi.framework; version=1.3.0, org.osgi.service.packageadmin; version=1.2.0, org.osgi.service.startlevel; version=1.0.0, org.osgi.service.url; version=1.0.0, org.osgi.util.tracker; version=1.3.2" BundleCache.CACHE_PROFILE_DIR_PROP, MYCACHEDIR </pre> I am of course available for further questions, but please note that I reside in France so there could be a 6 to 8 hours delay between your message and my reply. -- Alexandre LABORIE - Crédit Agricole Asset Management - SITS/EGE/GA/TEC Think before you print - Réfléchissez avant d'imprimer --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]

