My apologies for not seeing that you are trying to name your ejb the same as the spec required MEJB. I recommend you remove the jndi-name tag from your openejb-jar.xml plan and use the default binding location that you can see by looking at the log of deployment of your app.

In the future please examine the environment for signs of errors and report them all. In this case the deployment error occurred well before you tried to access the ejb and knowing about it would have helped give better advice sooner. BTW my previous comment that you are actually looking up the spec-required MEJB home rather than your ejb is borne out by the deployment error.

thanks
david jencks



On Apr 7, 2008, at 11:22 PM, atul12345 wrote:


Dear Sir,

Thanks for help but this is not my solution. Anyway sir i have
already provided all code that i am using for simple stateless session
bean.I am using two interface one is remote interface with one method that is add and second is home interface and one bean class which implements the
sessionBean interface.and two xml which are ejb-jar.xml and other is
openejb.xml.after i created one jar file that include the two interface,one bean class and two xml which are exist in meta-inf.when i deployed this jar
file into the server that show successfully deployed.bt when i checked
server log file it show Jndi(name=ejb/mgmt/MEJBRemoteHome) cannot be bound to Ejb(deployment-id=ejbsample1.jar/ejb/mgmt/MEJB). Name already taken by
Ejb(deployment-id=mejb/ejb/mgmt/MEJB).
and when i run my client program get this kind of na error ...........
java.lang.ClassCastException      at
com.sun.corba.se.impl.javax.rmi.PortableRemoteObject.narrow (PortableR at
  javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:137)
   at HelloWorld.main(HelloWorld.java:31)
  Caused by: java.lang.ClassCastException: $Proxy0 cannot be cast to
