Поэтому я настраиваю два удаленных приложения WebLogic для использования RMI для связи друг с другом.WebLogic ClassCastException во время RMI
Файл LocalServiceAPI.java находится в том же пакете на клиенте & хоста.
Тот же код работает на моей локальной машине на тестовом сервере, но не на сервере unix моей компании.
Обе версии сервера являются 12.1.3.0.0
Самое любопытное: узкая успешна, но бросок бросает ClassCastException.
Hashtable<String,String> env = new Hashtable<String,String>();
env.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
env.put(Context.PROVIDER_URL, "t3://" + address + ":" + port);
Object obj = PortableRemoteObject.narrow(new InitialContext(env).lookup("LocalServiceAPI"), LocalServiceAPI.class);
return (LocalServiceAPI) obj;
Исключение:
java.lang.ClassCastException: com.cleargoals.service.LocalServiceAPIImpl_12130_WLStub cannot be cast to com.cleargoals.service.LocalServiceAPI
Это звучит довольно похоже на эти вопросы, возможно, один из них поможет: http://stackoverflow.com/questions/10393824/remote-interface-cannot-be-cast-to-ejb-container http: // stackoverflow.com/questions/6816996/class-cast-exception-in-narrow-a-jndi-reffrence-in-ejb –