Proxy ClassCastException after successful EJB lookup
cupdike Feb 8, 2007 7:33 PMUsing the EJB3 trailerblazer as a guide (http://trailblazer.demo.jboss.com/EJB3Trail/serviceobjects/slsb/index.html)
I've been trying to reference a SLSB via a local interface in the web tier.
The jndi environment looks like this for my APLEntityFacade EJB3 SLSB:
| +- APLEntityFacadeBean (class: org.jnp.interfaces.NamingContext) | | +- local (proxy: $Proxy1344 implements interface edu.jhuapl.ermp.service.ejb.APLEntityFacade,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBLocalObject) | | +- remote (proxy: $Proxy1343 implements interface edu.jhuapl.ermp.service.ejb.APLEntityFacade,interface org.jboss.ejb3.JBossProxy,interface javax.ejb.EJBObject)
I'm successfully doing a lookup on "ermpJpaHib/APLEntityFacadeBean/local". However, the cast below fails with the ClassCastException (exception given at end of post):
aplEntityFacade = (APLEntityFacade)facade;
APLEntityFacadeBean is defined like this:
@Stateless @Local @TransactionAttribute(TransactionAttributeType.REQUIRED) public class APLEntityFacadeBean extends GenericEJB3DAO<APLEntity, Long> implements APLEntityFacade {
Anyone have any idea what I'm doing wrong?
TIA, Clark
$Proxy1344 java.lang.ClassCastException: $Proxy1344 at edu.jhuapl.ermp.ServiceFactory.getAPLEntityFacade(ServiceFactory.java:47) at edu.jhuapl.ermp.contact.view.backing.SelectEntityView.getEntityTypes(SelectEntityView.java:15) at org.apache.jsp.contact.selectEntityType_jsp._jspService(selectEntityType_jsp.java:103) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112) at java.lang.Thread.run(Thread.java:595)