我正在使用EJB 2.x。我有 2 台机器,它们都在WebSphere 7.0上。他们每个人都部署了不同的应用程序。当我尝试从一个应用程序(在 machine1 上)调用另一个应用程序(在 machine2 上)的 EJB 时,我收到以下错误:
java.rmi.MarshalException:CORBA MARSHAL 0x4942f999 否;嵌套异常是:org.omg.CORBA.MARSHAL:读取 IOR 配置文件 vmcid 时长度为 0x3f400000 的配置文件数据:IBM 次要代码:999 已完成:否
有谁知道如何解决这个问题,因为我几乎被困在这个问题上。谢谢!
编辑:
对于 EJB 调用,我使用了常用方法:
Properties props = new Properties();
props.put(Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.WsnInitialContextFactory");
props.put(Context.PROVIDER_URL, "iiop://remote.host.com:2809");
props.put(Context.SECURITY_PRINCIPAL, "remote_user");
props.put(Context.SECURITY_CREDENTIALS, "remote_pwd");
Context ctx = new InitialContext(props);
Object objRef = ctx.lookup("servicemanagerJndiName");
ServiceManagerHome home = (ServiceManagerHome) PortableRemoteObject.narrow(
objRef, ServiceManagerHome.class);
manager = home.create();
manager.getMethod();...
问题是该服务调用在远程服务器上正确调用,并且响应已发送,就在客户端,我收到以下错误:
这是我收到的错误 [SoapConnectorThreadPool : 5] [] ERROR java.rmi.MarshalException: CORBA MARSHAL 0x4942f999 No; 嵌套异常是:org.omg.CORBA.MARSHAL:读取 IOR 配置文件 vmcid 时长度为 0x3f400000 的配置文件数据:IBM 次要代码:999 已完成:com.ibm.CORBA.iiop.UtilDelegateImpl.mapSystemException(UtilDelegateImpl.java:277)中的否在 com.host.local.manager._ServiceManager_Stub.getMethod(_ServiceManager_Stub.java) 的 javax.rmi.CORBA.Util.mapSystemException(Util.java:84):