Win a copy of Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA) this week in the OCAJP forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

RMI Server help please

 
Scott Paananen
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,
I'm new to RMI and I am having problems starting my server within netbeans 6.5.

When I run the server, I get this exception in my output window:

Code:

There was an error with the Binding:access denied (java.net.SocketPermission 127.0.0.1:1099 connect,resolve)
java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:1099 connect,resolve)
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.checkConnect(SecurityManager.java:1034)
at java.net.Socket.connect(Socket.java:513)
at java.net.Socket.connect(Socket.java:469)
at java.net.Socket.<init>(Socket.java:366)
at java.net.Socket.<init>(Socket.java:180)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:22)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:128)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:595)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:198)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:184)
at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:322)
at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source)
at java.rmi.Naming.rebind(Naming.java:160)
at rmitests.HelloImpl.main(HelloImpl.java:33)


here is the code in the HelloImpl.java file
Code:



I believe that it is not using my policy file. So what I would like to know is first, is it possible to set up the policies in code using java.security.policy? or is there a way to point netbeans to my policy file when it runs.

I've gone into the properties of the project, then run and added this to the arguments:

-Djava.security.policy=C:\mysrc\policy.policy

but that doesn't seem to make a difference.
Can someone please help me.
Thanks.
 
Campbell Ritchie
Sheriff
Pie
Posts: 49789
69
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
That's more complicated than we usually discuss here in beginner's. Moving.
 
Jimmy Clark
Ranch Hand
Posts: 2187
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Did you start the RMI server before you attempted to run the HelloImpl program?

If yes, then try to run the HelloImpl program directly from a command line. Once you get this working correctly, then you can try to learn how to do it within the NetBeans IDE tool.

If no, then you need to have a RMI server running before attempting to bind objects in the server's registry.

The code you posted is not a RMI server. An RMI server is a separate application that is written already, you do not write the code of the server. You write applications that USE an RMI server for distributed processing.

 
Nitesh Kant
Bartender
Posts: 1638
IntelliJ IDE Java MySQL Database
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Since, you are enabling security manager, you need to give connect/resolve socket permission for the registry port. I think you have not done so that is why it is giving you an access denied error.
If you do not know how to specify permissions in java, this article will get you started.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic