- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
调用部署在 weblogic 10.3.5 服务器上的 EJB bean 时出现非常神秘的错误。
错误是:
javax.ejb.EJBException: CORBA MARSHAL 0 Maybe; nested exception is:
org.omg.CORBA.MARSHAL: vmcid: 0x0 minor code: 0 completed: Maybe; nested exception is: org.omg.CORBA.MARSHAL: vmcid: 0x0 minor code: 0 completed: Maybe
at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.unwrapRemoteException(RemoteBusinessIntfProxy.java:121)
at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:103)
at $Proxy0.getOrder(Unknown Source)
at test.EjbTest.main(EjbTest.java:37)
Caused by: org.omg.CORBA.MARSHAL: vmcid: 0x0 minor code: 0 completed: Maybe
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at com.sun.corba.se.impl.protocol.giopmsgheaders.MessageBase.getSystemException(MessageBase.java:897)
at com.sun.corba.se.impl.protocol.giopmsgheaders.ReplyMessage_1_2.getSystemException(ReplyMessage_1_2.java:99)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.getSystemExceptionReply(CorbaMessageMediatorImpl.java:572)
at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.processResponse(CorbaClientRequestDispatcherImpl.java:430)
at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.marshalingComplete(CorbaClientRequestDispatcherImpl.java:326)
at com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.invoke(CorbaClientDelegateImpl.java:129)
at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:457)
at service._OrderSession_fb3odc_OrderSessionRIntf_Stub.getOrder(Unknown Source)
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 weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:85)
... 2 more
ejb 绑定(bind)是使用 wlclient.jar 创建的:
public static <T> T getRemoteEJB(String jndi, Class<T> clazz){
try {
Properties props = new Properties();
props.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
props.put(Context.PROVIDER_URL, "t3://localhost:7001");
InitialContext ctx = new InitialContext(props);
T ejb = (T) ctx.lookup(jndi);
PortableRemoteObject.narrow(ejb, clazz);
return ejb;
} catch (Exception e) {
logger.error("Unable to lookup object of class {} through jndi name {}", clazz, jndi);
}
return null;
}
我找不到这个神秘的 vmcid: 0x0 minor code: 0 completed: Maybe
是什么意思,所以请至少提供线索是什么意思。请求在服务器端完成,因为那里没有错误。
最佳答案
快速搜索错误指向此 link .其中一项建议是不要使用 wlclient.jar
,而是使用 weblogic.jar
。从链接中引用,
Please try using weblogic.jar at client end or even there is a better option to create the "wlfullclient.jar" using the jarBuilder utility provided as part of WebLogic
问题似乎出在使用 WebLogic 的 t3
协议(protocol)时对象的编码中。请查看 this也有链接。
关于java - 'org.omg.CORBA.MARSHAL: vmcid: 0x0 minor code: 0 completed: Maybe' 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9002952/
据我所知,CORBA 用于通过充当中间角色来维护分布式系统中的互操作性。 我想知道的是, CORBA 是一种有自己的编码语法的语言吗或 我们是否使用 C#、Java 等其他语言在 CORBA 中编码?
将使用 CORBA 的情况的示例是什么?是否只是使用界面语言(例如 Java)与所有应用程序“对话”的问题? 最佳答案 CORBA 可用于构建独立于语言、独立于 O/S 的分布式系统。例如,Linux
对于从今天开始的分布式计算项目,遗留组件为 0,是否有充分的理由考虑 CORBA? 最佳答案 在某些情况下,CORBA 仍然是一个不错的答案: 当您构建分布式涉及多种编程的系统语言和多平台, 当您的系
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
我认为 CORBA 被认为是一种拒绝消亡的遗留技术。话虽如此,我很好奇是否有任何已知的首选标准(并且也是独立于平台的。) 想法? TIA! 最佳答案 许多组织正在转向 WebServices 和与之相
我想在 idl 文件中写一个枚举作为 - module Media { enum eSpeed { int speed1 = 2000, int speed2 = 4000,
我正在进行一个使用 CORBA 读取对象数据的项目,这些对象可以用 C++ 或 Java 实现,但符合相同的 IDL。优点是 idlj 编译器,所有必要的代码都随 Java 一起免费提供。缺点似乎是我
我创建了一个 CORBA Server 和两个客户端 - Client1 和 Client2,服务器是使用 实现的Java 正在连接到此服务器。当客户端连接到服务器时,服务器必须维护连接状态,即 co
我有以下 CORBA IDL 3.2,它试图声明一个相互递归的结构: module SE { interface SE { typedef unsigned short MenuItemID;
使用 Java 作为编程语言,我有一个关于如何将对象从 Corba 客户端发送到 Corba 服务器的问题,注意到我正在使用 POA 和以下 idl 文件:- // BackupServer.idl
我正在研究使用 CORBA 的遗留产品。我们期待支持 omniiORB作为另一个供应商。我遇到了我们的一个测试段错误,我试图了解我们是否在与其他供应商合作时做错了什么,或者 omniiORB 是否存在
我有这样的东西: 用户.idl: #ifndef __USER_IDL__ #define __USER_IDL__ interface Group; interface User { typ
我目前停电了,我是 c++ 和 CORBA 的新手。我试图分配一个 CORBA::Char,但我收到编译器错误“错误:从‘CORBA::Char*’到‘CORBA:Char’的无效转换。有没有人知道我
我有这样的 IDL 接口(interface): interface User { string toString(); //.. }; interface Group { t
我正在尝试在 Ubuntu 12.04 上运行 C++ 中的 CORBA 示例: http://www.yolinux.com/TUTORIALS/CORBA.html 当我尝试运行时仍然有错误:
最近,我在维护一个非常旧的应用程序的 CORBA 通信过程中遇到了问题。客户端和服务器部分通过CORBA 进行通信。在服务器上客户端的特定函数调用中,我得到以下错误: Not successful c
我在获取包管理器中提供的 libTao 附带的示例程序时遇到了一些问题。我过去在 Windows 上使用过 ace tao,所以已经有了一些经验。 到目前为止,我已经设置了所有环境变量,为“简单客户端
我有一个 Java 控制台应用程序 (Windows),我想在用户按 Ctrl+C 时正常关闭它。这就是为什么我使用 addShutdownHook 在我的工作线程上调用 Interrupt() 的原
我们有一个在 WebSphere 6.1 上运行的重负载 EJB 应用程序。最近,我们遇到了很多连接问题,客户端应用程序(独立的java应用程序)出现以下异常并且请求未完成。服务器已启动并正在运行,p
我现在正在使用 Java/C++ 和 CORBA 开发简单的图形用户界面应用程序。我希望 VirtualBox 上的客户端连接到本地主机上的服务器。当我有一个简单的应用程序时,比如我之前写过的计算器,
我是一名优秀的程序员,十分优秀!