Codebase setting in a local network

Hello,

Im now confronted with a codebase setting problem in a network:

Right now Im running Client and Server on the same machine and I have the Codebase Setting on the server like that:

-Djava.rmi.server.codebase=file:/C:/RMINORMICEXAMPLE/SERVER/NEWSERVER/bin/

This start-argument works fine, when Client and Server are running on the same machine.

Now I want the same setting to work in my local network. With this setting it will of course not work, because this setting only works when Client and Server are on the same machine.

Now expect that my Server has the IP-adress 192.168.0.3 and my Client has IP 192.168.0.2.

Is it possible to set the codebase to 192.168.0.3 with the directory path C:/RMINORMICEXAMPLE/SERVER/NEWSERVER/bin/ so that the Client gets the classes from the Server in that path.

I really tried a lot, but it didnt work.

THX for your help

[926 byte] By [Sandmann6a] at [2007-11-27 11:10:40]
# 1

Hi,

I think I know how it should work, but it doesnt ;-)

If I put a directory on the network, I must give it a name. In my example the name is "bin".

And then I put the argument of the VM to the following:

-Djava.rmi.server.codebase=file://192.168.0.3/bin/

But when I start my application I get the following exception:

Ausnahme: java.security.AccessControlException: access denied (java.io.FilePermission \\192.168.0.3\bin read)

java.security.AccessControlException: access denied (java.io.FilePermission \\192.168.0.3\bin read)

at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)

at java.security.AccessController.checkPermission(AccessController.java:546)

at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)

at java.lang.SecurityManager.checkRead(SecurityManager.java:871)

at java.io.File.exists(File.java:731)

at sun.net.www.protocol.file.Handler.openConnection(Handler.java:80)

at sun.net.www.protocol.file.Handler.openConnection(Handler.java:55)

at java.net.URL.openConnection(URL.java:945)

at sun.rmi.server.LoaderHandler.addPermissionsForURLs(LoaderHandler.java:1021)

at sun.rmi.server.LoaderHandler.access$300(LoaderHandler.java:52)

at sun.rmi.server.LoaderHandler$Loader.<init>(LoaderHandler.java:1129)

at sun.rmi.server.LoaderHandler$Loader.<init>(LoaderHandler.java:1110)

at sun.rmi.server.LoaderHandler$1.run(LoaderHandler.java:865)

at java.security.AccessController.doPrivileged(Native Method)

at sun.rmi.server.LoaderHandler.lookupLoader(LoaderHandler.java:862)

at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:545)

at java.rmi.server.RMIClassLoader$2.loadProxyClass(RMIClassLoader.java:628)

at java.rmi.server.RMIClassLoader.loadProxyClass(RMIClassLoader.java:294)

at sun.rmi.server.MarshalInputStream.resolveProxyClass(MarshalInputStream.java:238)

at java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1531)

at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1493)

at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)

at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)

at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:306)

at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:290)

at sun.rmi.transport.Transport$1.run(Transport.java:159)

at java.security.AccessController.doPrivileged(Native Method)

at sun.rmi.transport.Transport.serviceCall(Transport.java:155)

at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)

at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)

at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)

at java.lang.Thread.run(Thread.java:619)

at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)

at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)

at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142)

at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:178)

at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:132)

at $Proxy1.rebind(Unknown Source)

at server.TransferImpl.<init>(TransferImpl.java:41)

at server.TransferServer.main(TransferServer.java:43)

Server luft mit Service 'TransferService'

Systemfehler: java.security.AccessControlException: access denied (java.io.FilePermission \\192.168.0.3\bin read)

java.security.AccessControlException: access denied (java.io.FilePermission \\192.168.0.3\bin read)

at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)

at java.security.AccessController.checkPermission(AccessController.java:546)

at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)

at java.lang.SecurityManager.checkRead(SecurityManager.java:871)

at java.io.File.exists(File.java:731)

at sun.net.www.protocol.file.Handler.openConnection(Handler.java:80)

at sun.net.www.protocol.file.Handler.openConnection(Handler.java:55)

at java.net.URL.openConnection(URL.java:945)

at sun.rmi.server.LoaderHandler.addPermissionsForURLs(LoaderHandler.java:1021)

at sun.rmi.server.LoaderHandler.access$300(LoaderHandler.java:52)

