RMI lookup, NoSuchObjectException

Hello!
I have a problem with RMI. And I hope someone is able to help me!
I have a running Server, wich opens a UnicastRemoteObject and binds it to the registry.
My client is running in a NSI CrEme VM. The clients connects to the regitry via lookup.
My Problem case: If the device is turn off and then turned on again (On Windows CE the app is still running), the network connection was lost for a little time. So the RMI connection could not send the least signals any more (So after the set least time... the connection expired). So the objects are not available any more and on a call of the remote object a RemoteException occurs.
What I do then is, I connect the remote object again via lookup. This works, but now each call on the remote object takes a long time to proceed.
So I turned on the log calls from RMI on the server... and they say, that there is a NoSuchObjectException is thrown. But I am wondering why after a little time the call on the remote object is successfull. Each call now takes time, because each time it is trying to find the object and says, that it's not found. Anyway the call is successful.
If I restart the app, all works fine... but what I want is to reconnect without restarting the app.
What can I do? The thing I want to do is to "reconnect" without starting the VM again after the least time is expired. To lookup won't work. Or am I doing anything wrong?
Thanks for your answers!
Yves

Hello!
What I have just done was to make the server stub as static.
My code, whicht does it:
LocateRegistry.createRegistry(MyServer.getRMIPort());
serverInterface = (MyServerInterface)UnicastRemoteObject.exportObject(server, MyServer.getUnicastRemotePort());
Naming.bind("rmi://localhost:" + MyServer.getRMIPort() +  "/myServer", serverInterface);
public SessionInterface getSession(String userName, String clientName,
          Locale locale) throws ClassNotFoundException,
          IllegalAccessException, InstantiationException, RemoteException {
     logger.info("User " + userName + "@" + clientName + " tried to connect.");
     SessionInterface session = new Session();
     return (SessionInterface) UnicastRemoteObject.toStub(session);
}And my client reconizes the NoSuchObjectException and then does a reconnect via a new lookup.
Client-Code:
try {
     instance.getRMISession().isAlive();
     System.out.println("ALIVE");
} catch (RemoteException ex) {
     System.out.println("REMOTE EXCEPTION");
     instance = null;
     System.gc();
     instance = new RMIConnector(MyClient.getInstance()
                    .getHostconnectionData().getIpAdress(),
                         MyClient.getInstance().getHostconnectionData()
                              .getPort());
     instance.tryLookup(); // HERE IS DONE A NEW LOOKUP - WHICH JUST WORKS FINE!!!
}And the code which gives me the class from the factory:
if (session == null) {
     if (!connected)     {
          this.tryLookup();
     System.out.println("RMI: getting Session Object.");
     session = server.getSession(ClientConnectionData.getInstance()
                    .getLoginData().getLogInName(), ClientConnectionData
                         .getInstance().getHostNameIpAdress(), null);
     // we must resend the logindata any time we connect to host
     sendLoginData();
connected = true;
return session;After this the connection works, just with the situation explained above. (First post)
The NoSuchObjectException now is not thrown to the client. I just see the Exception if I turn on the logs and exceptions for RMI on the server.
There I get the following message:
Feb 27, 2009 9:38:35 AM sun.rmi.transport.Transport serviceCall
FINE: RMI TCP Connection(49)-10.28.17.20: [10.28.17.20] exception:
java.rmi.NoSuchObjectException: no such object in table
        at sun.rmi.transport.Transport.serviceCall(Transport.java:129)
        at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:4
66)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
.java:707)
        at java.lang.Thread.run(Thread.java:595)The intresting thing is, all just works fine, each call on the functions and the return values... BUT every time it takes a long period to proceed (about 10seconds). What I also can see in the RMI loggings on the server, ist that first the function is executed and after this it says a few times the NoSuchObjectException exception before the Client goes on.
I hope you can help me!!!
Yves