org.omg.CORBA at
com.sun.corba.se.impl.javax.rmi.PortableRemoteObject.narrow (PortableR
     ... 2 more
And my client code is

import java.util.*;
import javax.rmi.PortableRemoteObject;
import javax.naming.*;
import javax.rmi.*;
import javax.ejb.*;
import java.rmi.RemoteException;
//import com.prokriti.server.*;


public class Client {

        /**
         * @param args
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                try {
                        Properties properties=new Properties();
                        properties.setProperty(Context.INITIAL_CONTEXT_FACTORY,
"org.apache.openejb.client.RemoteInitialContextFactory");
properties.put("java.naming.provider.url","ejbd://localhost: 4201");
                       //
Context context = new InitialContext (properties);
                       Object homeObject =
context.lookup("mgmt/MEJBRemoteHome");
                        System.out.println("ic = "+homeObject);
//Object abc=PortableRemoteObject.narrow (homeObject,
DemoHome.class);
                       DemoHome home =
(DemoHome)PortableRemoteObject.narrow(homeObject, DemoHome.class);
                      DemoInter remote =home.create();
                      //remote.display();





                                                                                
        
                } catch(Exception e) {
      System.err.println("NamingException: " + e.getMessage());
    }
//              catch(RemoteException e) {
//      System.err.println("RemoteException: " + e.getMessage());
//    } catch(CreateException e) {
//      System.err.println("FinderException: " + e.getMessage());
//    }
                        
                

        }

}

Problem is i think could not get the correct jndi name. so where to find
correct jndi name and what m i doing wrong.please
help me ....becoz i have already spent lot of time to resolve that problem but could not get any suitable response to resolve this problem.so i hope to
Anyone that can help me to resolve this problem..............





Kevan Miller wrote:

On Mon, Apr 7, 2008 at 3:51 AM, atul12345 <[EMAIL PROTECTED]> wrote:


Dear Sir,

Thanks for help but this is not my solution. Anyway according to u i am showing the ENTIRE stack trace for this exception and include
the
exact  source code........


This is my Exception which is generated during the client program
execute.......
java.lang.ClassCastException
        at
com.sun.corba.se.impl.javax.rmi.PortableRemoteObject.narrow (PortableR
        at
javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java: 137)
        at HelloWorld.main(HelloWorld.java:31)
 Caused by: java.lang.ClassCastException: $Proxy0 cannot be cast to
 org.omg.CORBA
        at
com.sun.corba.se.impl.javax.rmi.PortableRemoteObject.narrow (PortableR
        ... 2 more

Could anyone tell me what I'm doing wrong? Thanks a lot. Looking forward
to
hearing from you.


Hi,
I sent an earlier response, but it seems to have bounced. Trying again.
Apologies, if this is redundant.

The above stacktrace indicates a "HelloWorld" class. Yet, the code you supply below is a "Client" class and the line numbers don't match. Thus, we're not sure what you are actually running with... Please make sure you are running the code you think you are. Then, if you still have a problem,
give us the code which matches your symptoms.

--kevan





These are my code..........

********remote interface*******
package My;

import java.rmi.*;

import javax.ejb.*;

public interface DemoInter extends EJBObject
{
           public int add(int a,int b) throws RemoteException;
}

************home interface***********
package My;

import javax.ejb.*;
import java.rmi.*;



public interface DemoHome extends EJBHome
{
public DemoInter create() throws
CreateException,RemoteException;
}
*************bean class*************

package My;

import javax.ejb.*;
import java.rmi.*;

public class DemoBean implements SessionBean
{
 int a,b;
private SessionContext context;
public void setSessionContext(SessionContext ctx) {this.context=ctx}

  public void ejbCreate( )
  {

         System.out.println("ejb Created");
  }

    public void ejbActivate(){System.out.println("ejbActivate()");}
   public void ejbPassivate(){System.out.println("ejbPassivate()");}
    public void ejbRemove(){System.out.println("distroyed");}
    public int add(int a,int b) throws RemoteException
   {
          return(a+b);
   }
}

**********ejb-jar.xml****************


<ejb-jar id="ejb-jar_1" xmlns="http://java.sun.com/xml/ns/j2ee";
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"; version="2.1">
       <description>Example of a session bean</description>
       <display-name>MyTimeBeanEJBName</display-name>
       <enterprise-beans>
               <session id="Session_MyTime">

                       <ejb-name>My.DemoEJB</ejb-name>
                       <home>My.DemoHome</home>
                       <remote>My.DemoInter</remote>
                       <ejb-class>My.DemoBean</ejb-class>

                       <session-type>Stateful</session-type>
<transaction-type>Container</transaction- type>
               </session>
       </enterprise-beans>
</ejb-jar>

*************openejb.xml***********


<openejb-jar xmlns="http://www.openejb.org/xml/ns/openejb-jar-2.1";
xmlns:nam="http://geronimo.apache.org/xml/ns/ naming-1.1"
            xmlns:pkgen="http://www.openejb.org/xml/ns/pkgen-2.0";
             xmlns:security="
http://geronimo.apache.org/xml/ns/security-1.1";
 xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.1";>


 <enterprise-beans>
   <session>
            <ejb-name>My.DemoEJB</ejb-name>
            <jndi-name>ejb/mgmt/MEJBRemoteHome</jndi-name>
    </session>
 </enterprise-beans>
</openejb-jar>


***********my client**************




import java.util.*;
import javax.rmi.PortableRemoteObject;
import javax.naming.*;
import javax.rmi.*;
import My.*;


public class Client {

       /**
        * @param args
        */
       public static void main(String[] args) {
               // TODO Auto-generated method stub
               try {

                       Properties properties=new Properties();
           properties.setProperty(Context.INITIAL_CONTEXT_FACTORY,
"org.apache.openejb.client.RemoteInitialContextFactory");

properties.put("java.naming.provider.url","ejbd://localhost:4201");

           Context ctx=new InitialContext(properties);
                        System.out.println("ic = " + ctx);

                       //MyTimeLocal myTimeLocal =
(MyTimeLocal)context.lookup("java:comp/env/ejb/MyTimeBean");
                      // My.DemoInter remoteObj
=(My.DemoInter)ctx.lookup("ejb/mgmt/MEJBRemoteHome");
                      Object
object=ctx.lookup("ejb/mgmt/MEJBRemoteHome");
                      // System.out.println("hello" +object);
                       My.DemoHome ejbHome
=(My.DemoHome)PortableRemoteObject.narrow(object,My.DemoHome.class);
         System.out.println("hello" +ejbHome);
 My.DemoInter obj1=ejbHome.create();
 System.out.println(obj1.add(4,5));





               } catch (Exception e) {
                       System.out.println(e);
                       // TODO: handle exception
               }



       }

}


this is log file..........

13:02:24,839 INFO [SupportedModesServiceImpl] Portlet mode 'edit' not
found
for portletId: '/plugin.Deployment!227983155|0'
13:02:30,987 INFO [SupportedModesServiceImpl] Portlet mode 'edit' not
found
for portletId: '/plugin.Deployment!227983155|0'
13:02:34,611 INFO [SupportedModesServiceImpl] Portlet mode 'edit' not
found
for portletId: '/plugin.Deployment!227983155|0'
13:02:35,732 INFO [SupportedModesServiceImpl] Portlet mode 'edit' not
found
for portletId: '/plugin.Deployment!227983155|0'
13:02:40,045 INFO  [config] Configuring Service(id=Default Stateless
Container, type=Container, provider-id=Default Stateless Container)
13:02:40,045 INFO  [config] Configuring Service(id=Default Stateful
Container, type=Container, provider-id=Default Stateful Container)
13:02:40,045 INFO [config] Configuring Service(id=Default BMP Container,
type=Container, provider-id=Default BMP Container)
13:02:40,046 INFO [config] Configuring Service(id=Default CMP Container,
type=Container, provider-id=Default CMP Container)
13:02:40,046 INFO  [config] Configuring app:
default/ejbsample1.jar/1207553559310/jar
13:02:40,078 INFO  [OpenEJB] Auto-deploying ejb DemoEJB:
EjbDeployment(deployment-id=ejbsample1.jar/DemoEJB)
13:02:40,079 INFO  [config] Loaded Module:
default/ejbsample1.jar/1207553559310/jar
13:02:40,976 INFO  [startup] Assembling app:

/home/atul/santemp/geronimo-tomcat6-javaee5-2.1/var/temp/geronimo- deployer17419.tmpdir/ejbsample1.jar
13:02:40,985 INFO  [startup] Jndi(name=DemoEJBRemoteHome) -->
Ejb(deployment-id=ejbsample1.jar/DemoEJB)
13:02:40,985 INFO  [startup] Created
Ejb(deployment-id=ejbsample1.jar/DemoEJB, ejb-name=DemoEJB,
container=Default Stateless Container)
13:02:40,985 INFO  [startup] Deployed

Application(path=/home/atul/santemp/geronimo-tomcat6-javaee5-2.1/ var/temp/geronimo-deployer17419.tmpdir/ejbsample1.jar) 13:02:41,083 INFO [SupportedModesServiceImpl] Portlet mode 'edit' not
found
for portletId: '/plugin.Deployment!227983155|0'




djencks wrote:

We seem to be going around in circles. I don't believe the exception
you show is consistent with the client code you show.  Please show
the ENTIRE stack trace for this exception and include the exact
source code as a file so I can see the line numbers from the client
code matching up with the stack trace. I cannot investigate further
without some definite correspondence that I can see clearly between
the pieces of information you supply.

thanks
david jencks

On Apr 3, 2008, at 9:51 PM, atul12345 wrote:




Dear sir,

               I am sure, when i running the client code, got that
Exception. I have already mentioned all exception which throw
during the
execution of client program.
       if u want again so that is....
please sir provide me write solution to resolve this problem becoz
i have
already spent two to three days resolve it problem.

java.lang.ClassCastException
        at
com.sun.corba.se.impl.javax.rmi.PortableRemoteObject.narrow (PortableR
        at
javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java: 137)
        at HelloWorld.main(HelloWorld.java:31)
Caused by: java.lang.ClassCastException: $Proxy0 cannot be cast to
org.omg.CORBA
        at
com.sun.corba.se.impl.javax.rmi.PortableRemoteObject.narrow (PortableR
        ... 2 more

Could anyone tell me what I'm doing wrong? Thanks a lot. Looking
forward to
hearing from you.


djencks wrote:

Are you sure you are running the client code you show?  The error
indicates you are using PortableRemoteObject.narrow() rather than the
simple cast in the client code you showed earlier.

Is the CCE happening on the client?

I'm unable to see how the exception you show can be coming from the code you show. More of the exception stack trace might possibly be
helpful.

david jencks


On Apr 2, 2008, at 10:05 PM, atul12345 wrote:



   Thanks for help but this is not problem that is when i run my
client
program that time i get error.......
java.lang.ClassCastException: $Proxy0 cannot be cast to
My.DemoInter

Actually sir i have already mentioned interfaces,bean class and my
client
and xml. so please check that code and tell me what i am doing
wrong.
Actually sir i had spent already three days to run one simple ejb
program i
think geronimo server is not good for ejb.


please help me  to give suitable response..........


vhnguy2 wrote:

Hi Atul,

It looks like you're doing a remote lookup. I think your client
code
should look something similar to

My.DemoInter remoteObj =(My.DemoInter)ctx.lookup(<jndi for remote
interface>);

Let me know if this works.

Thanks,
Viet


On Wed, Apr 2, 2008 at 4:12 AM, atul12345 <[EMAIL PROTECTED]>
wrote:



 atul12345 wrote:



Hi Sir,
Thanks for help. I appreciate your attention. See ya! This is my ejb-jar.xml file here i do have all the classes
means
interface name.

<ejb-jar id="ejb-jar_1" xmlns="http://java.sun.com/xml/ns/ j2ee"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
       xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
       http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd";
version="2.1">
      <description>Example of a session bean</description>
      <display-name>MyTimeBeanEJBName</display-name>
      <enterprise-beans>
              <session id="Session_MyTime">

                      <ejb-name>My.DemoEJB</ejb-name>
                      <home>My.DemoHome</home>
                      <remote>My.DemoInter</remote>
                      <ejb-class>My.DemoBean</ejb-class>

                      <session-type>Stateful</session-type>
<transaction-type>Container</ transaction-
type>
              </session>
      </enterprise-beans>
</ejb-jar>

When I try to execute my client , I receive this error message:
java.lang.ClassCastException.

java.lang.ClassCastException
        at
com.sun.corba.se.impl.javax.rmi.PortableRemoteObject.narrow
(PortableR
        at
javax.rmi.PortableRemoteObject.narrow (PortableRemoteObject.java:
137)
        at HelloWorld.main(HelloWorld.java:31)
Caused by: java.lang.ClassCastException: $Proxy0 cannot be
cast to
org.omg.CORBA
        at
com.sun.corba.se.impl.javax.rmi.PortableRemoteObject.narrow
(PortableR
        ... 2 more



Could anyone tell me what I'm doing wrong? Thanks a lot. Looking
forward
to hearing from you.




manucet wrote:

Hi Atul,
            I am not sure but did you specify the home and
remote
interfaces in the ejb-jar.xml file? If yes it will be helpful
if you
can provide a test case.

Regards
Manu

On Tue, Apr 1, 2008 at 4:33 PM, atul12345 <[EMAIL PROTECTED]>
wrote:

Actually after resolved jndi name problem i get one new error
that
is

 java.lang.ClassCastException: $Proxy0 cannot be cast to
My.DemoHome
  if anyone have any idea what is this so please give  me
suitable
soluation
 to resolve that problem.........





 atul12345 wrote:

 Dear Sir,

I am new programmer to Geronimo and EJB which
are
running on
gentoo. i am createing stateful session bean like that........
This is remote Interface..........
package My;

import java.rmi.*;

import javax.ejb.*;

public interface DemoInter extends EJBObject
{
public int add(int a,int b) throws RemoteException;
}


This is Home Interface..........
package My;

import javax.ejb.*;
import java.rmi.*;



public interface DemoHome extends EJBHome
{
public DemoInter create() throws
CreateException,RemoteException;
}

This is Bean class............

package My;

import java.rmi.*;

import javax.ejb.*;

public class DemoBean implements SessionBean
{
         public DemoBean() {
                // TODO Auto-generated constructor stub
                           }
        public void ejbCreate()
        {
           System.out.println("ejbCreate()");
        }

        public void ejbRemove()
        {
           System.out.println("ejbRemove()");
        }


public void ejbActivate()
{
   System.out.println("ejbActivate()");
}

public void ejbPassivate()
{
   System.out.println("ejbPassivate()");
}


public void setSessionContext(SessionContext ctx){}


public int add(int a,int b) throws RemoteException
{
return (a+b);
}

}


open-ejb.xml is where i specified the jndi name

<openejb-jar
xmlns="http://www.openejb.org/xml/ns/openejb-jar-2.1";

xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.1";

xmlns:security="http://geronimo.apache.org/xml/ns/
security-1.1"
  xmlns:sys="http://geronimo.apache.org/xml/ns/
deployment-1.1">

  <enterprise-beans>
    <session>
            <ejb-name>Demo</ejb-name>

<jndi-name>org.geronimo.ejbsample.HomeBean</jndi-name>
    </session>
  </enterprise-beans>
</openejb-jar>








 and this is my client code...........

import java.util.*;
import javax.naming.*;
import javax.rmi.*;
import My.*;


public class Client {

        /**
         * @param args
         */
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                try {

Properties properties=new Properties
();

properties.setProperty(Context.INITIAL_CONTEXT_FACTORY,
"org.apache.openejb.client.RemoteInitialContextFactory");


properties.setProperty(Context.PROVIDER_URL,
"ejbd://localhost:4201" );

            Context ctx=new InitialContext(properties);

                 My.DemoHome

home=(My.DemoHome)ctx.lookup
("java:org.geronimo.ejbsample.HomeBean");

  My.DemoInter object =home.create();
  System.out.println(object.add(12,22));

that is my code, everything is ok means deploy successfully
but
problem is
when i execute client program, that time i get error that is

javax.naming.NameNotFoundException:
org.geronimo.ejbsample.HomeBean
does
not exist in the system. Check that the app was successfully
deployed.
So if anybody know how to resolve this problem then please
give
me
suitable suggestion to resolve this problem..



 --
 View this message in context:

http://www.nabble.com/how-to-run--Ejb-program-on-geronimo-
tp16392851s134p16417878.html


Sent from the Apache Geronimo - Users mailing list archive at
Nabble.com.







 --
 View this message in context:
http://www.nabble.com/how-to-run--Ejb-program-on-geronimo-
tp16392851s134p16444488.html


Sent from the Apache Geronimo - Users mailing list archive at
Nabble.com.





--
View this message in context: http://www.nabble.com/how-to- run--Ejb-
program-on-geronimo-tp16392851s134p16465788.html
Sent from the Apache Geronimo - Users mailing list archive at
Nabble.com.





--
View this message in context: http://www.nabble.com/how-to-run-- Ejb-
program-on-geronimo-tp16392851s134p16482909.html
Sent from the Apache Geronimo - Users mailing list archive at
Nabble.com.





--
View this message in context:
http://www.nabble.com/how-to-run--Ejb-program-on-geronimo- tp16392851s134p16535345.html Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.





--
View this message in context: http://www.nabble.com/how-to-run--Ejb- program-on-geronimo-tp16392851s134p16547953.html Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Reply via email to