Java.rmi.server.codebase in JSP

Hi,
i have a system made from an RMI client and an RMI server. The users access the system through a JSP page, which creates an instance of the RMI client. In order for the system to work, i need to specify the java.rmi.server.codebase property.
For testing purposes the client has a main(..) method. If i run just the client the server and specify java.rmi.server.codebase, everything works.
If i don't specify it i get a java.rmi.UnmarshalException, with the nested exception of ClassNotFound. The same exception i get trying to access the jsp page. So, i guess, it's due to the lack of the property.
I tried setting the property in the jsp page, but it doesn't work.
Thank you.
P.S. : maybe this is relevant: my jsp server is tomcat 6.0.

it refers to where are your stubs and skeletons
you can set it to point to the jar files or to the directory that contains them
hope htis helps
regards
marco

Similar Messages

  • Java.rmi.server.codebase=file:(?????); at client side: classnotfounexceptio

    I'm trying to run an RMI application (under Windows XP, one machine for client and server) like this:
    at server side:
    java -Djava.rmi.server.codebase=file://\..\..\..\j\ -Djava.security.policy=file:.\polityka.txt sss
    - and it works fine, but at client side:
    java -Djava.security.policy=file:.\polityka.txt -Djava.rmi.server.codebase=file://\..\..\..\j\ kkk
    results in:
    Exception in thread "main" java.lang.NoClassDefFoundError: PrzykladowaKlasa
    at kkk.main(kkk.java:31)
    when I'm listing directory (at client side) got with System.getProperty("java.rmi.server.codebase") i get this
    file://\..\..\..\j\
    OdleglaKlasa_Stub.class
    PrzykladowaKlasa.class
    Folder Structure is:
    |------j\
    | |------(*_Stub.class, and ClassNeededByClient.class)
    |------2\
    | |------Server\
    | | |------(serwer files)
    | |------Klient\
    | | |------(klient files)
    I'm fresh in RMI and Codebase poperty, but with some exp with Java...
    (policy files are allright - grant {permission java.security.AllPermission;};)
    Any help will be appreciated.

    I've come back to this issue again (since I am moving code around to different systems again). Using linux I can use -Djava.rmi.server.codebase=file://$PWD/build/
    Presumably there is a similar command in WIndows.

  • Is it a must to set java.rmi.server.codebase property?

    As to my understanding, only when JVM cannot find the necessary class from the local CLASSPATH will it tries to download the classes from the codebase right? so if the class exists in the local machine, actually it is unnecessary to set this property? Urgent, help!!!!!

    Correct.

  • Rmiregistry �J-Djava.rmi.server.codebase=URL

    Hi all,
    When starting the rmiregistry, I do the following:
    rmiregistry �J-Djava.rmi.server.codebase=URL
    Eager to understand what is going on, I read that this means the following:
    RMIClassLoader:
    For stubs and skeletons of remote objects created in the local virtual machine, the URL specified by the local java.rmi.server.codebase property is used.
    I thought "hey why not do the same for the server" and tried:
    java -Djava.rmi.server.codebase=URL Server
    getting me a StubNotFoundException. Can anybody tell me what I am doing wrong? The Server works when the Stub is in the local classpath but refuses to load it via the http Server. Am I at least theoretically right or is there a fundamental misconception in what I am trying?
    Thanks,
    Ralf

    RMI uses annotations to record codebase information. In addition to recording the class despriptions also records info about the location from which it loaded the classes bytecode. If you are trying to specify the codebase on the server and removing the stubs from the servers classpath the bytecode will never actually get loaded.

  • Spaces in -Djava.rmi.server.codebase path

    hello,
    how must i format the string containing the codebase for a rmi server if the path to the codebase contains spaces?
    -Djava.rmi.server.codebase=file:c:/path/ and -Djava.rmi.server.codebase=file:/path/ works, but
    -Djava.rmi.server.codebase=file:c:/path with spaces/ doesnt work
    i have tried to put the string in quotes and to replace the spaces with %20 (url encoded)
    but nothing does work.
    how must i format the string?
    cu,
    elmar

    I guess you are using a batch file to start your RMI application.
    Spaces in URLs must be encoded with %20, that is correct.
    The problem is: the command line interpreter on Windows interprets % as a special character and will replace it.
    What worked for me (Windows Vista):
    java -Djava.rmi.server.codebase="file:/C:/Users/FirstName%%20LastName/RMI/" App
    So encode each white space with %%20.
    You can very easily check by inserting the following code at the start of your RMI application. These lets you see how the codebase is set.
    System.out.println(" Codebase: " + System.getProperty("java.rmi.server.codebase"));

  • Java -Djava.rmi.server.codebase=file:///.....

    Cross posted in the hope that someone using it knows how....
    I am using the following command:
    java -Djava.rmi.server.codebase=file:///home/ben/fyp/build/ -Djava.security.policy=security.policy -cp ./lib/bcprov-jdk15-130.jar:./props:./build com.bensmyth.fyp.example.IssuerServer
    Can I specify -Djava.rmi.server.codebase=file:///home/ben/fyp/build/ without giving the whole path? Can I say ./build?

    I've come back to this issue again (since I am moving code around to different systems again). Using linux I can use -Djava.rmi.server.codebase=file://$PWD/build/
    Presumably there is a similar command in WIndows.

  • RMI Server Codebase Permission Denied

    I'm having a problem trying to get my application running in a test environment. I currently have this same application up and running in an almost identical location without any issues, and I'm at a loss to understand what the problem is.
    My application is an RMI server-client setup. At the moment, I'm having trouble with solely the server portion, as I'm unable to get it to access the codebase. I start the application with the following runServer.sh file (located in /usr/local/app/app, so the $ROOT_DIR=pwd is correct):
    Line: -----
    #!/bin/bash
    ROOT_DIR=`pwd`
    JAVA_HOME=/usr/java/latest
    CLASSPATH=''
    #:: Please edit the environmental variables below so that it refers
    #:: to the location where you have distribution URL.
    DISTRIBUTION_URL=file://$ROOT_DIR
    find /usr/local/app/app/server -name '*.jar' -type f -print | while read FILE
    do
    if [ $CLASSPATH ]
    then
         CLASSPATH=$CLASSPATH:$FILE
    else
         CLASSPATH=$FILE
    fi
    echo $CLASSPATH > classpath.env
    done
    read CLASSPATH < classpath.env
    find /usr/local/app/app/import -name '*.jar' -type f -print | while read FILE
    do
    if [ $CLASSPATH ]
    then
         CLASSPATH=$CLASSPATH:$FILE
    else
         CLASSPATH=$FILE
    fi
    echo $CLASSPATH > classpath.env
    done
    read CLASSPATH < classpath.env
    find /usr/local/app/app/common -name '*.jar' -type f -print | while read FILE
    do
    if [ $CLASSPATH ]
    then
         CLASSPATH=$CLASSPATH:$FILE
    else
         CLASSPATH=$FILE
    fi
    echo $CLASSPATH > classpath.env
    done
    read CLASSPATH < classpath.env
    echo ${CLASSPATH}
    cd server
    # start /min "RMI Registry"
    $JAVA_HOME/bin/rmiregistry &
    JAVA_SECURITY="-Djava.security.policy==config/admin.policy -Djava.security.auth.login.config==config/app_jaas.config"
    IMPORT_PROPERTIES="-Dapp.import.properties=file://$ROOT_DIR/import/config/import.properties -Dapp.import.logging.properties=file://$ROOT_DIR/import/config/importlog.properties -Dapp.client.properties=file://$ROOT_DIR/client/config/client.properties"
    app_PROPERTIES="-Dapp.root=$ROOT_DIR -Dconnection.pool.properties=file://$ROOT_DIR/server/config/database.properties -Dapp.common.properties=$DISTRIBUTION_URL/common/config/common.properties -Dapp.server.properties=file://$ROOT_DIR/server/config/server.properties -Dapp.server.logging.properties=file://$ROOT_DIR/server/config/log.properties"
    echo
    echo "-------------- app Server -------------------"
    echo
    $JAVA_HOME/bin/java -ms96m -mx256m -classpath $CLASSPATH -Djava.rmi.server.codebase=file:///usr/local/app/app/common/lib/common.jar $IMPORT_PROPERTIES $JAVA_SECURITY $app_PROPERTIES -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=n app.serverimpl.ServerStarter
    cd $ROOT_DIR
    Line: -----
    After running this, it fails at that last line, $JAVA_HOME/bin/java etc. Near as I can see from the error is that it cannot access the -Djava.rmi.server.codebase.
    Line: -----
    app.serverimpl.service.ServiceException:java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
    java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
    java.lang.ClassNotFoundException: access to class loader denied
    at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:419)
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:267)
    at sun.rmi.transport.Transport$1.run(Transport.java:177)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:636)
    at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:273)
    at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:251)
    at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:377)
    at sun.rmi.registry.RegistryImpl_Stub.bind(Unknown Source)
    at app.serverimpl.service.LoginManagerServiceImpl.start(LoginManagerServiceImpl.java:52)
    at app.serverimpl.service.ServiceAdapter.start(ServiceAdapter.java:96)
    at app.serverimpl.service.ServiceManager.startup(ServiceManager.java:78)
    at app.serverimpl.ServerStarter.main(ServerStarter.java:62)
    Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
    java.lang.ClassNotFoundException: access to class loader denied
    at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
    at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:409)
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:267)
    at sun.rmi.transport.Transport$1.run(Transport.java:177)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:636)
    Caused by: java.lang.ClassNotFoundException: access to class loader denied
    at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:445)
    at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:182)
    at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:637)
    at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:264)
    at sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:214)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1592)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1513)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1749)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1346)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:368)
    ... 12 more
    Caused by: java.security.AccessControlException: access denied (java.io.FilePermission /usr/local/app/app/common/lib/- read)
    at java.security.AccessControlContext.checkPermission(AccessControlContext.java:393)
    at java.security.AccessController.checkPermission(AccessController.java:553)
    at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
    at sun.rmi.server.LoaderHandler$Loader.checkPermissions(LoaderHandler.java:1173)
    at sun.rmi.server.LoaderHandler$Loader.access$000(LoaderHandler.java:1127)
    at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:409)
    ... 21 more
    Line: -----
    Out of growing desperation (and since it's a test VM in virtual box so I'm not really protecting anything) I've already granted full permissions to everyone for these these files in the filesystem itself - chmod -R 775 - and I've made sure that common.jar is accessible. I also double-checked the Security Policy, Djava.security.policy, and that's just a straight all permission to everything (again, I'm not protecting anything on this test).
    Line: -----
    grant {
    permission java.security.AllPermission;
    Line: -----
    What's really driving me nuts is that this exact same code is already running and working on another machine. There are no environment variables that I'm missing, and I don't see how those would relate to this problem even if I did. The directories are identical, and I've verified the location that's listed as the cause (/usr/local/app/app/common/lib/) exists and is accessible. I keep coming back to the file permissions and the security policy and I'm sure I could be missing something obvious, but I am not seeing it at all. Can anyone give me some advice on this?
    I'm running a VM in VirtualBox 4.1.4, running CentOS 5.7 32-bit. Java is JDK 1.6.0, just the basic yum install package.

    This is a .policy file problem, not a filesystem permissions problem. Run it with -Djava.security.debug=access,failure to see exactly what is going on. Basically your .policy file either doesn't grant the required FilePermission or isn't being loaded.
    NB a codebase of a local JAR file isn't going to work unless all the clients are in the same host.

  • -Djava.rmi.server.codebase Question.

    When I study the meaning of codebase in
    http://java.sun.com/j2se/1.3/docs/guide/rmi/codebase.html
    , I am still confuse what is different between codebase
    settings in Remote Object side and RMI Client side.
    The command options -Djava.rmi.server.codebase=
    http://myHost/myDir and -Djava.rmi.server.codebase=
    http://wwwserver/mydirectory ( in Figure3 and Figure4 of
    http://java.sun.com/j2se/1.3/docs/guide/rmi/codebase.html
    ) are set in which side ??
    The option in Remote Object side seems no any work.
    Who can explain its meaning ??
    Thank you in advance... Alan.

    Hi,
    For the dynamic class loading to work, you should give
    -Djava.rmi.server.codebase=http://some-server/
    you can see that it supports http protocol.. So there should be one web server running on the server side so that client can call it by name or by IP address.. Then try running the program again. now it will work..
    actually you should give this option on client side as it is the client who needs this property.. so in order to download classes the server machine should be addresable to the client in any method. if it is a LAN, try giving '\\computer-name' in the value of the property.. I haven't tried this, but I think you dont need a http server this time.. I am not sure abt this,,. check it out..
    - Bibin.

  • UnmarshalException while using prop  java.rmi.server.ignoreStubClasses=true

    I have created a test program to check the behaviour of setting the java.rmi.server.ignoreStubClasses property to true on the server side and not setting this flag on the client side.
    This requirement is due to updation of an already running system, with stubs to a new version without stubs, without shutting down the system.
    The files used by me are given below.
    File Hello.java
    package example.hello;
    import java.rmi.Remote;
    import java.rmi.RemoteException;
    public interface Hello extends Remote {
    String sayHello() throws RemoteException;
    File Server.java
    package example.hello;
    import java.rmi.registry.LocateRegistry;
    import java.rmi.registry.Registry;
    import java.rmi.server.UnicastRemoteObject;
    public class Server implements Hello {
    public Server() {}
    public String sayHello() {
    return "Hello, world!";
    public static void main(String args[]) {
    try {
    LocateRegistry.createRegistry(1099);
    Server obj = new Server();
    Hello stub = (Hello) UnicastRemoteObject.exportObject(obj, 0);
    // Bind the remote object's stub in the registry
    Registry registry = LocateRegistry.getRegistry();
    registry.bind("Hello", stub);
    System.err.println("Server ready");
    catch (Exception e)
    System.err.println("Server exception: " + e.toString());
    e.printStackTrace();
    File Client.java
    package example.hello;
    import java.rmi.registry.LocateRegistry;
    import java.rmi.registry.Registry;
    public class Client {
    private Client() {}
    public static void main(String[] args) {
    String host = (args.length < 1) ? null : args[0];
    try {
    Registry registry = LocateRegistry.getRegistry(host);
    Hello stub = (Hello) registry.lookup("Hello");
    String response = stub.sayHello();
    System.out.println("response: " + response);
    } catch (Exception e) {
    System.err.println("Client exception: " + e.toString());
    e.printStackTrace();
    First I run file Server.java using the following script (server.bat)
    java -Djava.rmi.server.ignoreStubClasses=true -classpath .; example.hello.Server
    pause
    Then the client is run using the following script (client.bat)
    java -classpath .; example.hello.Client 132.186.96.210
    pause
    While running the client, the following exception is obtained.
    Client exception: java.rmi.ServerException: RemoteException occurred in server thread; nested except
    java.rmi.UnmarshalException: error unmarshalling call header; nested exception is:
    java.rmi.UnmarshalException: skeleton class not found but required for client version
    java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
    java.rmi.UnmarshalException: error unmarshalling call header; nested exception is:
    java.rmi.UnmarshalException: skeleton class not found but required for client version
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:325)
    at sun.rmi.transport.Transport$1.run(Transport.java:153)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
    at java.lang.Thread.run(Thread.java:595)
    at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
    at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
    at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:343)
    at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
    at example.hello.Client.main(Client.java:52)
    Caused by: java.rmi.UnmarshalException: error unmarshalling call header; nested exception is:
    java.rmi.UnmarshalException: skeleton class not found but required for client version
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:250)
    at sun.rmi.transport.Transport$1.run(Transport.java:153)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
    at java.lang.Thread.run(Thread.java:595)
    Caused by: java.rmi.UnmarshalException: skeleton class not found but required for client version
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:243)
    ... 6 more
    I am not able to figure out why this thing is happening, If i also set the property java.rmi.server.ignoreStubClasses=true on the client side everything goes fine. But this I can't do. I can't set the property on the client side as the system is up and already running.
    I am using JDK version 1.5.0_06. Same exception comes under JDK 6.0
    Any help will be highly appreciated.

    I think this is a bug. When you exported the Registry from your server JVM it was also exported with java.rmi.server.ignoreStubClasses=true, but the Registry bootstrap at the client requires the 1.1 stub protocol for compatiblity reasons so you got this error. I would report this on the Bug Parade.
    You could get around it by setting java.rmi.server.ignoreStubClasses after exporting the Registry.
    BTW java.rmi.server.ignoreStubClasses isn't supposed to do anything at the client whether true or false so you can cut your testing space in half.

  • Java.rmi.server.SkeletonMismatchException: interface hash mismatch

    I am trying to get a MBORemoteSet from the session, which actually gives me the list from the database table. when i click on a combo box returning me the list using the MBOSetRemote object it throws me the exception.
    could not load the labor codes from Maximo
    java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
         java.rmi.server.SkeletonMismatchException: interface hash mismatch
    java.rmi.server.SkeletonMismatchException: interface hash mismatch      
    at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:240)      
    at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:215)      
    at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:349)      
    at worktech.app.labor.WTLaborSet_Stub.setWhere(Unknown Source)

    Well this error occurs if the RMI files are different on the server and client side.
    It basically tells you that the stub and skeleton don't match with each other. Get the latest version of the RMI jar file or whatever file you are using on the server side to replace the file you are using oon the client side. This would make stub and skeletons to communicate with each other effectively . enjoy :)

  • How to Start Java RMI Server Application as Windows NT Service

    Hi!!,
    I have problem regarding the Installation of Java Application as NT Service this Java app in turn will start RMI Registry using LocateRegistry.createRegistry() at some specific port number. The Service is created successfully but i have problem regarding the Accessing of this Remote Object using Lookup() .(ie) I am able to get the RMI Registry Obj Refererce of the Java Rmi Application but couldn't able to Lookup for the Object registered to this Rmi Registry.I am not able to proceed after getting the Rmi Registry reference.
    So any help Regarding this is appreciated.
    Thanks in Advance.
    with regards,
    Ramakrishna M
    Mail: [email protected]

    Hello,
    I have started a Java RMI Server Application as NT Service using JNT (download it from www.eworksmart.com/JNT/ ).
    It is working fine.
    S. Navaneethakrishnan
    [email protected]

  • Java.rmi.server.ExportException: while stopping weblogic Managed server

    Hello,
    I am getting the below error while I try to stop the weblogic managed server from the stop script in the server. I am able to do it thru the console.
    the weblogic version is 9.23.
    -server -Xms1536m -Xmx1536m
    Stopping Weblogic Server...
    Error: Exception thrown by the agent : java.rmi.server.ExportException: Port already in use: 9990; nested exception is:
         java.net.BindException: Address already in use
    I am a newbie , so anyone could help me figure out the things I need to check so that I can troubleshoot the issue?
    thanks in advance.

    Are you using a custom script or <domain>/bin/stopManagedWebLogic.sh ?
    The msg you've informed seems to be an error that happens when you try to start a managed server that is trying to use a port that is already in use.

  • Java.rmi.server.ExportException: Listen failed on port: 1099;

    Hi All,
    I am trying to run RMI tutorial from sun's java tutorial. It has 8 parts. The last two parts are "Compiling the Example Programs" and "Running the Example Programs".
    Until "Compiling the Example Programs", I am okay.
    But I am stuck in the last part, "Running the Example Programs". When I use the command "rmiregistry", it gives me a list of exceptions as follows.
    c:\home\ann\src>rmiregistry
    java.rmi.server.ExportException: Listen failed on port: 1099; nested exception is:
    java.net.SocketException: Permission denied: listen failed
    at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:312)
    at sun.rmi.transport.tcp.TCPTransport.exportObject(TCPTransport.java:218)
    at sun.rmi.transport.tcp.TCPEndpoint.exportObject(TCPEndpoint.java:393)
    at sun.rmi.transport.LiveRef.exportObject(LiveRef.java:129)
    at sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:190)
    at sun.rmi.registry.RegistryImpl.setup(RegistryImpl.java:92)
    at sun.rmi.registry.RegistryImpl.<init>(RegistryImpl.java:78)
    at sun.rmi.registry.RegistryImpl.main(RegistryImpl.java:322)
    Caused by: java.net.SocketException: Permission denied: listen failed
    at java.net.PlainSocketImpl.socketListen(Native Method)
    at java.net.PlainSocketImpl.listen(PlainSocketImpl.java:380)
    at java.net.ServerSocket.bind(ServerSocket.java:320)
    at java.net.ServerSocket.<init>(ServerSocket.java:185)
    at java.net.ServerSocket.<init>(ServerSocket.java:97)
    at sun.rmi.transport.proxy.RMIDirectSocketFactory.createServerSocket(RMIDirectSocketFactory.java:27)
    at sun.rmi.transport.proxy.RMIMasterSocketFactory.createServerSocket(RMIMasterSocketFactory.java:333)
    at sun.rmi.transport.tcp.TCPEndpoint.newServerSocket(TCPEndpoint.java:649)
    at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:299)
    ... 7 more
    c:\home\ann\src>
    Then, I try to use "start rmiregistry" command. At that time, a command window stating the above exception popup just for a while and closed automatically.
    Now, I use jdk1.6.0_16 on Windows Vista.
    Previously, I used j2sdk1.4.2_19. That time, I could run "start rmiregistry" properly and could try testing another RMI example application.
    But if I use j2sdk1.4.2_19, compiling some statements in the sun's RMI tutorial gives me error. So, I change to use jdk1.6.0_16 for this tutorial. "jdk1.6.0_16" compiles all programs in the tutorial with no error. But I can't run the statement "start rmiregistry".
    I use the command prompt from Vista's default Administrator account and already disable User Account Control too.
    Any help, please!
    Thanks a lot,
    atzm111

    Hi,
    This is the result of netstat -an
    c:\home\ann\src>netstat -an
    Active Connections
    Proto Local Address Foreign Address State
    TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
    TCP 0.0.0.0:2868 0.0.0.0:0 LISTENING
    TCP 0.0.0.0:3999 0.0.0.0:0 LISTENING
    TCP 0.0.0.0:49152 0.0.0.0:0 LISTENING
    TCP 0.0.0.0:49153 0.0.0.0:0 LISTENING
    TCP 0.0.0.0:49154 0.0.0.0:0 LISTENING
    TCP 192.168.1.102:139 0.0.0.0:0 LISTENING
    TCP 192.168.1.102:49475 64.233.189.17:80 ESTABLISHED
    TCP 192.168.1.102:49620 64.233.189.83:80 ESTABLISHED
    TCP 192.168.1.102:49625 72.5.124.102:80 ESTABLISHED
    TCP 192.168.1.102:49626 72.5.124.102:80 ESTABLISHED
    TCP 192.168.1.102:49627 72.5.124.102:80 ESTABLISHED
    TCP 192.168.1.102:49628 72.5.124.102:80 ESTABLISHED
    TCP 192.168.1.102:49629 72.5.124.102:80 ESTABLISHED
    TCP 192.168.1.102:49631 72.5.124.61:80 TIME_WAIT
    TCP 192.168.1.102:49634 124.155.222.16:80 ESTABLISHED
    TCP [::]:135 [::]:0 LISTENING
    TCP [::]:49152 [::]:0 LISTENING
    TCP [::]:49153 [::]:0 LISTENING
    TCP [::]:49154 [::]:0 LISTENING
    UDP 0.0.0.0:123 *:*
    UDP 0.0.0.0:500 *:*
    UDP 0.0.0.0:4500 *:*
    UDP 0.0.0.0:5355 *:*
    UDP 127.0.0.1:1900 *:*
    UDP 127.0.0.1:51196 *:*
    UDP 127.0.0.1:64757 *:*
    UDP 192.168.1.102:137 *:*
    UDP 192.168.1.102:138 *:*
    UDP 192.168.1.102:1900 *:*
    UDP 192.168.1.102:51195 *:*
    UDP [::]:123 *:*
    UDP [::]:500 *:*
    UDP [::]:5355 *:*
    UDP [::1]:1900 *:*
    UDP [::1]:51193 *:*
    UDP [fe80::100:7f:fffe%16]:1900 *:*
    UDP [fe80::100:7f:fffe%16]:51194 *:*
    UDP [fe80::18c1:1fa4:382b:261%12]:1900 *:*
    UDP [fe80::18c1:1fa4:382b:261%12]:51191 *:*
    UDP [fe80::69bc:321e:5e99:dc7c%11]:1900 *:*
    UDP [fe80::69bc:321e:5e99:dc7c%11]:51192 *:*
    UDP [fe80::a0a0:89c2:b2fd:e4b9%13]:1900 *:*
    UDP [fe80::a0a0:89c2:b2fd:e4b9%13]:51190 *:*
    c:\home\ann\src>
    So, port 1099 is not in use. I don't know how to check your second fact. I'll find it out coz I can't ask you. :D
    Thanks!

  • About java.rmi.server.UnicastRemoteObject

    Hi friends
    Just now I started studying about RMI. In Implementing Remote Interface class we extends java.rmi.server.UnicastRemoteObject class we also have java.server.RemoteObject also why we specifically extends UnicastRemoteObject what is the significance of it
    can anyone help me plz
    thank u

    UnicastRemoteObject is a base class that can make your object a remote object. (If you create an object that DOESN'T extend UnicastRemoteObject, then it's methods cannot be accessed remotely.

  • Java.rmi.server.ExportException...

    I am making a bridge code.
    the server is in a package called bridgeserver.
    The client in a package called bridgeclient.
    I have compiled all files in the packages.
    I do rmic bridgeserver.BridgeServer(name of server program) from jdk1.3
    I do c:\jdk1.3 >rmic bridgeclient\BridgeClient(name of client).
    then start rmiregistry
    then when I do java bridgeserver.BridgeServer(runnign thr server) I get the follwowing exceptions:
    java.rmi.server.ExportException : Unable to access remote reference,
    nested exception is
    java.rmi.server.SkeletonNotFoundException:
    Skeleton class not found :bridgeserver.BridgeServer_Skel;nested exception is ;
    java.lang.ClassNotFoundException :bridgeserver.BridgeServer-Skel
    Is there sometyhign wrong with the classpath?

    on your rmic line include the option
    -v1.2
    This should get rid of skeleton junk. (But of course may uncover other problems.)

Maybe you are looking for

  • Thin green vertical line in middle of built-in display screen

    This green line just appeared after using this MacBook since Oct 2008 purchase. Does not appear on the boot up screen, but at log-in and beyond. Please reply with any thoughts or suggestions. Randall

  • Junk characters in ldt file

    Hi Experts, Am a newbie to oracle apps. Iam using 'messages' to store and display arabic characters in xml report and it is working fine . While migrating the report form one instance to another instance by downloading ldt file, the arabic characters

  • Garbled greek symbols and superscripts in PDF

    Hi everybody I have troubles reading scientific pdf files where there are a lot of greek symbols and superscripts. Sometimes, the display of the symbols is flawless, then the next time I open the very same pdf-file, all the symbols and superscripts a

  • After effects download problem

    Hello, Downloading after effects fails, it says the server has some problem (french message : notre serveur rencontre actuellement des problèmes, veuillez réessayer ultérieurement). Unfortunately, I cannot wait, I need after effects to finish a stude

  • Is this covered in the limited hardware warranty?

    So I droped my iPod today and somehow I bent the metal back of the thing but did not break the glass. The glass is now overhanging the metal in one corner and I can see into the device. It still works perfect, but I dont want the screen to eventually