at sun.rmi.server.LoaderHandler$Loader.<init>(LoaderHandler.java:1129)

at sun.rmi.server.LoaderHandler$Loader.<init>(LoaderHandler.java:1110)

at sun.rmi.server.LoaderHandler$1.run(LoaderHandler.java:865)

at java.security.AccessController.doPrivileged(Native Method)

at sun.rmi.server.LoaderHandler.lookupLoader(LoaderHandler.java:862)

at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:545)

at java.rmi.server.RMIClassLoader$2.loadProxyClass(RMIClassLoader.java:628)

at java.rmi.server.RMIClassLoader.loadProxyClass(RMIClassLoader.java:294)

at sun.rmi.server.MarshalInputStream.resolveProxyClass(MarshalInputStream.java:238)

at java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1531)

at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1493)

at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)

at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)

at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:306)

at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:290)

at sun.rmi.transport.Transport$1.run(Transport.java:159)

at java.security.AccessController.doPrivileged(Native Method)

at sun.rmi.transport.Transport.serviceCall(Transport.java:155)

at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)

at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)

at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)

at java.lang.Thread.run(Thread.java:619)

at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)

at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)

at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142)

at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:178)

at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:132)

at $Proxy1.rebind(Unknown Source)

at server.ActionTryImpl.<init>(ActionTryImpl.java:36)

at server.TransferServer.main(TransferServer.java:49)

But when I look at my security.policy it seems all ok, because it looks like:

grant {

permission java.security.AllPermission ;

};

Does anybody has an idea?

Sandmann6a at 2007-7-29 13:43:11 > top of Java-index,Core,Core APIs...
# 2

That 'access denied' is coming from the operating system, not from Java. Can you access that directory from a command prompt?

ejpa at 2007-7-29 13:43:11 > top of Java-index,Core,Core APIs...
# 3

Hi,

When I put

file:\\192.168.0.3\bin in my adress-Panel of the internet explorer, then I can access these files of course.

But I dont know how to access this directory from a command prompt like the dos window, because

C:\RMINORMICEXAMPLE\SERVER\NEWSERVER\bin

is the same directory like 192.168.0.3\bin, but how can I access 192.168.0.3\bin from a command prompt? Of course I can access C:\RMINORMICEXAMPLE\SERVER\NEWSERVER\bin , thats no problem.

Any idea?

Sandmann6a at 2007-7-29 13:43:11 > top of Java-index,Core,Core APIs...
# 4

have you tried setting the allpermission on your client?

_dnoyeBa at 2007-7-29 13:43:11 > top of Java-index,Core,Core APIs...
# 5

Hmm, ...

ejpa at 2007-7-29 13:43:11 > top of Java-index,Core,Core APIs...
# 6

Hello,

It has nothing to do with the Client. I cant even start the server. My starting options look like this:

-Djava.rmi.server.codebase=file:/C:/RMINORMICEXAMPLE/SERVER/NEWSERVER/bin/

-Djava.security.policy=security.policy

-Djava.rmi.server.ignoreStubClasses=true

Now, I want to use RMI in my local network and Ive put the directory bin in the network, and it can be accessed by another computer in my network with file://192.168.0.3/bin

Now I want this network directory to be my codebase for the server. Of course I could use the complete directory path file:/C:/RMINORMICEXAMPLE/SERVER/NEWSERVER/bin/ but then my Clients look in their own local directory for the missing classes and not in the directory of the Server(=network-directory). I just want that the Server allready uses his own network directory instead of the complete path.

Or is there another nice solution I could use(of course I know that I could use another http-Server as a codebase, but I dont want to use that solution, I want it via network-directory)

Thx for your replys

Sandmann6a at 2007-7-29 13:43:11 > top of Java-index,Core,Core APIs...
# 7

I was wrong in reply #2, it is indeed the Java security manager. Evidently it isn't using that policy file. You have to specify it before you set the security manager BTW. Can you run your server with -Djava.security.debug=access,failure to see what is going on.

ejpa at 2007-7-29 13:43:11 > top of Java-index,Core,Core APIs...
# 8

Hi, yes I can, the Exception then looks like:

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.security.SecurityPermission getProperty.policy.expandProperties)

access: access allowed (java.security.SecurityPermission getProperty.policy.ignoreIdentityScope)

access: access allowed (java.security.SecurityPermission getProperty.policy.allowSystemProperty)

