Unable to retreive RMI object bound to JNDI

Hi
I am trying to retrieve an rmi object that appears to have been sucessfully
deployed to the weblogic server. Upon startup the nt command console shows
the message below and the class name appears in the Distributed objects/rmi
area in the Weblogic console.
Invoking main-style startup Guid xxxxxx.GuidImpl
However if I try to write a test client using either one of the following
calls I get a NameNotFoundException.
I have tried both the name Guid (which is what is in the startup entry) and
the fully qualified name. They all have the same results.
Sample calls:
Naming.lookup("Guid");
or
getInitialContext();
jndiContext.lookup("Guid");
In my weblogic properties files I have the following entry:
weblogic.system.startupClass.Guid=xxx.GuidImpl
in the main of GuidImpl class I have the following entry:
Naming.bind("xxx.Guid");
any ideas as to what might be wrong?
Thanks

Hi, all:
Currently I evaluate BEA Weblogic 6.1 server. I've read the "Programming
WebLogic JNDI" section of the documentation for Weblogic server 6.1.
However, I couldn't find the answer for my question. What problem I have
now is that
(1): How I can create a object in the Java VM when the Weblogic server
startup? Note:
This class need to read a property files and
store all of properties information into its instance for the
client program to lookup it later.
(2): How can the previous created object to be bound in the Weblogic
JDNI server and the bounded
object can be shown up in the JDNI tree in the Weblogic server's
console?
(3): How do I code my servlet to lookup that object I
just created in the step1? What configuration settings need to be
done before Weblogic server is started?
Because I am stopped by this problem, if anyone can give me the example
code or some explanation of the solution ASAP,
it would be very appreciated....Thanks in advance.......
Merry Christmas
Long

