使用说明:由于项目需要,在我的Java应用服务里需要调用远程EJB3服务的的一个接口;对方给我提供了一个调用的接口包,发布到WebLogic上后,一直报如下异常:
Java.lang.ClassCastException
at com.sun.corba.se.impl.javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:229)
at javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:137)
at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.readObject(RemoteBusinessIntfProxy.java:215)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
.........
Caused by: java.lang.ClassCastException: co.creaway.tp.service.impl.GISElectricServiceBean_f4dhri_GISElectricServiceImpl_1030_WLStub cannot be cast to org.omg.CORBA.Object
at com.sun.corba.se.impl.javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:212)
... 59 more
虽然接口提供方一直保证接口没问题,但异常却一直在;经过N多久的排查,他们终于发现EJB3.0的远程服务对象调用居然不支持java泛型,果然坑爹,最后他们修改了接口,问题得已解决。在此备份,以备不时之需。
分享到:
相关推荐
【Weblogic + EJB3.0】:这是一个关于在Weblogic服务器上使用EJB3.0版本进行开发的教程。EJB(Enterprise JavaBeans)是Java EE平台的一部分,用于构建可部署在企业级服务器上的组件化应用程序。EJB3.0引入了许多...
通过以上步骤,开发者可以在WebLogic 11g上发布和管理EJB3.0应用,同时也能轻松地从客户端项目中调用这些EJB服务。EJB3.0的简洁性和易用性使得开发人员能更专注于业务逻辑,而不是底层基础设施。
**ejb3.0简介** ...总之,EJB3.0、WebLogic和JBoss是企业级Java开发的重要组成部分。通过学习这些材料,初学者可以掌握如何在不同的应用服务器上部署和管理EJB组件,从而提升其在企业级Java开发中的技能。
在WebLogic Server 10.3这个流行的Java EE应用服务器上,我们可以方便地部署和运行EJB 3.0应用程序。 首先,我们要理解EJB 3.0中的本地接口(Local Interface)。本地接口是客户端与EJB通信的一种方式,它不涉及...
EJB组件之间或外部客户端调用EJB组件的方法机制,涉及到远程调用、本地调用等。 **2.8 如何改变SESSION BEAN的JNDI名称** 可以修改EJB组件的部署描述符(`ejb-jar.xml`)中的`jndi-name`元素来更改其JNDI名称。 *...
4. **部署与调用**:EJB 3.0的Web服务可以通过应用程序服务器(如JBoss, GlassFish, WebLogic等)进行部署,并通过标准的HTTP/HTTPS协议进行调用。 **源码与工具** 在实际开发中,了解EJB 3.0源码可以帮助理解其...
2. **应用服务器**:EJB3.0 Bean需要部署在支持EJB3.0的Java EE应用服务器上,如Glassfish、JBoss或WebLogic等。 3. **生命周期管理**:应用服务器负责Bean的创建、初始化、销毁以及事务、安全和资源管理。 **五、...
3. **无状态会话 Bean 和有状态会话 Bean**:`@Stateless`注解用于创建无状态会话Bean,这类Bean在每次调用后都会被清除状态,适合处理无状态的服务。而`@Stateful`注解则用于创建有状态会话Bean,可以保留方法间的...
在`EJB_Note`中,你可以找到关于如何创建和使用EJB3.0的示例代码,包括Bean的定义、JPA实体的配置以及如何在其他组件(如Servlet或JSF)中调用Bean方法。 通过这个EJB3.0教程,你可以深入了解EJB3.0的核心概念和...
- 部署到应用服务器(如JBoss或WebLogic)后,客户端可以通过JNDI(Java Naming and Directory Interface)查找并调用EJB。 6. **WebLogic客户端示例**: - 示例展示了如何在WebLogic上查找并使用EJB。首先,创建...
### EJB3.0核心知识点概述 #### 一、EJB3.0简介与特性 **EJB(Enterprise JavaBeans)3.0** 是Java EE平台中的一个重要组成部分,旨在为开发分布式应用程序提供一种标准化的方法。相比于之前的版本,EJB 3.0引入了...
EJB3.0通常运行在符合Java EE规范的应用服务器中,如JBoss、GlassFish或WebLogic等。开发者可以利用IDE(如Eclipse或IntelliJ IDEA)的插件来简化EJB的开发和部署。在JBoss这样的容器中,EJB3.0的Bean可以享受到自动...
9. **Web服务集成**:EJB3.0与Web服务紧密集成,可以方便地暴露EJB为Web服务,或者使用Web服务的API。 在【描述】中提到了ACCP V4.0的Web Service部分,这是与EJB3.0相辅相成的技术,主要知识点包括: 1. **Web ...
- 客户端创建一个调用EJB方法的类,通过从ServiceFactory获取的EJB接口实例来执行业务操作。 EJB 3.0 的一个重要改进在于其对ORM(Object-Relational Mapping)的支持,通过JPA简化了数据库操作。此外,通过注解...
7. 测试EJB:部署完成后,可以编写客户端代码或者使用WebLogic的JNDI查找来调用EJB。确保EJB能够正确执行预期的业务逻辑。 三、WebLogic EJB特性与优势 WebLogic Server提供了一些高级特性,如集群、负载均衡、故障...
### EJB 3.0 在 WebLogic Server 10 中的支持与扩展 #### EJB 3.0 引入的主要变化 EJB (Enterprise JavaBeans) 3.0 是 Java EE 规范的一个重大更新,它引入了许多重要的改进,极大地简化了企业级应用的开发过程。...
- EJB 3.0应用需要在支持Java EE 5或更高版本的应用服务器上运行,如JBoss, GlassFish, WebLogic等。 - 部署描述符(如`ejb-jar.xml`)通常会自动由编译器或IDE生成,简化了部署过程。 6. **学习资源与实践** - ...
- **应用服务器**:如JBoss、GlassFish、WebLogic等,这些服务器都支持EJB3.0。例如,对于JBoss,你需要下载并安装相应的版本。 - **IDE**:选择一款支持EJB3.0的集成开发环境,如NetBeans、Eclipse或IntelliJ IDEA...