access: access allowed (java.util.PropertyPermission sun.security.policy.utf8 read)

access: access allowed (java.util.PropertyPermission sun.security.policy.numcaches read)

access: access allowed (java.util.PropertyPermission java.security.policy read)

access: access allowed (java.util.PropertyPermission user.dir read)

access: access allowed (java.io.FilePermission C:\RMINORMICEXAMPLE\SERVER\NEWSERVER\security.policy read)

access: access allowed (java.io.FilePermission C:\RMINORMICEXAMPLE\SERVER\NEWSERVER\security.policy read)

access: access allowed (java.io.FilePermission security.policy read)

access: access allowed (java.util.PropertyPermission user.dir read)

access: access allowed (java.io.FilePermission C:\RMINORMICEXAMPLE\SERVER\NEWSERVER\security.policy read)

access: access allowed (java.io.FilePermission C:\RMINORMICEXAMPLE\SERVER\NEWSERVER\security.policy read)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.security.SecurityPermission getProperty.policy.url.1)

access: access allowed (java.util.PropertyPermission java.home read)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\lib\security\java.policy read)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\lib\security\java.policy read)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\lib\security\java.policy read)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\lib\security\java.policy read)

access: access allowed (java.util.PropertyPermission java.ext.dirs read)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\lib\ext\* read)

access: access allowed (java.io.FilePermission C:\WINDOWS\Sun\Java\lib\ext\* read)

access: access allowed (java.security.SecurityPermission getProperty.policy.url.2)

access: access allowed (java.util.PropertyPermission user.home read)

access: access allowed (java.io.FilePermission C:\Dokumente und Einstellungen\Sandmann\.java.policy read)

access: access allowed (java.io.FilePermission C:\Dokumente und Einstellungen\Sandmann\.java.policy read)

access: access allowed (java.io.FilePermission C:\Dokumente und Einstellungen\Sandmann\.java.policy read)

access: access allowed (java.security.SecurityPermission getProperty.policy.url.3)

access: access allowed (java.util.PropertyPermission java.security.auth.policy read)

access: access allowed (java.security.SecurityPermission getProperty.auth.policy.url.1)

access: access allowed (java.io.FilePermission C:\RMINORMICEXAMPLE\SERVER\NEWSERVER\bin read)

access: access allowed (java.net.SocketPermission 192.168.0.3:1099 connect,resolve)

access: access allowed (java.util.PropertyPermission java.home read)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\lib\net.properties read)

access: access allowed (java.util.PropertyPermission java.net.useSystemProxies read)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.net.NetPermission getProxySelector)

access: access allowed (java.util.PropertyPermission socksProxyHost read)

access: access allowed (java.lang.RuntimePermission writeFileDescriptor)

access: access allowed (java.lang.RuntimePermission readFileDescriptor)

access: access allowed (java.util.PropertyPermission java.rmi.server.hostname read)

access: access allowed (java.util.PropertyPermission sun.io.serialization.extendedDebugInfo read)

access: access allowed (java.io.SerializablePermission enableSubstitution)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.RuntimePermission createClassLoader)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.RuntimePermission createClassLoader)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.RuntimePermission createClassLoader)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.RuntimePermission createClassLoader)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.RuntimePermission accessDeclaredMembers)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.RuntimePermission accessDeclaredMembers)

access: access allowed (java.lang.RuntimePermission accessDeclaredMembers)

access: access allowed (java.lang.RuntimePermission createClassLoader)

access: access allowed (java.lang.RuntimePermission accessClassInPackage.sun.reflect)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.RuntimePermission accessDeclaredMembers)

access: access allowed (java.lang.RuntimePermission accessDeclaredMembers)

access: access allowed (java.lang.RuntimePermission accessDeclaredMembers)

access: access allowed (java.lang.RuntimePermission accessDeclaredMembers)

access: access allowed (java.lang.RuntimePermission accessDeclaredMembers)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.RuntimePermission createClassLoader)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.RuntimePermission accessDeclaredMembers)

access: access allowed (java.lang.RuntimePermission createClassLoader)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.RuntimePermission accessDeclaredMembers)

access: access allowed (java.lang.RuntimePermission accessDeclaredMembers)

access: access allowed (java.lang.RuntimePermission accessDeclaredMembers)

access: access allowed (java.lang.RuntimePermission accessDeclaredMembers)

access: access allowed (java.lang.RuntimePermission accessDeclaredMembers)

access: access allowed (java.util.PropertyPermission java.rmi.server.RMIClassLoaderSpi read)

access: access allowed (java.util.PropertyPermission sun.boot.class.path read)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\lib\resources.jar read)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\lib\meta-index read)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\lib\meta-index read)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\lib read)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\lib read)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\lib\rt.jar read)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\lib\sunrsasign.jar read)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\lib\jsse.jar read)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\lib\jce.jar read)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\lib\charsets.jar read)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\classes read)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\classes read)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\meta-index read)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\meta-index read)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\lib\resources.jar read)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\lib\rt.jar read)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\lib\sunrsasign.jar read)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\lib\jsse.jar read)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\lib\jce.jar read)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\lib\charsets.jar read)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\classes read)

access: access allowed (java.net.NetPermission specifyStreamHandler)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\lib\resources.jar read)

access: access allowed (java.net.NetPermission specifyStreamHandler)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\lib\rt.jar read)

access: access allowed (java.net.NetPermission specifyStreamHandler)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\lib\sunrsasign.jar read)

access: access allowed (java.net.NetPermission specifyStreamHandler)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\lib\jsse.jar read)

access: access allowed (java.net.NetPermission specifyStreamHandler)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\lib\jce.jar read)

access: access allowed (java.net.NetPermission specifyStreamHandler)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\lib\charsets.jar read)

access: access allowed (java.net.NetPermission specifyStreamHandler)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\classes read)

access: access allowed (java.io.FilePermission C:\RMINORMICEXAMPLE\SERVER\NEWSERVER\bin\META-INF\services\java.rmi.server.RMIClassLoaderSpi read)

access: access allowed (java.util.PropertyPermission sun.rmi.loader.logLevel read)

access: access allowed (java.util.logging.LoggingPermission control)

access: access allowed (java.util.PropertyPermission java.rmi.server.codebase read)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.RuntimePermission createClassLoader)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.util.PropertyPermission sun.rmi.dgc.ackTimeout read)

access: access allowed (java.lang.RuntimePermission sun.rmi.runtime.RuntimeUtil.getInstance)

access: access allowed (java.lang.RuntimePermission getClassLoader)

access: access allowed (java.lang.RuntimePermission modifyThreadGroup)

access: access allowed (java.lang.RuntimePermission modifyThread)

access: access allowed (java.lang.RuntimePermission setContextClassLoader)

access: access allowed (java.lang.RuntimePermission modifyThread)

access: access allowed (java.util.PropertyPermission java.rmi.server.useCodebaseOnly read)

access: access allowed (java.lang.RuntimePermission loadLibrary.rmi)

access: access allowed (java.io.FilePermission C:\JDK6U2\jdk1.6.0_02\jre\bin\rmi.dll read)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.RuntimePermission createClassLoader)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.RuntimePermission createClassLoader)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.RuntimePermission createClassLoader)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.RuntimePermission createClassLoader)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.RuntimePermission createClassLoader)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.RuntimePermission createClassLoader)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.RuntimePermission createClassLoader)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.RuntimePermission createClassLoader)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.io.FilePermission \\192.168.0.3\bin read)

access: access allowed (java.io.FilePermission \\192.168.0.3\bin read)

Ausnahme: java.security.AccessControlException: access denied (java.io.FilePermission \\192.168.0.3\bin read)

java.security.AccessControlException: access denied (java.io.FilePermission \\192.168.0.3\bin read)

at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)

at java.security.AccessController.checkPermission(AccessController.java:546)

at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)

at java.lang.SecurityManager.checkRead(SecurityManager.java:871)

at java.io.File.exists(File.java:731)

at sun.net.www.protocol.file.Handler.openConnection(Handler.java:80)

at sun.net.www.protocol.file.Handler.openConnection(Handler.java:55)

at java.net.URL.openConnection(URL.java:945)

at sun.rmi.server.LoaderHandler.addPermissionsForURLs(LoaderHandler.java:1021)

at sun.rmi.server.LoaderHandler.access$300(LoaderHandler.java:52)

at sun.rmi.server.LoaderHandler$Loader.<init>(LoaderHandler.java:1129)

at sun.rmi.server.LoaderHandler$Loader.<init>(LoaderHandler.java:1110)

at sun.rmi.server.LoaderHandler$1.run(LoaderHandler.java:865)

at java.security.AccessController.doPrivileged(Native Method)

at sun.rmi.server.LoaderHandler.lookupLoader(LoaderHandler.java:862)

at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:545)

at java.rmi.server.RMIClassLoader$2.loadProxyClass(RMIClassLoader.java:628)

at java.rmi.server.RMIClassLoader.loadProxyClass(RMIClassLoader.java:294)

at sun.rmi.server.MarshalInputStream.resolveProxyClass(MarshalInputStream.java:238)

at java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1531)

at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1493)

at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)

at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)

at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:306)

at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:290)

at sun.rmi.transport.Transport$1.run(Transport.java:159)

at java.security.AccessController.doPrivileged(Native Method)

at sun.rmi.transport.Transport.serviceCall(Transport.java:155)Server luft mit Service 'TransferService'

at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)

at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)

at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)

at java.lang.Thread.run(Thread.java:619)

at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)

at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)

at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142)

at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:178)

at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:132)

at $Proxy1.rebind(Unknown Source)

at server.TransferImpl.<init>(TransferImpl.java:41)

at server.TransferServer.main(TransferServer.java:43)

access: access allowed (java.io.FilePermission C:\RMINORMICEXAMPLE\SERVER\NEWSERVER\bin\server\ActionTryImpl.class read)

access: access allowed (java.io.FilePermission C:\RMINORMICEXAMPLE\SERVER\NEWSERVER\bin\server\ActionTryImpl.class read)

access: access allowed (java.lang.RuntimePermission createSecurityManager)

access: access allowed (java.lang.RuntimePermission setSecurityManager)

access: access allowed (java.util.PropertyPermission java.rmi.server.randomIDs read)

access: access allowed (java.util.PropertyPermission java.rmi.server.hostname read)

access: access allowed (java.net.SocketPermission localhost:2267 listen,resolve)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.RuntimePermission createClassLoader)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.util.PropertyPermission java.rmi.server.hostname read)

access: access allowed (java.net.SocketPermission 192.168.0.3:1099 connect,resolve)

access: access allowed (java.net.SocketPermission 192.168.0.3:1099 connect,resolve)

access: access allowed (java.net.SocketPermission 192.168.0.3:1099 connect,resolve)

access: access allowed (java.net.NetPermission getProxySelector)

access: access allowed (java.util.PropertyPermission socksProxyHost read)

access: access allowed (java.lang.RuntimePermission writeFileDescriptor)

access: access allowed (java.lang.RuntimePermission readFileDescriptor)

access: access allowed (java.util.PropertyPermission java.rmi.server.hostname read)

access: access allowed (java.io.SerializablePermission enableSubstitution)

access: access allowed (java.lang.RuntimePermission accessDeclaredMembers)

access: access allowed (java.lang.RuntimePermission createClassLoader)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.reflect.ReflectPermission suppressAccessChecks)

access: access allowed (java.lang.RuntimePermission accessDeclaredMembers)

access: access allowed (java.lang.RuntimePermission accessDeclaredMembers)

access: access allowed (java.lang.RuntimePermission accessDeclaredMembers)

access: access allowed (java.lang.RuntimePermission accessDeclaredMembers)

access: access allowed (java.lang.RuntimePermission accessDeclaredMembers)

Systemfehler: java.security.AccessControlException: access denied (java.io.FilePermission \\192.168.0.3\bin read)

java.security.AccessControlException: access denied (java.io.FilePermission \\192.168.0.3\bin read)

at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)

at java.security.AccessController.checkPermission(AccessController.java:546)

at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)

at java.lang.SecurityManager.checkRead(SecurityManager.java:871)

at java.io.File.exists(File.java:731)

at sun.net.www.protocol.file.Handler.openConnection(Handler.java:80)

at sun.net.www.protocol.file.Handler.openConnection(Handler.java:55)

at java.net.URL.openConnection(URL.java:945)

at sun.rmi.server.LoaderHandler.addPermissionsForURLs(LoaderHandler.java:1021)

at sun.rmi.server.LoaderHandler.access$300(LoaderHandler.java:52)

at sun.rmi.server.LoaderHandler$Loader.<init>(LoaderHandler.java:1129)

at sun.rmi.server.LoaderHandler$Loader.<init>(LoaderHandler.java:1110)

at sun.rmi.server.LoaderHandler$1.run(LoaderHandler.java:865)

at java.security.AccessController.doPrivileged(Native Method)

at sun.rmi.server.LoaderHandler.lookupLoader(LoaderHandler.java:862)

at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:545)

at java.rmi.server.RMIClassLoader$2.loadProxyClass(RMIClassLoader.java:628)

at java.rmi.server.RMIClassLoader.loadProxyClass(RMIClassLoader.java:294)

at sun.rmi.server.MarshalInputStream.resolveProxyClass(MarshalInputStream.java:238)

at java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1531)

at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1493)

at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)

at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)

at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:306)

at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:290)

at sun.rmi.transport.Transport$1.run(Transport.java:159)

at java.security.AccessController.doPrivileged(Native Method)

at sun.rmi.transport.Transport.serviceCall(Transport.java:155)

at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)

at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)

at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)

at java.lang.Thread.run(Thread.java:619)

at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255)

at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233)

at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142)

at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:178)

at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:132)

at $Proxy1.rebind(Unknown Source)

at server.ActionTryImpl.<init>(ActionTryImpl.java:36)

at server.TransferServer.main(TransferServer.java:49)

Sandmann6a at 2007-7-29 13:43:11 > top of Java-index,Core,Core APIs...
# 9

It's the Registry that is getting this error. Are you running the Registry under a security manager somehow? and with the same .policy file?

ejpa at 2007-7-29 13:43:11 > top of Java-index,Core,Core APIs...
# 10

Hi,

I start my registry with a batch-File. In that batch File there is only:

start C:\JDK6U2\jdk1.6.0_02\bin\rmiregistry.exe

So, I use no more options for my registry.

The only places I use Security-Managers are in the UnicastRemoteObjects. Here is a part of my code with the Security-Manager:

public class TransferImpl extends UnicastRemoteObject implements Transfer,

ActionListener {

/**

*

*/

private static final long serialVersionUID = 1;

public TransferImpl(String serviceName) throws RemoteException {

super();

System.setSecurityManager(new RMISecurityManager());

try {

Registry registry = LocateRegistry.getRegistry("192.168.0.3",

1099);

registry.rebind(serviceName, this);

} catch (Exception e) {

System.err.println("Ausnahme: " + e);

e.printStackTrace();

}

}

I already tried my Server on another machine and the same happens. So I think it must be a problem that is not specific to my system properties........I just dont have a glue what it could be?

ps. I already gave you some Dukes because of your answers you already gave me. I just hope that we can fix this problem. THX

Message was edited by:

Sandmann6

Sandmann6a at 2007-7-29 13:43:11 > top of Java-index,Core,Core APIs...
# 11

This is very odd. Maybe it's the codebase specification itself. It's supposed to be a space-separated list of URLs, and URLs can't contain backslashes. Can you try it with file://192.168.0.3/bin or maybe file://192.168.0.3/bin/.

ejpa at 2007-7-29 13:43:11 > top of Java-index,Core,Core APIs...
# 12

Yes, I already tried these settings, but still no changes....... :-(

Sandmann6a at 2007-7-29 13:43:11 > top of Java-index,Core,Core APIs...
# 13

Im now trying to play around with the system property: java.rmi.server.hostname=192.168.0.3

Maybe this property could help me with that problem?!?

Sandmann6a at 2007-7-29 13:43:11 > top of Java-index,Core,Core APIs...
# 14

I think this is a problem in RMI concerned with file: URLs. Is it possible for you to use an HTTP codebase service?

ejpa at 2007-7-29 13:43:11 > top of Java-index,Core,Core APIs...
# 15

Yes, it is possible, but I just wanted to try to use a network directory. I just saw, that the codebase can also be set as a ftp-connection, like

.......codebase=ftp://......

Maybe this works in a local network?!?

When this try fails, too, then the http-Server is the only solution for me I think....

Sandmann6a at 2007-7-29 13:43:16 > top of Java-index,Core,Core APIs...
# 16

OK, Thanks for all your help.

I will now use a FTP Server on my Server Machine. Works fine.

Thx

Sandmann6a at 2007-7-29 13:43:16 > top of Java-index,Core,Core APIs...