On Apr 9, 2008, at 7:21 AM, atul12345 wrote:


Thanx for response but sir according to you that link u have provided, when i specified jndi name in openejb.xml and that jndi name call from the client
program, get this exception...........
NamingException:
javax.naming.NameNotFoundException: /foo does not exist in the system.
Check that the app was successfully deployed.
       at
org.apache.openejb.client.JNDIContext.lookup(JNDIContext.java:251)
       at javax.naming.InitialContext.lookup(InitialContext.java:392)
       at Client.main(Client.java:26)

This is my openejb.xml file.........
<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:dep="http://geronimo.apache.org/xml/ns/deployment-1.1";>
        
        <enterprise-beans>
                <session>
                        <ejb-name>DemoBean</ejb-name>
                        <jndi name="foo" interface="My.DemoInter"/>   
                        <!--<ejb-ref>
                                <ref-name>ejb/CustomerEntityBean</ref-name>
                                <ejb-link>Entity</ejb-link>
                        </ejb-ref>-->
                </session>
        </enterprise-beans>
</openejb-jar>

but when i specified system generated jndi name in client program that run
without any exception.
please anyone know about this problem what i m doing wrong and what step i
have to follow to creating own jndi name..

Definitely, make sure your file is called openejb-jar.xml rather than openejb.xml

-David


David Blevins wrote:


On Apr 9, 2008, at 2:00 AM, atul12345 wrote:


Dear sir,

Now my problem is i not want to use system's specified jndi
name, now i want to use any client give any own jndi name and server
without
any [roblem lookup that name.so please anyone tell me what step i
have to
follow to create own jndi name.
              Thanks a lot. Looking forward to hearing from you.

I updated this doc for you.


http://cwiki.apache.org/GMOxDOC21/client-jndi-names.html#ClientJNDINames-SettingtheJNDIname

-David




atul12345 wrote:

Dear sir,

          Thanx a lot...................to give the suitable
response.

djencks wrote:

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.







--
View this message in context:
http://www.nabble.com/how-to-run--Ejb-program-on-geronimo-tp16392851s134p16582577.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-tp16392851s134p16586188.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.



Reply via email to