Я использую EJB 2.x . У меня есть 2 машины, обе на WebSphere 7.0 .
На каждом из них развернуто разное приложение. Когда я пытаюсь из одного приложения (на машине1) вызвать EJB другого приложения (на машине2), я получаю следующую ошибку:
java.rmi.MarshalException: CORBA MARSHAL 0x4942f999 Нет; вложенными
исключение: org.omg.CORBA.MARSHAL: данные профиля длины
0x3f400000 при чтении профиля IOR vmcid: младший код IBM: 999
завершено: нет
Кто-нибудь знает, как решить эту проблему, потому что я в значительной степени застрял в этой проблеме.
Thanx!
Редактировать
Для вызова 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] [] ОШИБКА
java.rmi.MarshalException: CORBA MARSHAL 0x4942f999 Нет; вложенными
исключение: org.omg.CORBA.MARSHAL: данные профиля длины
0x3f400000 при чтении профиля IOR vmcid: младший код IBM: 999
завершено: нет в
com.ibm.CORBA.iiop.UtilDelegateImpl.mapSystemException (UtilDelegateImpl.java:277)
в javax.rmi.CORBA.Util.mapSystemException (Util.java:84) в
com.host.local.manager._ServiceManager_Stub.getMethod (_ServiceManager_Stub.java):