Весна: Как вернуть класс httpinvoker-proxy с помощью httpinvokerservice
У меня есть небольшой сервер приложений (tomcat) с пружиной и HttpInvokationServiceExporter.
Эти классы находятся на сервере:
public interface IAccount{
public IUser getUser();
}
public class Account implements IAccount{
private IUser user;
public Account(IUser user){
this.user = user
}
@Override
public IUser getUser(){return this.user}
}
public interface IUser{
public String getName();
}
public class User implements IUser(){
private String name;
public User(String name){
this.name = name;
}
@Override
public String getName(){ return this.name) }
}
Мой HttpInvokerService Exporter экспортирует экземпляр класса Account для клиентов с IAccount в качестве интерфейса службы, пока что все хорошо.
Если я сейчас попытаюсь вызвать метод getUser() на стороне клиента, клиент попытается десериализовать возвращенный объект в User-Object и сгенерирует исключение, потому что он не знает класс User.
Но я хочу, чтобы это было похоже на прокси, который вы получаете от HttpInvokerServiceExporter, чтобы вызывать методы из класса User на сервере с IUser в качестве интерфейса службы вместо десериализации результата в класс User. Клиент должен знать только интерфейсы и не реализовывать их.
Я надеюсь, что вы можете понять мою проблему, если вам нужно увидеть мой applicationContext.xml на стороне сервера и клиента или web.xml, не стесняйтесь просить об этом:)
PS: Также не стесняйтесь редактировать заголовок, потому что я едва мог описать мою проблему в нескольких словах