Similar Messages

  • ClassCastException while looking up RMI objects bound to weblogic.JNDI under WLS 6.1

    We deploy a servlet (in a single .war archive) establishing a RMI connection to
    an external Java object bound into weblogic JNDI (WLS 6.1).
    We get a ClassCastException on invoking JNDI lookup:
    Servlet failed with Exception>
    java.lang.ClassCastException: $Proxy67
         at com.thyssenkrupp.tks.tnt.admin.rmi.ClientServlet.init(ClientServlet.java:81)
         at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:698)
         at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java:641)
         at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:586)
         at weblogic.servlet.internal.ServletStubImpl.getServlet(ServletStubImpl.java:366)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:240)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
         at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2390)
         at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:1959)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    Curiously we don't observe these problems when we include all the classes of the
    remote application in the classpath of the WebLogic Server. Actually we want to
    avoid including external classes in weblogic.classpath for (hot) deployment reasons.
    It also seems that problems don't occur when accessing the remote object from
    an independent client application.
    We expect this to be a classloader conflict within WLS 6.1
    Does anybody know a solution to our problems?
    Thanks for suggestions
    Andreas Koerner

    There was a similar bug that was supposedly fixed in WL 6.1 SP 2. I had
    filed a bug on this myself, and was given a patch for SP1, you should be
    able to ask for the patch for CR060416.
    Peter Mularien
    Deploy Solutions, Inc.
    Andreas Koerner wrote:
    >
    We deploy a servlet (in a single .war archive) establishing a RMI connection to
    an external Java object bound into weblogic JNDI (WLS 6.1).
    We get a ClassCastException on invoking JNDI lookup:
    Servlet failed with Exception>
    java.lang.ClassCastException: $Proxy67
    at com.thyssenkrupp.tks.tnt.admin.rmi.ClientServlet.init(ClientServlet.java:81)
    at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:698)
    at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java:641)
    at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:586)
    at weblogic.servlet.internal.ServletStubImpl.getServlet(ServletStubImpl.java:366)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:240)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2390)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:1959)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    Curiously we don't observe these problems when we include all the classes of the
    remote application in the classpath of the WebLogic Server. Actually we want to
    avoid including external classes in weblogic.classpath for (hot) deployment reasons.
    It also seems that problems don't occur when accessing the remote object from
    an independent client application.
    We expect this to be a classloader conflict within WLS 6.1
    Does anybody know a solution to our problems?
    Thanks for suggestions
    Andreas Koerner

  • Clustered Remote Object Bound To JNDI

    Hello,
              I'd like to know if Weblogic 5.1 (service pack 10) supports
              clusterable remote objects.
              What I am trying to do is to implement a remote object that extends
              UnicastRemoteObject interface and bind it to JNDI. When the client
              needs the services, it will lookup that object in JNDI and call its
              methods remotely.
              What happens to my test implementation is that it all works well when
              I run Weblogic locally, but if it is run on the remote server, it
              gives me the exception to the extend that the stub for my remote
              object is not found (although it is in the classpath). I understand
              that this is because I should be using weblogic.rmic instead of
              regular rmic, is that right?
              Thanks,
              Eugene Kononov.
              

    Hello,
              I'd like to know if Weblogic 5.1 (service pack 10) supports
              clusterable remote objects.
              What I am trying to do is to implement a remote object that extends
              UnicastRemoteObject interface and bind it to JNDI. When the client
              needs the services, it will lookup that object in JNDI and call its
              methods remotely.
              What happens to my test implementation is that it all works well when
              I run Weblogic locally, but if it is run on the remote server, it
              gives me the exception to the extend that the stub for my remote
              object is not found (although it is in the classpath). I understand
              that this is because I should be using weblogic.rmic instead of
              regular rmic, is that right?
              Thanks,
              Eugene Kononov.
              

  • Regular RMI server object with WebLogic JNDI

    Is that possible to register a regular RMI object with WebLogic JNDI
    tree? I was building a simple program (using javac and rmic only) based
    on the java.rmi.* (without changing the import statements to
    weblogic.rmi.*) and using the weblogic.jndi to register the server
    object. Below is some piece of code,
    Context ctx = null;
    Hashtable ht = new Hashtable();
    ht.put(Context.INITIAL_CONTEXT_FACTORY,
    "weblogic.jndi.WLInitialContextFactory");
    ht.put(Context.PROVIDER_URL, "t3://172.20.20.20:7001");
    ctx = new InitialContext(ht);
    ctx.bind("HelloServer", obj);
    The code failed for the following reason,
    javax.naming.NamingException. Root exception is
    java.rmi.MarshalException: failed to marshal public abstract void
    weblogic.jndi.internal.NamingNode.bind(java.lang.String,java.lang.Object,java.util.Hashtable)
    throws javax.naming.NamingException,java.rmi.RemoteException; nested
    exception is:
    java.rmi.server.ExportException: A description for
    examples.rmi.hello.HelloImpl was found but it could not be read due to:
    [Failed to find examples.rmi.hello.HelloImpl_WLStub or
    examples.rmi.hello.Hello_WLStub for class examples.rmi.hello.HelloImpl]
    java.rmi.StubNotFoundException: Failed to find
    examples.rmi.hello.HelloImpl_WLStub or examples.rmi.hello.Hello_WLStub
    for class examples.rmi.hello.HelloImpl
    at
    weblogic.rmi.internal.BasicDescriptor.<init>(BasicDescriptor.java:101)
    at
    weblogic.rmi.internal.BasicRuntimeDescriptor.<init>(BasicRuntimeDescriptor.java:50)
    at
    weblogic.rmi.internal.DescriptorManager.resolveClass(DescriptorManager.java:55)
    at
    weblogic.rmi.internal.DescriptorManager.getDescriptor(DescriptorManager.java:39)
    at
    weblogic.rmi.internal.DescriptorManager.getDescriptor(DescriptorManager.java:30)
    at
    weblogic.rmi.internal.OIDManager.getRequestDispatcher(OIDManager.java:281)
    at
    weblogic.rmi.internal.OIDManager.getReplacement(OIDManager.java:270)
    at
    weblogic.rmi.internal.OIDManager.replaceObject(OIDManager.java:98)
    at
    weblogic.common.internal.ChunkedObjectOutputStream.replaceObject(ChunkedObjectOutputStream.java:55)
    at
    weblogic.common.internal.ChunkedObjectOutputStream$NestedObjectOutputStream.replaceObject(ChunkedObjectOutputStream.java:239)
    Any idea?
    - SteveC

    "Pyung Yoon" <[email protected]> writes:
    MediatorInterface mediator = (MediatorInterface) java.rmi.Naming.lookup("rmi://localhost:7001/TestMediator);This implies JRMP which the server does not support. You need to use t3 or iiop.
    andy

  • I need to run multiple external programs concurrently using RMI objects.

    have a web based solutiion which uses a backend machine for some processing. I have a RMI based Java proram running on the backend machine and the web server talks with this backend machine through RMI. Now, on this backend machine, I need to call some external program using Process s = Runtime.getRuntime().exec(....). Since this is a web application, multiple clients will connect at the same time and I need to run this external program for multiple clients at the same time.
    Here is what I do. I have a separate RMI object bound to registry for each client that connects to the web server. This RMI object implements runnable interface, since I can't extend this class from Thread (it already extends from UnicastRemoteObject). So each time I call upon a method from this object, only one process gets started and other objects need to wait till this process finishes.
    I need to start multiple processes at the sametime so that other clients don't have to wait for this thread to finish.
    Please let me know if anybody has any other solution than installing an application server on this backend machine.
    Here is my code.
    public class iLinkOnlineSession extends UnicastRemoteObject implements Session, Serializable, Runnable
      public iLinkOnlineSession(String sessName, String sessId, String rootLogs, String rootWrks) throws RemoteException
        setSessionId(sessId);
        setName(sessName);
        ROOT_LOGS = rootLogs;
        ROOT_WORKSPACE = rootWrks;
        searchKeys_ = new Vector();
        searchObjects_ = new Hashtable();
        Thread s = new Thread(this);
        s.start();
      public void run()
        System.out.println("running");
      public String checkLogin(String user, String passwd)
        String msg = "";
        String cmd = "iLinkOnlineLogin";
        cmd += " param "+ user + " param " + passwd;
        System.out.println("cmd: " + cmd);
        try
          Runtime run = Runtime.getRuntime();
          Process proc = run.exec(cmd);           // Call to the external program.
          InputStream in = proc.getInputStream();
          Reader inp = new InputStreamReader(in);
          BufferedReader rd = new BufferedReader(inp);
          String line = rd.readLine();
          while(line != null)
            System.out.println(line);
            msg += line;
            line = rd.readLine();       
          int res = proc.waitFor();
        }catch(Exception e)
             e.printStackTrace();
        System.out.println("Msg: " + msg);
        return msg;
      public String searchObject(String user, String passwd, String param1, String paramVal1, String param2, String paramVal2, String param3, String paramVal3, String relLev, String mfgLoc)
        String cmd = "iLinkOnlineSearch";
        cmd += " param " + user + " param " + passwd + " param " + getSessionId() + " param " + logFile_ + " param " + param1 + " param " + paramVal1 +
              " param " + param2 + " param " + paramVal2 + " param " + param3 + " param " + paramVal3 + " param "
              + relLev + " param " + mfgLoc;
        System.out.println("cmd: " + cmd);
        try
          Runtime run = Runtime.getRuntime();
          Process proc = run.exec(cmd);                // External program.
          InputStream in = proc.getInputStream();
          Reader inp = new InputStreamReader(in);
          BufferedReader rd = new BufferedReader(inp);
          FileWriter out = new FileWriter(resultFile_);
          System.out.println("Filename: "+resultFile_);
          BufferedWriter wout = new BufferedWriter(out);
          String line = rd.readLine();
           while(line != null)
            System.out.println(line);
            wout.write(line);
            wout.newLine();
            wout.flush();
            line = rd.readLine();
          int res = proc.waitFor();
          wout.close();
          if(res == 0)
            boolean ret = createResultTable();
            if(ret == true)
              return GlobalConstants.SUCCESS_MSG;
            else
              return GlobalConstants.ERROR_MSG;
        }catch(Exception e)
                e.printStackTrace();
        System.out.println("getting results");
        return GlobalConstants.ERROR_MSG;
      }

    I guess I don't get it.
    RMI servers are inherently multi-threaded, so why are you running separate servers for every client?

  • Home Stub is bound or Home object is bound in JNDI

    Hi,
    When I lookup Home i get home stub at client side. My question is what is bound in JNDI tree Home stub or object of Home implementation class which is implemented by Server?
    thanx

    My understanding:
    It is the stub that gets bound to the JNDI. From the client side, we look up the JNDI for the home stub. The stub knows how to communicate with it's corresponding server object(Home) thru the skeleteon(I think the concept of skeleton in RMI is deprecated now..)

  • Trouble in storing and retrieving RMI object in Weblogic 7 JNDI tree.

    I have created a simple server (BankImpl), implementing a RMI interface
    called Bank. A stub class (BankImpl_Stub.class) is generated from BankImpl
    class using
    "rmic -v1.2". Then I bind an instance of the BankImpl class to the JNDI tree
    in Weblogic
    server 7 under the name of "PeopleBank".
    After the binding, I can see the stub class in the JNDI tree, but with a
    different name: BankImpl_WLStub.class). when a
    client program is trying to lookup the stub associated with "PeopleBank", it
    failed with a puzzling message:
    java.io.NotSerializableException: BankImpl_WLStub
    Why a stub of a RMI object is not serializable? Does Weblogic needs a
    different rmic to generate RMI stubs?
    Thanks,
    Lian

    I have created a simple server (BankImpl), implementing a RMI interface
    called Bank. A stub class (BankImpl_Stub.class) is generated from BankImpl
    class using
    "rmic -v1.2". Then I bind an instance of the BankImpl class to the JNDI tree
    in Weblogic
    server 7 under the name of "PeopleBank".
    After the binding, I can see the stub class in the JNDI tree, but with a
    different name: BankImpl_WLStub.class). when a
    client program is trying to lookup the stub associated with "PeopleBank", it
    failed with a puzzling message:
    java.io.NotSerializableException: BankImpl_WLStub
    Why a stub of a RMI object is not serializable? Does Weblogic needs a
    different rmic to generate RMI stubs?
    Thanks,
    Lian

  • How can we determine exactly what server an RMI object is bound to?

    We have RMI objects that bind to a server in a cluster. How can we determine for
    monitoring purposes what server a RMI object is currently bound to /executing
    on?
    We have tried the most of the Mbeans but can't find one that returns runtime info
    for startup classes or RMI objects.
    We have a new monitoring requirement we are trying to satisfy.

    try get the value of PKEY_OfflineAvailability using shell property system APIs (SHGetPropertyStoreFromParsingName or ShellFolderItem.ExtendedProperty)
    Visual C++ MVP

  • How to register RMI object with runnign Weblogic Server instance?

    I need to write some RMI objects(non EJB) and register it with the already running weblogic server so that I can access them from a RMI client.
    Can some help me with this?

    So more precisely the way I am doing it is
    I have a remote interface
    package com.myserv.rmi;
    public interface NSPQueryExecutionService extends java.rmi.Remote
    public void getQueryExecutionDelegate();
    I have the Implementation as
    package com.myserv.rmi;
    import java.util.Properties;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    public class NSPQueryExecutionServiceImpl
    implements NSPQueryExecutionService
    public static final void main (String[] arg) {
    try {
    Properties properties = null;
    properties = new Properties();
    properties.put (Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
    Context context = new InitialContext(properties);
    context.bind("QueryExecutionService", new NSPQueryExecutionServiceImpl());
    System.out.println("================================> QueryExecutionService Bound");
    } catch (Exception ex){
    ex.printStackTrace();
    System.out.println("Unable to start QueryExecutionService");
    public NSPQueryExecutionServiceImpl()
    public void getQueryExecutionDelegate()
    System.out.println("inside remote");
    I compile these classes and I do a weblogic.rmic as
    java weblogic.rmic com.myserv.rmi.NSPQueryExecutionServiceImpl
    I run the NSPQueryExecutionServiceImpl class to bind the RMIObject with the weblogic server.
    Finally when I try to access this from my client it is able to access the object but when I invoke an operation on it gives the exception that RJVM is already shutdown.
    Edited by kuldeep.sharma at 02/15/2007 9:37 AM

  • Objects returned via JNDI Lookup

    All,
    I have had this nagging question in my head about JNDI lookups for some time
    now, but haven't had the time to do the proper research. The question is
    simple.
    The setup is simple as well. Suppose that we have a typical WLS setup, with
    WLS running in a JVM on a server host somewhere, with objects bound to its
    JNDI tree (we'll leave clustering out of the picture for simplicity's sake),
    and we also have a WLS client Java application. The client connects to WLS
    and performs various JNDI lookups on the server. Some of these objects
    implement java.io.Serializable, some do not.
    The question is, if the client uses JNDI to lookup an object that exsts in a
    separate JVM, and that object does not implement Serializable, how does this
    object come to be instantiated on the client?
    This leads to a second question: What exactly is getting returned from a
    JNDI lookup? A reference to an object or a copy of it? I can see that
    lookups within a single JVM would return a reference, but the cross-JVM
    lookup is less clear to me.
    Any and all help appreciated,
    -jc

    This leads to a second question: What exactly is getting returned from a
    JNDI lookup?From how I understand it, only Serializable objects are returned such as RMI
    stubs, which serve as proxies to EJB or other RMI servers registered in JNDI.
    - Thomas
    (ex-BONY too)
    Jonathan Castellani wrote:
    All,
    I have had this nagging question in my head about JNDI lookups for some time
    now, but haven't had the time to do the proper research. The question is
    simple.
    The setup is simple as well. Suppose that we have a typical WLS setup, with
    WLS running in a JVM on a server host somewhere, with objects bound to its
    JNDI tree (we'll leave clustering out of the picture for simplicity's sake),
    and we also have a WLS client Java application. The client connects to WLS
    and performs various JNDI lookups on the server. Some of these objects
    implement java.io.Serializable, some do not.
    The question is, if the client uses JNDI to lookup an object that exsts in a
    separate JVM, and that object does not implement Serializable, how does this
    object come to be instantiated on the client?
    This leads to a second question: What exactly is getting returned from a
    JNDI lookup? A reference to an object or a copy of it? I can see that
    lookups within a single JVM would return a reference, but the cross-JVM
    lookup is less clear to me.
    Any and all help appreciated,
    -jc

  • URGENT - javax.naming.NameNotFoundException No object bound to name

    I'm working on a stateless EJB (JobDtlEJB) which calls another stateless EJB (FuncVSREJB). During runtime, the following message appear in application log:
    [20/Feb/2006:00:16:56] INFO ( 2088): CORE3282: stdout: EJBGetter:getFuncVSRHome-to lookup[java:comp/env/ejb/funcvsr]
    [20/Feb/2006:00:16:56] INFO ( 2088): CORE3282: stdout: [2006/02/21 00:16] {-VoiceSROut}
    [20/Feb/2006:00:16:56] INFO ( 2088): CORE3282: stdout: JobDtlEJB exception FuncVSR:javax.naming.NameNotFoundException: No object bound to name java:comp/env/ejb/funcvsr
    Would appreciate if anyone kind help!!!
    Below is my portion of codes in JobDtlEJB:
    import com.util.EJBGetter;
    public class JobDtlEJB implements javax.ejb.SessionBean {
    private transient javax.ejb.SessionContext m_ctx = null;
    private FuncVSRHome myfuncvsrHome;
    private FuncVSR myfuncvsrRemote;
    public void ejbCreate() throws javax.ejb.CreateException {
    System.out.println("ejbCreate() on obj " + this);
    public String getConnect(String InjobID) {
    try
    myfuncvsrHome = EJBGetter.getFuncVSRHome("java:comp/env/ejb/funcvsr");
    myfuncvsrRemote = myfuncvsrHome.create();
    } catch(Exception ee) {
    cFunction.NonIMErrLog("-VoiceSROut", "JobDtlEJB exception FuncVSR:"+ee.toString(), true);
    ee.printStackTrace();
    Coding inside EJBGetter:
    package com.util;
    import javax.rmi.PortableRemoteObject;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import com.ejb.*;
    public final class EJBGetter {
    public static FuncVSRHome getFuncVSRHome(String jndiName) throws NamingException
    InitialContext initial = new InitialContext();
    System.out.println("EJBGetter:getFuncVSRHome-to lookup["+jndiName+"]");
    Object objref = initial.lookup( jndiName );
    System.out.println("EJBGetter:getFuncVSRHome-narrow["+jndiName+"]");
    FuncVSRHome ejb2Home = ( FuncVSRHome ) PortableRemoteObject.narrow( objref, FuncVSRHome.class );
    System.out.println("EJBGetter:getFuncVSRHome-returning EJB Home for ["+jndiName+"]");
    return ejb2Home;
    } // EJBGetter
    Below is my ejb-jar.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN' 'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>
    <ejb-jar>
    <enterprise-beans>
    <session>
    <display-name>TheFuncVSR</display-name>
    <ejb-name>TheFuncVSR</ejb-name>
    <home>com.ejb.FuncVSRHome</home>
    <remote>com.ejb.FuncVSR</remote>
    <ejb-class>com.ejb.FuncVSREJB</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Bean</transaction-type>
    </session>
    <session>
    <display-name>TheJobDtl</display-name>
    <ejb-name>TheJobDtl</ejb-name>
    <home>com.ejb.JobDtlHome</home>
    <remote>com.ejb.JobDtl</remote>
    <ejb-class>com.ejb.JobDtlEJB</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Bean</transaction-type>
    </session>
    </enterprise-beans>
    </ejb-jar>
    THe following is my sun-ejb-jar.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE sun-ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Sun ONE Application Server 7.0 EJB 2.0//EN' 'http://www.sun.com/software/sunone/appserver/dtds/sun-ejb-jar_2_0-0.dtd'>
    <!-- Copyright 2002 Sun Microsystems, Inc. All rights reserved. -->
    <sun-ejb-jar>
    <enterprise-beans>
    <unique-id>1</unique-id>
    <ejb>
    <ejb-name>TheJobDtl</ejb-name>
    <jndi-name>jobdtl</jndi-name>
    </ejb>
    <ejb>
    <ejb-name>TheFuncVSR</ejb-name>
    <jndi-name>funcvsr</jndi-name>
    </ejb>
    </enterprise-beans>
    </sun-ejb-jar>
    The web.xml file content:
    <ejb-ref>
    <ejb-ref-name>ejb/jobdtl</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <home>com.ejb.JobDtlHome</home>
    <remote>com.ejb.JobDtl</remote>
    <ejb-link>TheJobDtl</ejb-link>
    </ejb-ref>
    <ejb-ref>
    <ejb-ref-name>ejb/funcvsr</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <home>com.ejb.FuncVSRHome</home>
    <remote>com.ejb.FuncVSR</remote>
    <ejb-link>TheFuncVSR</ejb-link>
    </ejb-ref>
    </web-app>

    I've solved this issue in ejb-jar.xml. This is because of <ejb-ref-name> in ejb-jar.xml is unmatched with that in web.xml
    <ejb-ref-name>ejb/funcvsr</ejb-ref-name>
    Jsut sharing to you all. :)

  • RMI object bindings bot being replicated

              I have a two node cluster setup for testing. I am creating an RMI
              object on one server and binding it into the JNDI tree. I can see the
              binding on the server where the object was bound but I never see
              anything in the JNDI tree of the other server in the cluster.
              I have tried adding WLContext.REPLICATE_BINDINGS=true to my
              InitialContext. I've also tried compiling the RMI object with
              weblogic.rmic as clusterable. Neither seems to have made any
              difference.
              Any assistance will be appreciated.
              Thanks and regards,
              Bob
              

              Thanks for the reply. Please see my responses inline:
              In article <[email protected]>, [email protected]
              says...
              > Bob,
              >
              > A couple of questions
              > 1> Whether your multicast address is working properly? Perform the
              > multicast test and verify this.
              What is the multicast test? The console cluster monitor screen shows
              both servers sending and receiving message fragments. Both servers show
              zero for Lost Multicast Messages.
              > 2> How are you deploying the RMI object (to the cluster or individual
              > servers)?
              I'm not sure what you mean by "deploying the RMI object". The RMI
              object is created by a startup class and bound to the JNDI tree on one
              server in the cluster. It appears in the tree it where it was bound but
              not the tree on the other server.
              > 3> What version of WLS and Service pack are you using?
              WLS 6.1 SP1 Load3
              > 4> Could you try our sample example in the \cluster\rmi folder?
              This exhibits the same behavior I'm seeing in my app.
              Thanks for your help.
              Regards,
              Bob
              >
              >
              > Bob Withers wrote:
              >
              > > I have a two node cluster setup for testing. I am creating an RMI
              > > object on one server and binding it into the JNDI tree. I can see the
              > > binding on the server where the object was bound but I never see
              > > anything in the JNDI tree of the other server in the cluster.
              > >
              > > I have tried adding WLContext.REPLICATE_BINDINGS=true to my
              > > InitialContext. I've also tried compiling the RMI object with
              > > weblogic.rmic as clusterable. Neither seems to have made any
              > > difference.
              > >
              > > Any assistance will be appreciated.
              > >
              > > Thanks and regards,
              > > Bob
              >
              >
              

  • RMI Objects running on single cluster memb. only avail on that

              Hi,
              My setup:
              An RMI object shall be bound to a single cluster member.
              Only one cluster member has therefore the startup entry. The
              RMI Object is thus instantiated only in this one cluster member.
              I now expected to have the weblogic.rmi.myclass JNDI entry
              replicated into all cluster member's jndi context (thus having
              a simple way for implementing a singleton? does this work??).
              All clients, which are loadbalanced to a cluster-member
              that does not the startup entry will fail to lookup the rmi object's
              entry
              with the following.
              Why is the entry not replicated into the other machines naming context?
              javax.naming.NameNotFoundException: 'mybindname'; remaining name
              'mybindname'
              at
              weblogic.rmi.extensions.BasicRequest.sendReceive(BasicRequest.java:44)
              at
              weblogic.jndi.WLContext_WLStub.lookup(WLContext_WLStub.java:192)
              at
              weblogic.jndi.toolkit.WLContextStub.lookup(WLContextStub.java:545)
              at mypackage.MyClass.lookup(...);
              Thank you for any help on this & happy new year
              Toby
              

    We too are looking to achieve the same thing. Anyone know the answer to
              Tobias's question?
              david
              Tobias Christen wrote:
              > Hi,
              >
              > My setup:
              > An RMI object shall be bound to a single cluster member.
              > Only one cluster member has therefore the startup entry. The
              > RMI Object is thus instantiated only in this one cluster member.
              > I now expected to have the weblogic.rmi.myclass JNDI entry
              > replicated into all cluster member's jndi context (thus having
              > a simple way for implementing a singleton? does this work??).
              >
              > All clients, which are loadbalanced to a cluster-member
              > that does not the startup entry will fail to lookup the rmi object's
              > entry
              > with the following.
              >
              > Why is the entry not replicated into the other machines naming context?
              >
              > javax.naming.NameNotFoundException: 'mybindname'; remaining name
              > 'mybindname'
              > at
              > weblogic.rmi.extensions.BasicRequest.sendReceive(BasicRequest.java:44)
              > at
              > weblogic.jndi.WLContext_WLStub.lookup(WLContext_WLStub.java:192)
              > at
              > weblogic.jndi.toolkit.WLContextStub.lookup(WLContextStub.java:545)
              > at mypackage.MyClass.lookup(...);
              >
              > Thank you for any help on this & happy new year
              > Toby
              David Michaels <[email protected]>
              Director of Technology
              ShockMarket Corporation (650) 330-4665
              [david.vcf]
              

  • Clustering rmi objects

    Hi all,
    I am looking for some information about clustering RMI objects. I have read as much
    as I can find about it, not much seems to be in the wl docs.
    I have read that if the server that bound the rmi object into jndi goes down, the
    rmi server will no longer work. When I tested this out, the server seemed to continue
    working and using the node in the cluster that was still running.
    I am wondering what the difference between declaring the RMI object to be clusterable
    and setting the WLContext.REPLICATE_BINDINGS flag to false when creating the context
    to bind the RMI objects, and binding a seperate RMI object into the tree, one for
    each node in the cluster.
    is there some docs I can read about this? Thanks for any information you can give
    me about this.
    -chris

    bwit <[email protected]> wrote:
    In article <[email protected]>, [email protected]
    says...
    Hi all,Hi Chris.
    I am looking for some information about clustering RMI objects. I haveread as much
    as I can find about it, not much seems to be in the wl docs.
    I have read that if the server that bound the rmi object into jndi goesdown, the
    rmi server will no longer work. When I tested this out, the server seemedto continue
    working and using the node in the cluster that was still running.If a server offering an RMI object via JNDI goes down the binding to
    that object is removed from JNDI in all the other servers in the
    cluster. Other replicas of that object may be available and will
    continue to be used as you discovered.
    I am wondering what the difference between declaring the RMI object tobe clusterable
    and setting the WLContext.REPLICATE_BINDINGS flag to false when creatingthe context
    to bind the RMI objects, and binding a seperate RMI object into the tree,one for
    each node in the cluster.Marking the RMI object as clusterable causes WLS to generate a replica
    aware stub for it. This stub is aware of all the replicas of the object
    within the cluster and provides load balancing and failover. When you
    bind a RMI object on multiple servers with REPLICATE_BINDINGS set to
    false you have a bunch of individual, unrelated objects. Your clients
    must contact the particular server running the objects and there will be
    no load balancing or failover, all client calls will be serviced by the
    object on the server which supplied the stub.
    is there some docs I can read about this? Thanks for any informationyou can give
    me about this.I thought the WLS RMI Programmer's Guide was pretty clear about how this
    worked.
    Well, you are right, the docs are clear on what they talk about, but as I mentioned,
    when I marked the objects with REPLICATE_BINDINGS set to false, the client still
    sent a comma delimited list of servers to create the InitialContext, and we still
    observed load balancing, and what looked like failover. This is why we were confused,
    we expected to see only one server do all the work (the first in the comma delimited
    list), and for failures when that server was brought down. I will take a look at
    our configuration and make sure we didnt make a mistake someplace in here.
    Regards,
    Bob
    -chris

  • Error. Javamail. No object bound to name... Sun Java App. Server 9.0 updt 1

    Hello,
    I get this exception: No object bound to name java:comp/env/mail/SendSession
    I am trying to build automatic mail sending in my application
    I have configured my server with the next information and this code:
    -Error, exception:
    No object bound to name java:comp/env/mail/SendSession
    -Code:
    InitialContext ic = null;
    Session session = null;
    String snName = "";
    // I HAVE TRIED WITH SEVERAL STRINGS
    snName = "java:comp/env/mail/SendSession";
    //snName = "/mail/SendSession";
    //snName = "mail/SendSession";
    //snName = "/SendSession";
    //snName = "SendSession";
    try {
    ic = new InitialContext();
    session = (Session) ic.lookup(snName);
    } catch (NamingException ex) {
    Logger.getLogger("org.xxxx").warning("Error:. " + ex.getLocalizedMessage());
    -Server:
    Sun Java System Application Server Platform Edition 9.0 update 1.
    -Configuration in Sun\AppServer\domains\domain1\config\domain.xml:
    <resources>
    <mail-resource debug="true" enabled="true" from="[email protected]" host="yahoo.es" jndi-name="mail/SendSession" object-type="user" store-protocol="imap" store-protocol-class="com.sun.mail.imap.IMAPStore" transport-protocol="smtp" transport-protocol-class="com.sun.mail.smtp.SMTPTransport" user="xxxxx">
    <description>sesion envio correo</description>
    <property name="mail.transport.protocol" value="smtp"/>
    <property name="mail.smtp.server" value="smtp.mail.yahoo.com"/>
    <property name="mail.smtp.port" value="2473"/>
    </mail-resource>
    </resources>
    <servers>
    <server config-ref="server-config" lb-weight="100" name="server">
    <resource-ref enabled="true" ref="mail/SendSession"/>
    </server>
    </servers>
    I need your help.
    Thanks in advance.
    Pedro.

    (This isn't really a JavaMail question...)
    The JNDI name you use in your application
    is a name that's local to your application.
    The JNDI name that you configure in domain.xml
    is a global JNDI name.
    The two names can be different.
    In the (e.g.) sun-web.xml file you need to
    specify the mapping from the local JNDI
    name you use in your application to the
    global JNDI name you've configured in
    the server.
    If you use dependency injection to inject
    the Session object, you can specify this
    mapping in the @Resource annotation in
    your source code.

Maybe you are looking for

  • Runtime error while creating sales order in VA01

    Dear all, In our develpment server(ecc 6.0),while creating sales order in VA01 for a sales area, when ever entering material number and quantity and press enter, it is giving error and taking to Runtime error long text showing syntax error in program

  • Adobe Flash Player 11.3.300.265

    I downloaded this new update and it didn't work at all. I again had to uninstall and reinstall Adobe 10.3. I don't want to keep going through this. How can I find out when a new update works with Firefox? Does anyone know if Firefox is working on an

  • Numprocs option  in opmn.xml is not working for me

    Hi Folks, I wat to try numprocs=2 to create 2 JVMs and try some load runs to check the performance improvements. When I went to server Config page in administration tab of EM. There I see the "number of VMs" input box is disable. So I directly went t

  • How do i change the mail preview in Lion from a vertical read to a horizontal read

    I just switched from Snow leopard to Lion and i don't like the way that Lion has the mail preview set up as a 3 column vertical format.  I thought in Snow Leopard you could change the set-up so it's either horizontal or vertical, but I can't seem to

  • Sync Zone can't connect to Gmail

    Hi, My Sync Zone can't connect to my Gmail Account. Domain name is [email protected]. All is proper set up but it fail atthe connection. Is anybody having the same issue? Does it exist any alternative to synchronize contact and calendar with my Xperi