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
}
}
}
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.