`
lym6520
  • 浏览: 703989 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

spring远程调用ejb3异常

阅读更多
2010-08-25 14:51:46 46 [org.jboss.remoting.transport.socket.SocketClientInvoker]-[ERROR] - Got marshalling exception, exiting
java.lang.ClassNotFoundException: javax.ejb.NoSuchEJBException
at org.jboss.remoting.serialization.ClassLoaderUtility.loadClass(ClassLoaderUtility.java:82)
at org.jboss.remoting.loading.RemotingClassLoader.loadClass(RemotingClassLoader.java:76)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at org.jboss.remoting.loading.ObjectInputStreamWithClassLoader.resolveClass(ObjectInputStreamWithClassLoader.java:174)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObjectVersion2_2(JavaSerializationManager.java:239)
at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObject(JavaSerializationManager.java:133)
at org.jboss.remoting.marshal.serializable.SerializableUnMarshaller.read(SerializableUnMarshaller.java:120)
at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.versionedRead(MicroSocketClientInvoker.java:943)
at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:584)
at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122)
at org.jboss.remoting.Client.invoke(Client.java:1550)
at org.jboss.remoting.Client.invoke(Client.java:530)
at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:62)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:61)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:53)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:72)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
at org.jboss.ejb3.stateful.StatefulRemoteProxy.invoke(StatefulRemoteProxy.java:135)
at $Proxy11.say(Unknown Source)


这个异常是由于本地服务器的远程对象没有与远程ejb服务器的对象同步,重启下本地服务就行了。


如果把ejb部署在weblogic服务器上,那么你在远程调用的时候就很有可能出现以下异常:
java.lang.NoClassDefFoundError: weblogic/utils/NestedException
出现这个异常是因为项目中缺少了weblogic的lib,需要加入wlfullclient.jar,但是在..\wlserver_10.3\server\lib下找不到这个jar包,所以需要重新编译出jar包来,我通过ant来编译:build.xml
<?xml version="1.0"?>
<project name="JarBuilder" default="run">
<property name="bea.home" value="d:/bea"/>
<property name="wl.home" value="${bea.home}/wlserver_10.3"/>

<path id="main.class.path">
<pathelement path="${bea.home}/modules/com.bea.core.utils_1.4.0.0.jar"/>
<pathelement path="${bea.home}/modules/com.bea.core.jarbuilder_1.2.0.0.jar"/>
<pathelement path="${java.class.path}"/>
</path>

<target name="run">
<echo message="***** This ANT Script should run from inside the ${wl.home}/server/lib *****" />
<echo message="***** ********* ********* *****" />
<java classname="com.bea.jarbuilder.JarBuilder">
<classpath refid="main.class.path"/>
<jvmarg value="-d ${wl.home}/server/lib -jar wljarbuilder.jar"/>
</java>
</target>
</project>


其中bea.home和wl.home改成你对应的weblogic目录,然后把build.xml放到wl.home\server\lib下进行ant编译,编译成功,你就可以在该目录下找到wlfullclient.jar包了。
分享到:
评论

相关推荐

    ejb调用详解

    本文将深入探讨如何在WebSphere环境中远程调用EJB组件,同时介绍ejb3.0版本的一些关键特性,以及 ejb 开发实例和相关框架。 **一、EJB 3.0简介** EJB 3.0是EJB规范的一个重大改革,引入了更加轻量级和简化的设计,...

    三种方式实现java远程调用(rmi),绝对可用

    在提供的压缩包文件中,"三种方式(原始方式_spring_jndi)实现java远程调用(rmi)"包含了相关的示例代码,帮助开发者理解并实践这三种RMI实现方法。在MyEclipse或其他Java开发环境中导入这些代码,可以进行调试和...

    (sshproject)tomcat调用jboss上的ejb3.0

    4. **远程调用EJB**: - 使用JNDI查找服务来获取远程EJB的引用。在Tomcat应用中,你可以使用JNDI API来查找Jboss上的EJB,然后通过这个引用调用EJB的方法。 - 调用EJB时,注意处理可能出现的网络异常、远程方法...

    \websphere部署EJB3.docx

    创建一个或多个EJB项目,例如`EJB3`,每个EJB项目都将对应一个jar包,建议遵循命名规范,如`XXXEJBModule.jar`。同样,这些EJB项目也需要添加到`WEBEJB3`项目中。 4. **部署到WebSphere**: 使用RAD,可以直接...

    EJB3与Struts与Spring整合开发(SSE)

    EJB3、Struts和Spring是Java企业级开发中的三个重要框架,它们分别在不同的层次上解决了应用程序的设计和管理问题。EJB3是Java企业版(Java EE)的一部分,提供了面向服务的组件模型,用于构建可扩展且可靠的分布式...

    使用eclipse通过jboss开发简单的ejb应用(jboss7.x & ejb3.x)

    在本文中,我们将深入探讨如何使用Eclipse IDE与JBoss应用程序服务器(版本7.x)来开发和部署一个基于EJB 3.x的简单企业级Java应用程序。EJB(Enterprise JavaBeans)是Java平台上的核心组件,它提供了一种标准的...

    RMI远程调用DEMO....

    Java Remote Method Invocation (RMI) ...虽然现代的Java开发中,RMI可能不是首选的分布式计算技术(例如,Spring框架的远程服务支持更为流行),但对于理解分布式系统原理和Java网络编程,RMI仍然是一个重要的学习点。

    Spring轻量级与EJB重量级容器的比较

    8. **远程服务**:支持跨网络的远程调用,使得分布式应用成为可能。 9. **可接插性服务**:提供插件机制,允许用户自定义和扩展容器的功能。 二、重量级容器与轻量级容器的区分 “重量级”和“轻量级”的概念是...

    Manning - EJB 3 in Action

    通过一个简单的示例,本章引导读者逐步了解如何创建、部署并调用EJB组件。读者将学会如何利用EJB容器提供的服务来实现业务逻辑。 3. **第3章:使用会话Bean构建业务逻辑** 本章重点介绍会话Bean的概念及其在构建...

    各种EJB之间的调用示例.zip

    - **远程方法调用(Remote Method Invocation, RMI)**:客户端通过RMI调用EJB的接口,实现跨JVM的通信。适用于客户端不在同一个应用服务器上的情况。 - **本地方法调用(Local Method Invocation)**:当客户端和...

    spring,struts,Ejb 项目综合 ,sse

    此外,Spring还支持数据访问、事务管理、任务调度和远程服务调用等功能。 2. Struts框架: Struts是基于MVC设计模式的Java Web框架,由Apache软件基金会维护。它帮助开发者将业务逻辑、表示层和数据访问层分离,使...

    EJB3.0__EJB3.0

    1. **创建EJB3项目**:在IDE中新建EJB项目,并定义Bean类,使用注解`@Stateless`或`@Stateful`声明Bean类型。 2. **部署到应用服务器**:将EJB项目部署到JBoss上,服务器会自动处理Bean的生命周期和管理。 3. **开发...

    websphere,ejb教程

    你还将学习EJB的生命周期管理、事务处理、安全性、远程方法调用和容器服务等内容。 **Mybatis+Spring整合** Mybatis是一个轻量级的持久层框架,它简化了数据库操作。而Spring框架则是一个全面的Java企业应用解决...

    EJB3最新总结

    ### EJB3 最新总结 #### 一、EJB 概念与特点 **EJB (Enterprise JavaBeans)** 是 Java EE 应用程序的核心组成部分之一,主要用于开发企业级应用程序的业务逻辑层。EJB 提供了一种标准化的方法来创建可重用的组件,...

    JSF基于EJB Hibernate Spring整合开发与项目

    本章介绍了JSF应用的一些高级特性,包括国际化、页面布局、Facelets、Ajax和远程调用等内容。 #### 九、JSF与EJB Hibernate Spring整合 ##### 9.1 JSF + EJB Enterprise JavaBeans (EJB) 是Java EE的一个规范,...

    EJB3 facts

    - **Spring Beans 注入**:虽然 EJB3 主要关注于 Java EE 环境中的资源管理,但它也支持与 Spring 框架的集成,从而可以在 EJB 中注入 Spring Beans。 #### JPA 在 EJB3 中的角色 EJB3 不仅简化了会话 bean 和消息...

    精通EJB3.0源码,EJB3实例

    在"精通EJB3.0源码,书本《精通EJB3.0》的源码,EJB3实例"这个主题中,我们将深入探讨EJB3.0的关键特性、源码解析以及实例应用。 1. **EJB 3.0的主要改进**: - **注解驱动**:EJB 3.0引入了大量的注解,如`@Entity...

Global site tag (gtag.js) - Google Analytics