Similar Messages

  • Linux RMI lookup takes too long when DNS is not available

    I am running Java 6 on Linux and ran into the following problem (please bear with me, there is a lot of background info before the actual question). I have a Java program that uses RMI for IPC. The server binds to localhost and clients lookup on localhost. The following are code snippets for my server and client.
    // Server binding code
    registry = LocateRegistry.createRegistry(port);
    registry.rebind("SERVICE", new ServiceImpl());
    // Client lookup code
    Naming.lookup("rmi://localhost:" + port + "/SERVICE");As long as DNS works, this code runs just fine. It takes ~0.3s for the server to bind and ~0.4s for the client to lookup. If DNS is not available, it takes ~40s for the server to bind and ~60s for the client to lookup! The times for lookup do not change if I use "127.0.0.1" instead of "localhost".
    I have localhost defined in my /etc/hosts file and my /etc/nsswitch.conf file specifies that host lookups should use files before nameservers. By commenting out the localhost value in the /etc/hosts file, I have determined that eventually the value in /etc/hosts is used if needed (the server bind fails if DNS is not available and localhost is commented out).
    If the network goes down, someone messes up the /etc/resolv.conf file, or our nameservers go down, RMI binds and lookups for something as easy to resolve as localhost takes way too long.
    So my question boils down to: Is there any way I can bind and lookup RMI servers without using DNS or by using DNS after /etc/hosts lookup fails?

    I turned on logging. You can see here that when DNS is working everything runs fine.
    Nov 19, 2007 5:14:12 PM sun.rmi.transport.tcp.TCPTransport$ConnectionHandler run0
    FINER: RMI TCP Connection(10)-127.0.0.1: (port 1234) client using localhost:0
    Nov 19, 2007 5:14:12 PM sun.rmi.transport.tcp.TCPTransport handleMessages
    FINE: RMI TCP Connection(10)-127.0.0.1: (port 1234) op = 80
    Nov 19, 2007 5:14:12 PM sun.rmi.transport.StreamRemoteCall getInputStream
    FINER: RMI TCP Connection(10)-127.0.0.1: getting input stream
    Nov 19, 2007 5:14:12 PM sun.rmi.transport.Transport serviceCall
    FINER: RMI TCP Connection(10)-127.0.0.1: call dispatcher
    Nov 19, 2007 5:14:12 PM sun.rmi.server.UnicastServerRef logCall
    FINER: RMI TCP Connection(10)-127.0.0.1: [127.0.0.1: sun.rmi.registry.RegistryImpl[0:0:0, 0]: java.rmi.Remote lookup(java.lang.String)]
    Nov 19, 2007 5:14:12 PM sun.rmi.transport.StreamRemoteCall getOutputStream
    FINER: RMI TCP Connection(10)-127.0.0.1: getting output stream
    Nov 19, 2007 5:14:12 PM sun.rmi.transport.tcp.TCPTransport$ConnectionHandler run0
    FINE: RMI TCP Connection(11)-127.0.0.1: accepted socket from [127.0.0.1:37084]When DNS is not working, there is a 15 second timeout and 5 seconds to reconnect.
    Nov 19, 2007 5:16:03 PM sun.rmi.transport.tcp.TCPTransport$ConnectionHandler run0
    FINE: RMI TCP Connection(12)-127.0.0.1: accepted socket from [127.0.0.1:57328]
    Nov 19, 2007 5:16:03 PM sun.rmi.transport.tcp.TCPTransport$ConnectionHandler run0
    FINER: RMI TCP Connection(12)-127.0.0.1: (port 1234) suggesting 127.0.0.1:57328
    Nov 19, 2007 5:16:03 PM sun.rmi.transport.tcp.TCPTransport$ConnectionHandler run0
    FINER: RMI TCP Connection(12)-127.0.0.1: (port 1234) client using localhost:0
    Nov 19, 2007 5:16:03 PM sun.rmi.transport.tcp.TCPTransport handleMessages
    FINE: RMI TCP Connection(12)-127.0.0.1: (port 1234) op = 80
    Nov 19, 2007 5:16:03 PM sun.rmi.transport.StreamRemoteCall getInputStream
    FINER: RMI TCP Connection(12)-127.0.0.1: getting input stream
    Nov 19, 2007 5:16:03 PM sun.rmi.transport.Transport serviceCall
    FINER: RMI TCP Connection(12)-127.0.0.1: call dispatcher
    Nov 19, 2007 5:16:03 PM sun.rmi.server.UnicastServerRef logCall
    FINER: RMI TCP Connection(12)-127.0.0.1: [127.0.0.1: sun.rmi.registry.RegistryImpl[0:0:0, 0]: java.rmi.Remote lookup(java.lang.String)]
    Nov 19, 2007 5:16:03 PM sun.rmi.transport.StreamRemoteCall getOutputStream
    FINER: RMI TCP Connection(12)-127.0.0.1: getting output stream
    Nov 19, 2007 5:16:18 PM sun.rmi.transport.tcp.TCPTransport handleMessages
    FINE: RMI TCP Connection(12)-127.0.0.1: (port 1234) connection closed
    Nov 19, 2007 5:16:18 PM sun.rmi.transport.tcp.TCPConnection close
    FINE: RMI TCP Connection(12)-127.0.0.1: close connection
    Nov 19, 2007 5:16:23 PM sun.rmi.transport.tcp.TCPTransport$ConnectionHandler run0
    FINE: RMI TCP Connection(13)-127.0.0.1: accepted socket from [127.0.0.1:37087]I tried specifying different timeout values using different RMI properties. Nothing seems to affect it except setting sun.rmi.transport.tcp.readTimeout to a value less than 15 seconds (which is not practical).
    Any ideas why getting the output stream would timeout?

  • RuntimePermission exception on RMI lookup on a signed Applet

    Hi everybody,
    Here is my problem : I want to call an ejb from my applet, using RMI.
    But, as it is an applet, I get a security exception when I make the naming lookup :
    java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.rmi.server)
    I have been wandering for two days in the Java Sun sites and forums to find out how to pass through this problem.
    Too many information is no information : I am not sure to have the correct answer; but here is what I have found :
    All I have to do is to make a self-signed Applet (for testing purpose, before having a real certificate), using keytool and jarsigner, and use it with Java Plugin. Doing that will give AllPermission to the signed code, if the user agrees through a Java Plugin dialog.
    (see http://java.sun.com/products/plugin/1.2/docs/nsobjsigning.html)
    But... that doesn't work (who said 'of course' ?) :
    I get the granting dialog, and even if I agree, I always get the same java.lang.RuntimePermission accessClassInPackage exception.
    The strange think is that I tried to write a file on the client machine for testing the permission, and that works fine with this same signed applet.
    I think that AllPermission implies FilePermission and also RuntimePermission, doesn't ?
    Is this behaviour related to my self-signed certificate ? (in this case, why can i write a file ?)
    What am I missing ?
    Any help will be welcome,
    many thanks
    bernard
    PS. : Of course, i don't want the user to modify its java policy or security configuration as it is often "mission impossible".

    Sorry, i forgot : i am using Java Plugin v 1.3.1_02
    B

  • RMI-IIOP NoSuchObjectException

    I have looked up an EJB from the Weblogic tree. I am attempting to call on method
    on this EJB, and the method takes a reference to my client object. I have created
    the stub for the client using JBuilder's rmic with the options of -v1.2 and -iiop.
    I also export the object in the constructor of the client using UnicastRemoteObject.exportObject(this).
    1) When I attempt to put the wlclient.jar and wljmsclient.jar in the classpath
    of my client, the
    following error occurs:
    java.rmi.NoSuchObjectException: CORBA INV_OBJREF 0 No; nested exception is:
    org.omg.CORBA.INV_OBJREF: client.Client not exported or is a JRMP stub vmcid:
    0x0 minor
    code: 0 completed: No
    at com.sun.corba.se.internal.iiop.ShutdownUtilDelegate.mapSystemException
    (ShutdownUtilDelegate.java:91)
    2) When I put the weblogic.jar (without the 2 client.jar files) in my classpath,
    this error does
    not occur.
    Thanks in advance,
    Joel

    "Joel" <[email protected]> wrote:
    >
    Andy Piper <[email protected]> wrote:
    "Joel" <[email protected]> writes:
    The problem seems to be the same when I do an ant compile, rmic, andjar. Is
    there
    something special that I need to do on the client side besides havingthe Stubs
    and Ties
    available and exporting the object using UnicastRemoteObject.exportObject(..)?
    I'm stumpbed.You should probably use PortableRemoteObject.exportObject() rather
    than UnicastRemoteObject.exportObject(). You should probably also make
    your client object implementation extend PortableRemoteObject. The JDK
    does some special magic in these classes. UnicastRemoteObject is more
    a JRMP thing. We use PRO in our tests.
    andyAndy,
    Thanks for the help. I now have my client object extending the PortableRemoteObject
    rather
    than using UnicastRemoteObject's exportObject method. That cures the
    previous
    error. Now
    I'm getting a different error. It occurs in the same place, when I attempt
    to
    send my client as
    a parameter to the server. Both are using the exact same JDK and the
    same class
    files.
    Please advise.
    Exception in thread "main" java.io.IOException: Invalid indirection to
    offset
    84
    88
    at com.sun.corba.se.internal.io.IIOPInputStream.throwExceptionType(Nativ
    e Method)
    at com.sun.corba.se.internal.io.IIOPInputStream.defaultReadObjectDelegat
    e(IIOPInputStream.java:446)
    at com.sun.corba.se.internal.io.InputStreamHook.defaultReadObject(InputS
    treamHook.java:163)
    at java.text.DecimalFormat.readObject(DecimalFormat.java:2506)
    at com.sun.corba.se.internal.io.IIOPInputStream.readObject(Native
    Method
    at com.sun.corba.se.internal.io.IIOPInputStream.invokeObjectReader(IIOPI
    nputStream.java:1298)
    at com.sun.corba.se.internal.io.IIOPInputStream.inputObject(IIOPInputStr
    eam.java:908)
    at com.sun.corba.se.internal.io.IIOPInputStream.simpleReadObject(IIOPInp
    utStream.java:261)
    at com.sun.corba.se.internal.io.ValueHandlerImpl.readValueInternal(Value
    HandlerImpl.java:247)
    at com.sun.corba.se.internal.io.ValueHandlerImpl.readValue(ValueHandlerI
    mpl.java:209)
    at com.sun.corba.se.internal.iiop.CDRInputStream_1_0.read_value(CDRInput
    Stream_1_0.java:1075)
    at com.sun.corba.se.internal.iiop.CDRInputStream.read_value(CDRInputStre
    am.java:293)
    at com.sun.corba.se.internal.io.IIOPInputStream.inputObjectField(IIOPInp
    utStream.java:1577)
    at com.sun.corba.se.internal.io.IIOPInputStream.inputClassFields(IIOPInp
    utStream.java:1796)
    at com.sun.corba.se.internal.io.IIOPInputStream.inputObject(IIOPInputStr
    ...(more stuff from this exception then: )
    java.rmi.MarshalException: CORBA MARSHAL 1398079699 Maybe; nested exception
    is:
    org.omg.CORBA.MARSHAL: Unable to read value from underlying bridge
    : Una
    ble to read value from underlying bridge : Unable to read value from
    underlying
    bridge : Unable to read value from underlying bridge : Unable to read
    value from
    underlying bridge : Unable to read value from underlying bridge : Unable
    to rea
    d value from underlying bridge : Unable to read value from underlying
    bridge :
    U
    nable to read value from underlying bridge : Unable to read value from
    underlyin
    g bridge : Unable to read value from underlying bridge : Serializable
    readObject
    method failed internally vmcid: SUN minor code: 211 completed: Maybe
    at com.sun.corba.se.internal.iiop.ShutdownUtilDelegate.mapSystemExceptio
    n(ShutdownUtilDelegate.java:97)
    at javax.rmi.CORBA.Util.mapSystemException(Util.java:65)
    Any help would be GREATLY appreciated.
    Thanks,
    Joel
    It is also important to note that this error only occurs when wlclient.jar and
    wljmsclient.jar are in
    the classpath and weblogic.jar is not. When weblogic.jar is in the client's classpath,
    everything
    works fine.

  • Libraries needed for a IDE (RMI) - weblogic 10.3 server lookup

    Hi
    Just a simple question, which .jar files do a need to do a simple rmi lookup from my IDE (Intellij in this case) to a weblogic 10.3 server ?
    The weblogic.jar files doesn't seem to cut it anymore
    /Laban

    The weblogic.jar ist still a good place to start with :)
    You could also try the %bea_home%\wlserver_10.0\server\lib\wlclient.jar
    edocs wrote:
    The thin client jar contains the necessary J2EE interface classes, such as javax.ejb, so no other jar files are necessary on the client.
    Server-side components are deployed in the usual fashion. Client stubs can be generated at either deployment time or runtime.To generate stubs when deploying, run appc with the -iiop > > and -basicClientJar options to produce a client jar suitable for use with the thin client. Otherwise, WebLogic Server will generate stubs on demand at runtime and serve them to the client. > Downloading of stubs by the client requires that a suitable security manager be installed. The thin client provides a default light-weight security manager. For rigorous security requirements, a > > different security manager can be installed with the command line options -Djava.security.manager -Djava.security.policy==policyfile.
    The thin client jar replaces some classes in weblogic.jar, if both the full jar and the thin client jar are in the CLASSPATH, the thin client jar should be first in the path. Note however that > > weblogic.jar is not required to support the thin client.
    /edocsMore information here: http://e-docs.bea.com/wls/docs103/client/basics.html#wp1072941

  • Java.rmi.ConnectException: Connection refuse

    Hi all,
    I have built a simple RMI client server application.I can run client & server fine locally.
    However if I test this appplication over the internet, I get this exception on the client:
    java.rmi.ConnectException: Connection refused to host: 169.254.157.53; nested exception is:
    java.net.ConnectException: Connection timed out: connectConnection refused to host:169.254.157.53
    The RMI server is running on my PC and the client on a friend's remote PC.Both PCs are connected to Internet.
    I don't have any firewall running on my PC (including windows XP firewall). The server RMI lookup on the client happens correctly,
    the exception is raised when the client tries to call the remote method on the server.
    Here is an extract of my RMI server code (it works locally):
    public static void main(String[] args) throws Exception {
              try {
              // args[0] contains the database server name given as command line argument, arg[1] contains binary path that contains weather jpeg files     
              CPrimaryWeatherServer test = new CPrimaryWeatherServer(args[0], args[1]);
              Naming.rebind("rmi://localhost:1099/WeatherPrimaryService", test);
              System.out.println("Serveur m�t�o principal d�marr�");
              } catch (Exception e){ System.out.println(e.getMessage());}
    Here is an extract of my RMI client code (it works locally):
    try{
                        rec=1;
                        leftClik=1;
                        System.out.println("Before RMI lookup");
                        IPrimaryWeatherServerService serveur =(IPrimaryWeatherServerService)Naming.lookup("rmi://"+primWS+":1099/WeatherPrimaryService");
                        System.out.println("After RMI lookup");
                        System.out.println("Before server method call");
                        z=serveur.getFullWeatherData(); --> exception is raised here
                        System.out.println("After RMI server method call");
    I am directly connected to Internet using an ethernet card connected to an ADSL modem.169.254.157.53 is the automatic IP of my network card different from the IP given by my ISP. By the way, the client tries to contact me using my DNS name that resolves correctly to my ISP IP adress.
    Thanks a lot for help,

    because I am guessing that a local IP address is being embedded into the stub so the clien't can't find the remote server. I am guessing because you didn't provide the exception or its text. Anyway the suggestion will cause the correct public IP address/hostname to be embedded into the stub.

  • RMI callbacks with no replica aware stubs in a cluster?

    We would like to use either an RMI ping mechanism or an RMI callback in an upcoming project but are limited to 1.1 and 1.2 JRE's. I don't believe generating a replica aware proxy is an option for us given those constraints, no support for dynamic proxies. So we have a remote server object that we would ideally like to be clusterable that we can register a callback interface with. How can we accomplish this given our client limitations with weblogic 8.1 RMI? Any options?

    Yep you speak no lies. Of course once I thought about it some more I realized the error of assuming one could register a jdk rmi object with a weblogic rmi object. JRMP vs T3?. Not good.
    We still like using plain jane RMI w/in weblogic. I can register my UnicastRemoteObject stub with a normal RMI object on the server and it can callback and deliver messages. It will also send heartbeats periodically. If the heartbeat isn't heard from in awhile we re-register through http. The advantage of this is that the http session has failed over to another box and the web tier manages the rmi registration for me. The client can remain ignorant of any RMI lookups, which are tedious when not using JNDI or the cluster aware proxy.
    All of this to get back a few seconds and keep a few thousand clients from polling through a servlet every second. Argh JDK 1.1.
    Thanks for hammering that final point in.

  • RMI application - Urgent

    I have a simple client Server code running (Loop back IP is used in Name.bind) in 2 windows, third window rmiregistry is running to lookup for the remote object.
    Say another second client come in while the first client is in the middle of the code...
    1) What will happen ?
    2) Will both clients get their own objects seperately ?
    3) How do they track the use of a method in the remote object ?
    Please answer gurus... Thanks a bunch

    I assume that you mean "A second client does an RMI lookup and calls (the same? a different?) method of the same server object. What happens?"
    The answer is that your server object needs to be thread safe, because the second call might be active before the first call has finished. This means that if they deal with the same resources, then the methods using those resources need to be synchronized.
    Another way of putting it: RMI remote method calls are inherently multi-threaded.

  • JNDI lookup with DNS

    Hi all,
    we are using 2 weblogic 5.1 servers (not clustered) for
    our load balancing solution. In our client applications,
    we use a hostname against a DNS for the JNDI lookups for our
    RMI objects deployed on the 2 weblogic servers.
    Ideally, a round-robin load balancing is expected.
    But in reality, all the lookups are sticking to one of our
    servers until we restart our client applications. The
    lookups may switch to another. In our applications,
    we are making many subsequent RMI lookup using JNDI.
    We would like to spread the remote method invocation
    between our 2 servers. How can we integrate with the
    DNS? We have proved that the DNS will return the
    IP addresses of the 2 weblogic in round-robin manner.
    thanks!
    cheers,
    Kenneth
    [email protected]

    Ken,
    What client are you using? We had the same problem when we switched from
    Windows NT to Windows 2000 clients. Round-robin worked fine in NT and by
    default got "stuck" when we tried it from Win 2000 client. There is a
    setting in the network properties on Win 2000 to "unstick" that will fix the
    problem, if this is the setup you have?
    Bart Jenkins, Globeflow SA
    [email protected]
    "Kenneth Yue" <[email protected]> wrote in message
    news:3bb09863$[email protected]..
    >
    >
    Hi all,
    we are using 2 weblogic 5.1 servers (not clustered) for
    our load balancing solution. In our client applications,
    we use a hostname against a DNS for the JNDI lookups for our
    RMI objects deployed on the 2 weblogic servers.
    Ideally, a round-robin load balancing is expected.
    But in reality, all the lookups are sticking to one of our
    servers until we restart our client applications. The
    lookups may switch to another. In our applications,
    we are making many subsequent RMI lookup using JNDI.
    We would like to spread the remote method invocation
    between our 2 servers. How can we integrate with the
    DNS? We have proved that the DNS will return the
    IP addresses of the 2 weblogic in round-robin manner.
    thanks!
    cheers,
    Kenneth
    [email protected]

  • RMI localhost problem

    I specifiy RMI lookups to use 127.0.0.1 however for some reason if I pull out my network connection the lookup fails with the Error due to the fact that no connection can be made to the IP address of the machine and not 127.0.0.1
    How can I ensure that 127.0.0.1 is used so that RMI lookups do not fail when the netwrok is down?

    By default it will try to connect to the local host..
    try to use this
    -Djava.rmi.server.hostname=127.0.0.1
    Krishna

  • Oracle 10g AS  pacth for Oracle Apps 11i

    Hi everyone,
    I have installed Oracle 10g AS (10.1.2.0.2) for Oracle Business Intelligence on Sun Solaris 10 (64 bit) and integrated it with Oracle Apps 11i (11.5.10.2).
    Everything seems fine but i am facing problems like
    1) Toolbars not appearing correctly sometimes like it is disabled and enables by itself.
    2)sometimes clients come accross "Connection with Server lost..." error while taking export (very few).
    3) Its giving the error (mentioned at the end) only on one client machine while taking export to Excel.
    I have tried installing Oracle 10g AS patch set 2 10.1.2.2 for Solaris but the problem persisits. Is patch set 2 compatible or certified with Oracle Apps 11i? if not then is there any other work around or do i have to wait for some new patch.
    Thanx for your inputs.
    Najeeb
    Java(TM) Plug-in: Version 1.4.2_06
    Using JRE version 1.4.2_06 Java HotSpot(TM) Client VM
    User home directory = C:\Documents and Settings\ASHIBEL
    Proxy Configuration: Manual Configuration
    Proxy: http=EMRPXY1:80,https=EMRPXY1:80,ftp=EMRPXY1:80,gopher=EMRPXY1:80
    Proxy Overrides: emrpxy1:80,<local>
    c: clear console window
    f: finalize objects on finalization queue
    g: garbage collect
    h: display this help message
    l: dump classloader list
    m: print memory usage
    o: trigger logging
    p: reload proxy configuration
    q: hide console
    r: reload policy configuration
    s: dump system properties
    t: dump thread list
    v: dump thread stack
    x: clear classloader cache
    0-5: set trace level to <n>
    Installed custom security manager
    Could not assertPermission PermissionID.SYSTEM for IE
    This can cause "Warning : Applet Window" to be displayed when running with IE
    attempt 1: adding Protocol.protocol -> rmi
    attempt 1: adding default Protocol.timeoutsecs -> 40
    attempt 1: adding RMIProtocol.transport -> http
    attempt 1: adding RMIProtocol.servletalias -> /discoverer/plus
    attempt 1: adding RMIProtocol.hijacksessionid -> 1
    attempt 1: adding RMIProtocol.httpsessionid -> jsessionid=0a43ce3430d605f5e434046d403ea5e9f219eb3784b7.e34QahyNbx0Ka40La3ySahuRbhmOe6fznA5Pp7ftolbGmkTy
    attempt 1: adding default Protocol.codebase -> http://discoverer.emaar.ae:7777/disco/plus_files/
    attempt 2: adding Protocol.protocol -> rmi
    attempt 2: adding default Protocol.timeoutsecs -> 40
    attempt 2: adding RMIProtocol.transport -> https
    attempt 2: adding RMIProtocol.servletalias -> /discoverer/plus
    attempt 2: adding RMIProtocol.hijacksessionid -> 1
    attempt 2: adding RMIProtocol.httpsessionid -> jsessionid=0a43ce3430d605f5e434046d403ea5e9f219eb3784b7.e34QahyNbx0Ka40La3ySahuRbhmOe6fznA5Pp7ftolbGmkTy
    attempt 2: adding default Protocol.codebase -> http://discoverer.emaar.ae:7777/disco/plus_files/
    Discoverer Model - 10.1.2.48.18
    New LOOKUP
    Lookup Requested
    Performing lookup RMI lookup: http://discoverer.emaar.ae:7777//discoverer/plus
    Reading bytes from input stream
    Unmarshalling response
    Session ID:2007061817102717616
    BI Beans Graph version [3.2.2.0.24]
    BI Beans Graph version [3.2.2.0.24]
    The export/print operation failed
    Worker oracle.disco.publish.PublishData@6ffeb, command=ExportData failed with DiscoNetworkException IDL:DCCORBAException:1.0 - Nested exception: oracle.discoverer.corba.DCCORBAException: IDL:DCCORBAException:1.0 wrapping exception oracle.discoverer.corba.DCCORBAException: IDL:DCCORBAException:1.0
    Error: DiscoNetworkException IDL:DCCORBAException:1.0 - Nested exception: oracle.discoverer.corba.DCCORBAException: IDL:DCCORBAException:1.0
    DiscoNetworkException IDL:DCCORBAException:1.0 - Nested exception: oracle.discoverer.corba.DCCORBAException: IDL:DCCORBAException:1.0
    oracle.discoverer.corba.DCCORBAException: IDL:DCCORBAException:1.0
         at oracle.disco.remote.corba.RMIToCorba.convertRemoteException(Unknown Source)
         at oracle.disco.model.corbaserver.ModelInterface._handleGenericExceptions(Unknown Source)
         at oracle.disco.model.corbaserver.ModelInterface.getBinaryData(Unknown Source)
         at oracle.disco.model.corbaserver.ModelInterface.GetBinaryData(Unknown Source)
         at oracle.disco.model.corbaserver.serverrequest.DsrBinaryExport.xmlUpdateServer(Unknown Source)
         at oracle.disco.model.corbaserver.serverrequest.DsrCorbaXML.corbaUpdateServer(Unknown Source)
         at oracle.disco.model.corbaserver.serverrequest.DsrGeneralCorbaXML.updateServer(Unknown Source)
         at oracle.disco.model.corbaserver.execengine.ExecuteEngineImpl._nonReentrantExecute(Unknown Source)
         at oracle.disco.model.corbaserver.execengine.ExecuteEngineImpl.execute(Unknown Source)
         at oracle.disco.model.corbaserver.execengine.SessionControllerImpl.execute(Unknown Source)
    at oracle.disco.model.corbaserver.execengine.SessionControllerImpl.execute(Unknown Source)
         at oracle.disco.model.corbaserver.export.ExportInputStream._readBuffer(Unknown Source)
         at oracle.disco.model.corbaserver.export.ExportInputStream.read(Unknown Source)
         at java.io.InputStream.read(Unknown Source)
         at java.io.BufferedInputStream.fill(Unknown Source)
         at java.io.BufferedInputStream.read(Unknown Source)
         at oracle.disco.publish.PublishData._writeBinaryData(Unknown Source)
         at oracle.disco.publish.PublishData._exportSheets(Unknown Source)
         at oracle.disco.publish.PublishData.runDiscoWorker(Unknown Source)
         at oracle.disco.worker.DiscoWorker.runWorker(Unknown Source)
         at oracle.bali.ewt.worker.AbstractWorker.run(Unknown Source)
         at oracle.bali.ewt.worker.AbstractWorkerQueue._runWorker(Unknown Source)
         at oracle.bali.ewt.worker.AbstractWorkerQueue.access$100(Unknown Source)
         at oracle.bali.ewt.worker.AbstractWorkerQueue$WorkerContext._run(Unknown Source)
         at oracle.bali.ewt.worker.AbstractWorkerQueue$WorkerContext._runMaybeBlocked(Unknown Source)
         at oracle.bali.ewt.worker.AbstractWorkerQueue$WorkerContext.run(Unknown Source)
         at oracle.bali.ewt.worker.ThreadWorkerQueue$TaskAdapter.runTask(Unknown Source)
         at oracle.bali.share.thread.TaskScheduler.runTask(Unknown Source)
    at oracle.bali.share.thread.TaskScheduler.processTask(Unknown Source)
         at oracle.bali.share.thread.TaskScheduler$TaskQueue.run(Unknown Source)
         at oracle.bali.share.thread.Timer.doRun(Unknown Source)
         at oracle.bali.share.thread.Timer.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)

    Hi
    The last I heard is that 10.1.2.2 is not yet certified for use against E-Business Suite unless your operating system is Linux. Please take a look at this posting on Steven Chan's blog: http://blogs.oracle.com/schan/2007/04/23
    The issues you are encountering, particularly the one with the toolbars disappearing, were fixed in patch 5345528 as described on my blog here: http://learndiscoverer.blogspot.com/2006/08/more-to-toolbar-icons-graying-out.html
    I would advise you to go for this patch first until Oracle certify 10.1.2.2. for Sun.
    Best wishes
    Michael

  • Upgrade JDK and WebStart - big problems

    I have been developing (compiling and running) a J2EE application using JDK 1.3.1_02. Now I am trying to upgrade it to Java 1.4.2_03. This process has been very frustrating and left me with a bunch of questions.
    The application uses several external JAR libraries (JavaDatePicker, rpValidation) and some J2EE libraries (ejb.jar, jta.jar, oc4jclient.jar, etc...). For the most part, when I examine the manifest of these jars, they say that they were created by java 1.3.
         eg: jta.jar
              "Manifest-Version: 1.0
              Created-By: 1.3.1_02 (Sun Microsystems Inc.)"
    QUESTION #1) Do these jar files need to be upgraded to a v1.4? In other words, can I run an application using Java 1.4 if it references a library that was created with Java v1.3?
    POTENTIAL ANSWER) I don't think that they need to be upgraded b/c if so then the newer JDev (which ships with jdk 1.4) would contain newer versions.
    The application works when I run it from my development environment (JDeveloper 9.0.3.3 with a newly installed JDK 1.4.2_03). However, it does not work when I run it from Java Web Start. The problem comes when it's time to do an RMI lookup on an EJB. At that point the program throws the following exception:
         javax.naming.NamingException: Lookup error: java.lang.NoClassDefFoundError: javax/servlet/http/HttpSessionContext; nested exception is:
              java.lang.NoClassDefFoundError: javax/servlet/http/HttpSessionContext
    This error has never happened before. It only occurs when I changed the descriptor in the jnlp file from <j2se version="1.3"/> to <j2se version="1.4"/>. I know that the class is deployed because I include the jar in the jnlp file.
    local.jnlp:
         <resources>
         <j2se version="1.4"/>
         <jar href="client.jar" />
         <jar href="mymt.zip" />
         <!-- Javadatepicker libraries -->
         <jar href="javadatepicker.jar" />
         <jar href="metouia.jar" />
         <jar href="kunststoff.jar" />
         <!-- RM lookup library -->
         <jar href="RMInterfaces.jar" />
         <!-- J2EE libraries -->
         <jar href="ejb.jar" />
         <jar href="oc4jclient.jar" />
         <jar href="jta.jar" />
         <jar href="jaas.jar" />
         <jar href="jms.jar" />
              <jar href="jmxgrinder.jar" />
              <jar href="jmxri.jar" />
              <jar href="jmxtools.jar" />
         <!-- Field Validation Library -->
         <jar href="rpValidation.jar" />
         <extension name="common" href= "localmt.jnlp" />
         </resources>
    To further complicate things, I did a search and found that HttpSessionContext is: "Deprecated. As of Java(tm) Servlet API 2.1 for security reasons, with no replacement. This interface will be removed in a future version of this API."
    But my code never even calls this class. So I'm guessing that something in one of the libraries calls it. And these libraries must be from the old JDev and thus call old classes. So I upgraded all the j2ee libraries that I bundle in the deployed application with the ones that ship with JDev 9044. However, I still get the same error.
    What I don't understand is why it runs in JDev but not after being deployed with JWS ?! What's wrong with my RMI lookup?

    After upgrade, previous admin account will not work. You will need to add GUI admin account through the console access. So before starting with upgrade process please make sure you have console access available for the appliance. Command would be :
    add-guiadmin [admin] [password]
    Syntax Description
    admin User name for the GUI account.
    password Password for the GUI account.
    Usage Guidelines
    If you do not set up a GUI account using the add-guiadmin command, then there is no way to access the ACS SE other than through the CLI administrator account and a serial connection. After initial installation of the ACS SE, add a web GUI account using this command.

  • Possibility for a workaround for binding a service in a remote registry

    Hi,
    I know that I�m not allowed to bind a local service in a remote registry because of security matters(everybody could unbind any service he wants).
    But is there a way to make this thing possible with a workaround?
    The problem is I have a main component(my Client) and one can add new components to that component. This adding should happen with RMI. But how can I let my client dynamically know where to look for the new services(components), that means at what IP ?
    I know that there is something like a Jini-like discovery for RMI:
    http://www.javaworld.com/javaworld/jw-11-2001/jw-1121-jinirmi.html
    but I�m afraid if I do it this way, I cannot use my codebase setting like I do now.
    Anybody good ideas for a problem like that?
    THX

    Hi,
    The tutorial I mentioned in the thread above works great!
    So if anybody wants a location neutral RMI-lookup, please use this tutorial!
    Even the codebase settings work with that tutorial!

  • Instantiating Interface

    Hello,
    I have a piece of code like this:
    ChatInterface chi;
        public void init()
                     chi = (ChatInterface)Naming.rmi.lookup("localhost:1099/RmiService");
        }When I am trying to compile, I get an error:
    javac -classpath "./servlet.jar" ChatServlet.java
    ChatServlet.java:18: cannot find symbol
    symbol : class ChatInterface
    location: class ChatServlet
    ChatInterface chi;
    ^
    ChatServlet.java:19: cannot find symbol
    symbol : class ChatInterface
    location: class ChatServlet
    chi = (ChatInterface)Naming.lookup("rmi://127.0.0.1:1099/ChatService");
    I will very much appreciate if somebody would tell me how to fix this problem. I am already using -classpath for servlet.jar so not sure how to add another classpath, or some other way to fix it.
    Thank you,
    Victor.

    Hi,
    I tried this command:
    javac -classpath "./servlet.jar;./ChatInterface.class" ChatServlet.java
    But now I have more compilation errors:
    javac -classpath "./servlet.jar;./ChatInterface.class" ChatServlet.java
    ChatServlet.java:5: package javax.servlet does not exist
    import javax.servlet.*;
    ^
    ChatServlet.java:6: package javax.servlet.http does not exist
    import javax.servlet.http.*;
    ^
    ChatServlet.java:10: cannot find symbol
    symbol: class HttpServlet
    class ChatServlet extends HttpServlet
    ^
    ChatServlet.java:18: cannot find symbol
    symbol : class ChatInterface
    location: class ChatServlet
    ChatInterface chi;
    ^
    ChatServlet.java:19: cannot find symbol
    symbol : class ChatInterface
    location: class ChatServlet
    chi = (ChatInterface)Naming.lookup("rmi://127.0.0.1:1099/ChatService");
    ^
    5 errors
    Not sure how to fix that :-(
    Victor.

  • Candidates for use of Singleton Pattern

    Hi
    Can any guide me , where to use Single Design pattern in Java Based Applications
    Should i use Singleton Pattern in the following situations
    1)RMI Server
    2)Controller Classes ( MVC) invoked by Servlet
    3)Database cashing /handling classes
    Please suggest other suitable places also
    Thanks in Advance

    Hii
    Typical uses of a singleton pattern are in those cases where you have to have a single instance of a class.For example if u have an RMI based application and the client needs to perform a RMI lookup(for the URL etc)in that case for a particular user you wud like to have just a single instance for the lookup.
    In case of controller classes invoked by the servlet you would typically not want a Singleton as multiple instances of the servlet might require to use a controller object.As the request parameters would be different for each servlet instance,you would need a controller object for each of them.

