|
Tomcat server log shows that the RMI Objects are created in the RMI registry.
I can retrieve an instance of the Repository factory OK via: ClientRepositoryFactory factory = new ClientRepositoryFactory(); final Object o = factory.getRepository(s); but when I try to "login" to the "default" workspace, I get the following RMI error: org.apache.jackrabbit.rmi.client.RemoteRepositoryException: error unmarshalling return; nested exception is: java.net.MalformedURLException: no protocol: and: error unmarshalling return; nested exception is: java.net.MalformedURLException: no protocol: and at org.apache.jackrabbit.rmi.client.SafeClientRepository.remoteLogin(SafeClientRepository.java:112) at org.apache.jackrabbit.rmi.client.SafeClientRepository.login(SafeClientRepository.java:120) at testjackrabbit.Main.showRepository(Main.java:76) at testjackrabbit.Main.main(Main.java:55) Caused by: java.rmi.UnmarshalException: error unmarshalling return; nested exception is: java.net.MalformedURLException: no protocol: and at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source) at java.rmi.Naming.lookup(Naming.java:84) at org.apache.jackrabbit.rmi.client.ClientRepositoryFactory$1.getRemoteRepository(ClientRepositoryFactory.java:95) at org.apache.jackrabbit.rmi.client.SafeClientRepository.remoteLogin(SafeClientRepository.java:108) ... 3 more Caused by: java.net.MalformedURLException: no protocol: and at java.net.URL.<init>(URL.java:567) at java.net.URL.<init>(URL.java:464) at java.net.URL.<init>(URL.java:413) at sun.rmi.server.LoaderHandler.pathToURLs(LoaderHandler.java:747) at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:147) at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:620) at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:247) at sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:197) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1544) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1699) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348) ... 7 more java.rmi.UnmarshalException: error unmarshalling return; nested exception is: java.net.MalformedURLException: no protocol: and at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source) at java.rmi.Naming.lookup(Naming.java:84) at org.apache.jackrabbit.rmi.client.ClientRepositoryFactory$1.getRemoteRepository(ClientRepositoryFactory.java:95) at org.apache.jackrabbit.rmi.client.SafeClientRepository.remoteLogin(SafeClientRepository.java:108) at org.apache.jackrabbit.rmi.client.SafeClientRepository.login(SafeClientRepository.java:120) at testjackrabbit.Main.showRepository(Main.java:76) at testjackrabbit.Main.main(Main.java:55) Caused by: java.net.MalformedURLException: no protocol: and at java.net.URL.<init>(URL.java:567) at java.net.URL.<init>(URL.java:464) at java.net.URL.<init>(URL.java:413) at sun.rmi.server.LoaderHandler.pathToURLs(LoaderHandler.java:747) at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:147) at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:620) at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:247) at sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:197) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1544) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1699) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348) ... 7 more |
|
qcfireball wrote:
> Tomcat server log shows that the RMI Objects are created in the RMI registry. > > I can retrieve an instance of the Repository factory OK via: > > ClientRepositoryFactory factory = new ClientRepositoryFactory(); > final Object o = factory.getRepository(s); > > but when I try to "login" to the "default" workspace, I get the following > RMI error: > > > org.apache.jackrabbit.rmi.client.RemoteRepositoryException: error > unmarshalling return; nested exception is: > java.net.MalformedURLException: no protocol: and: error > unmarshalling return; nested exception is: > java.net.MalformedURLException: no protocol: and This is a common error when using RMI. It took me some time to find out what's happening there when it occurred to me the first time. The "and" comes from the folder where your classes are which is probably something beneath "C:\Documents and Settings". Moving your application to a folder without spaces or setting the system property "java.rmi.server.useCodebaseOnly" to true should solve the problem. Cheers, Christoph |
|
I just had a BIG "A H A A A" - I forgot about that. I had a similar problem with Unix classpaths. Thank you VERY much for your help.
|
| Powered by Nabble | See how NAML generates this page |
