Я создал объект EJB и столкнулся с этой ошибкой во время выполнения,
java.lang.ClassCastException at
com.sun.corba.se.impl.javax.rmi.PortableRemoteObject.narrow(Unknown Source) at
javax.rmi.PortableRemoteObject.narrow(Unknown Source) at Client_TestPortal.main Client_TestPortal.java:71) Caused by:
java.lang.ClassCastException: javax.naming.Reference ... 3 more
Как создать объект EJB в моем клиенте?У меня есть интерфейс бина TestPortal
и класс бина TestPortalBean
в ухе PortalEJB
.
Вот код, который я использую для создания экземпляра EJB в клиенте
String sEjbRemote = "PortalEJB/TestPortalBean/remote";
Properties pProp = new Properties();
pProp.put("java.naming.factory.initial",sInitCtxtCls);
pProp.put("java.naming.provider.url", sUrl);
javax.naming.InitialContext initialContext = new InitialContext(pProp);
Object ref = initialContext.lookup(sEjbRemote);
System.out.println("\n\n \t Source :::"+ref.toString());
test.ejb.TestPortal testportal = (test.ejb.TestPortal)PortableRemoteObject.narrow(ref,test.ejb.TestPortal.class);
Объект ref = initialContext.lookup (sEjbRemote);
Когда я печатаю объект в SOP ref.toString ();
я получил следующую информацию, но яЯ не могу создать объект для TestPortal, который находится в PoratlEJB.ear, который развернут в версии JBOSS-AS: Jboss-5.0.1.GA
Source :::Reference Class Name: Proxy for: test.ejb.TestPortal
Тип: ProxyFactoryKey Содержимое: ProxyFactory / TestPortalBean / PortalEJB/ TestPortalBean / remote Тип: имя контейнера EJB Содержимое: jboss.j2ee: ear = PortalEJB.ear, jar = PortalEJB.jar, name = TestPortalBean, serv ice = EJB3 Тип: фабрика прокси является локальным содержимым: false Тип: содержимое удаленного бизнес-интерфейса: test.ejb.TestPortal Тип: URL-адрес удаленного хоста Содержимое: socket: // s9458: 3973 /