The main idea is to hide UserImpl from client side completely. I can believe 
you that pojos transporting works just fine, but that's not what I need )


> I do this, but not with interfaces...
> 
> I use hessian to return pojo's just fine.
> 
>  From the examples, pojo's are usually not interfaces in spring, rather
> the services/dao are interfaces.  Do you need user to be an interface?
> 
> I have a user service that I implemented with hessian/spring/hibernate.
> Can I ask a little more about your project?
> 
> Phillip
> 
> ...y ...ich wrote:
> 
> >Greeting,
> >
> >I want to implement a simple client-server application with the following 
> >feature: client receives some remote object and call it's method. I don't 
> >have an intention to use EJBs so my question if this possible with pure 
> >Spring Remoting features like Hessian.
> >
> >The remote object that is being passed is
> >
> >Code:
> >
> >import interfaces.IUser;
> >
> >public class UserImpl implements IUser
> >{
> >
> >     public String getAge() {
> >             
> >             return " 27 y.o ";
> >     }
> >
> >     public String getName()
> >     {               
> >             return " John Doe ";
> >     }
> >
> >     public String getSex()
> >     {               
> >             return " M ";
> >     }
> >
> >     public String getUserString() {
> >             
> >             return getName() + getAge() + getSex();
> >     }
> >
> >}
> >
> >The client side has only IUser in its classpath, not UserImpl. So when I 
> >call Hessian Service, I receive en error like this
> >
> >Code:
> >
> >java.lang.InstantiationException: interfaces.IUser
> >     at java.lang.Class.newInstance0(Unknown Source)
> >     at java.lang.Class.newInstance(Unknown Source)
> >     at 
> > com.caucho.hessian.io.JavaDeserializer.instantiate(JavaDeserializer.java:172)
> >     at 
> > com.caucho.hessian.io.JavaDeserializer.readMap(JavaDeserializer.java:112)
> >     at com.caucho.hessian.io.HessianInput.readObject(HessianInput.java:662)
> >     at com.caucho.hessian.io.HessianInput.readReply(HessianInput.java:241)
> >     at com.caucho.hessian.client.HessianProxy.invoke(HessianProxy.java:179)
> >     at $Proxy0.getUser(Unknown Source)
> >     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> >     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> >     at java.lang.reflect.Method.invoke(Unknown Source)
> >     at 
> > org.springframework.remoting.caucho.HessianClientInterceptor.invoke(HessianClientInterceptor.java:163)
> >     at 
> > org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:176)
> >     at 
> > org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:210)
> >     at $Proxy1.getUser(Unknown Source)
> >     at client.Client.callService(Client.java:39)
> >     at client.Client.main(Client.java:56)
> >
> >
> >I haven't looked at Hessian source code, but I could presume that it tries 
> >to instantiate UserImpl on the client side, where such class is absent in 
> >the classpath.
> >
> >
> >Can I configure Hessian somehow to send UserImpl class information with 
> >serialized UserImpl object?
> >
> >Thanks in advance!
> >
> >-- реклама -----------------------------------------------------------
> >http://freehost.com.ua - хостинг в UA-IX, домен бесплатно во всех пакетах!
> >
> >
> >_______________________________________________
> >hessian-interest mailing list
> >[email protected]
> >http://maillist.caucho.com/mailman/listinfo/hessian-interest
> >
> >

-- реклама -----------------------------------------------------------
http://freehost.com.ua - хостинг в UA-IX, домен бесплатно во всех пакетах!


_______________________________________________
hessian-interest mailing list
[email protected]
http://maillist.caucho.com/mailman/listinfo/hessian-interest

Reply via email to