Maybe you are looking for

  • OIM 9.1.0.1 Installation stuck at "Finalizing virtual Product Data Registry

    Oracle Database is installed on server and I will be connecting to that one while installing OIM I installed WebLogic Server 10.3.3 on my machine,started Admin Server Then I tried to install OIM 9.1.0.1. But Installation is not getting complete. Its

  • SD-FI Exclude Credit Limit Check in case of Future Posting

    Dear SDN Members, The scenario is like this in FD32 the receivables value is getting reduced immediately after I post an incoming payment for a Customer Invoice in a future date. For Ex: Say receivables in FD32 before posting Incoming Payment is Rs.1

  • Adding jumbo frame support into an existing Ethernet network

    I have a remote site with 40 users that connect back to our main site via two point to point T-1’s. These users connect to an Exchange server (DMZ), Sybase databases on Sun servers (Internal network), and access the Internet via the main site. I have

  • RFC For  MBOM

    hi frends i need rfc or function module for displaying MBOM details.should have following fields as output MATNR,ojtxp,stlst,revlvdatuv,datub,beskz,idnrk,meins,menge,stufe,dumps...kindly help me in this issue... Regards, Dinesh

  • BAPI IN ABAP

    Hi experts,    I have no idea about BAPI . Can anyone give me details about BAPI with one ex?