RMI Fehlermeldung

Status
Nicht offen für weitere Antworten.
F

Flyer

Gast
hi!

ich versuche eine RMI-Programm zu schreiben, doch es gibt mir immerfolgende Meldung beim ausführen:
java.rmi.ServerException: Server RemoteException; nested exception is:
java.rmi.AccessException: Registry.rebind localhost.swisslife.ch/127.0.0
.1 != NT4257/134.38.4.227

hier die klassen:
-->diese führe ich aus
Code:
import java.rmi.*;

public class TimeServiceRegistration
{
  public static void main(String[] args)
  {
    System.setSecurityManager(new RMISecurityManager()); 
    try {
      TimeServiceImpl tsi = new TimeServiceImpl();
      Naming.rebind("TimeService", tsi);
      System.out.println("Done register");
    } catch (Exception e) {
		System.err.println("TimerServiceRegister:"+e.toString());
      System.exit(1);
    }
  }
}

--> diese wird in der anderen Klasse erstellt:
Code:
import java.rmi.*;
import java.rmi.server.*;
import java.util.*;

public class TimeServiceImpl extends UnicastRemoteObject implements TimeService
{
  public TimeServiceImpl() throws RemoteException {
  }

  public String getTime() throws RemoteException{
    GregorianCalendar cal = new GregorianCalendar();
    StringBuffer sb = new StringBuffer();
    sb.append(cal.get(Calendar.HOUR_OF_DAY));
    sb.append(":" + cal.get(Calendar.MINUTE));
    sb.append(":" + cal.get(Calendar.SECOND));
    return sb.toString();
  }

  public TimeStore storeTime(TimeStore store) throws RemoteException {
    store.setTime(getTime());
    return store;
  }
}

danke für eure antwort!

Gruss Flyer
 

foobar

Top Contributor
Versuchs mal hiermit:
Code:
import java.rmi.*;

public class TimeServiceRegistration
{
  public static void main(String[] args)
  {
    System.setSecurityManager(new RMISecurityManager());
    try {
      TimeServiceImpl tsi = new TimeServiceImpl();
      LocateRegistry.createRegistry(Registry.REGISTRY_PORT);M
      Naming.rebind("TimeService", tsi);
      System.out.println("Done register");
    } catch (Exception e) {
      System.err.println("TimerServiceRegister:"+e.toString());
      System.exit(1);
    }
  }
}
Erbt das Interface TimeService auch von Remote?
 
F

Flyer

Gast
ja TimeService erbt auch von Remote...wenn ich deinen Code ausführe gibt es neue Fehler:

TimerServiceRegister:java.rmi.UnmarshalException: Error unmarshaling return header; nested exception is:
java.io.EOFException
java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:3368 accept,resolve)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkAccept(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.checkAcceptPermission(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport.checkAcceptPermission(Unknown Source)
at sun.rmi.transport.Transport$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
 
F

Flyer

Gast
DANK...jetzt gehts...aber warum gibt es das problem mit dem security manager...mann kann doch die java.policy datei anpassen...oder nicht?
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben