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.
These are my code..........
********remote interface*******
package My;
import java.rmi.*;
import javax.ejb.*;
public interface DemoInter extends EJBObject
{
public int add() throws RemoteException;
}
************home interface***********
package My;
import javax.ejb.*;
import java.rmi.*;
public interface DemoHome extends EJBHome
{
public DemoInter create(int a, int b) 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( int a,int b)
{
this.a=a;
this.b=b;
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() 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(4,5);
System.out.println(obj1.add());
} catch (Exception e) {
System.out.println(e);
// TODO: handle exception
}
}
}
atul12345 wrote:
>
> c
>
> 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-tp16392851s134p16534573.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.