ofbiz-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Raj" <ponnusamy....@tenth-planet.com>
Subject RE: binnding RMIDispatcher to client
Date Wed, 05 Jul 2006 21:17:04 GMT
Yes Andrew ,

I have few question with this 

basically if we wants to control ofbiz from outside (other than the ofbiz
web application ).what are the things needs to be consider,is there any best
practice approach for this type situation ?.

-----Original Message-----
From: Andrew Sykes [mailto:andrew@sykesdevelopment.com] 
Sent: Thursday, July 06, 2006 2:31 PM
To: ofbiz-user@incubator.apache.org
Subject: Re: binnding RMIDispatcher to client

Brett, Raj,

As I understand it, Raj wanted to query the security services. RMI would
seem like a good choice for this.

Would you agree Brett?

- Andrew

On Thu, 2006-07-06 at 00:17 -0600, Brett Palmer wrote:
> Raj,
> 
> Yes, in theory you should be able to access ofbiz as a backend service
> provider from any Java client that can make an RMI call via the
> RMIDispatcher.  We use the RMIDispatcher to run our tests and
> utilities.
> 
> That said you would have to consider a few things.
> 
> 1. All services would have to be set as export="true"
> 
> 2. Most ofbiz services require authentication which it gets by reading
> session variables in the container.  If you use RMI those sessions
> will not be created.  You would have to pass this information in with
> the call using the "userLogin" parameter.
> 
> 3. Some objects don't serialize correctly from client to server.  For
> example, you can pass a GenericValue between an RMI client and server
> but if a method in the object refers to the entity engine
> configuration the object will fail on the client.  For these types of
> problems we usually just pass simple data types that just contain
> data.
> 
> 4. RMI protocols are usually only support within an Intranet type network.
> 
> Hope that helps.
> 
> Brett
> 
> 
> On 7/5/06, Raj <ponnusamy.raj@tenth-planet.com> wrote:
> > Yes Brett,I also did it ,how to solve this problem ,and one more thing
Brett
> > If I get dispatcher from RMI Client .is it possible to bring ofbiz as a
> > backend for any external application
> >
> > -----Original Message-----
> > From: Brett Palmer [mailto:brettgpalmer@gmail.com]
> > Sent: Thursday, July 06, 2006 10:55 AM
> > To: ofbiz-user@incubator.apache.org; ponnusamy.raj@tenth-planet.com
> > Subject: Re: binnding RMIDispatcher to client
> >
> > Raj,
> >
> > You will also get this error if you have compiled the server and
> > client differently.
> >
> > For example, if I build ofbiz with ant and startup the server as
> > normal and then try to connect to server via RMI from a client running
> > in Eclipse I will get this error.
> >
> >
> > Brett
> >
> > On 7/5/06, Raj <ponnusamy.raj@tenth-planet.com> wrote:
> > > Hi all
> > >
> > > I invoke the ofbiz RMIDispatcher from client to ofbiz server .I also
> > change
> > > latest ofbiz-service-rmi.jar from server to client.but I can't get
through
> > > it   ,please any body help me.here I listed log file
> > >
> > >
> > >
> > >
> > >
> > > java.rmi.UnmarshalException: error unmarshalling return; nested
exception
> > > is:
> > >
> > >       java.io.InvalidClassException:
> > > org.ofbiz.service.rmi.socket.zip.CompressionClientSocketFactory; local
> > class
> > > incompatible: stream classdesc serialVersionUID =
-7751495693367440749,
> > > local class serialVersionUID = 830610525710844423
> > >
> > >       at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
> > >
> > >       at java.rmi.Naming.lookup(Naming.java:84)
> > >
> > >       at src.ExampleRemoteClient.<init>(ExampleRemoteClient.java:36)
> > >
> > >       at src.ExampleRemoteClient.main(ExampleRemoteClient.java:55)
> > >
> > > Caused by: java.io.InvalidClassException:
> > > org.ofbiz.service.rmi.socket.zip.CompressionClientSocketFactory; local
> > class
> > > incompatible: stream classdesc serialVersionUID =
-7751495693367440749,
> > > local class serialVersionUID = 830610525710844423
> > >
> > >       at
> > java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:463)
> > >
> > >       at
> > >
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1521)
> > >
> > >       at
> > > java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1435)
> > >
> > >       at
> > >
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1626)
> > >
> > >       at
> > java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
> > >
> > >       at
java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
> > >
> > >       at sun.rmi.transport.tcp.TCPEndpoint.read(TCPEndpoint.java:504)
> > >
> > >       at sun.rmi.transport.LiveRef.read(LiveRef.java:254)
> > >
> > >       at sun.rmi.server.UnicastRef2.readExternal(UnicastRef2.java:54)
> > >
> > >       at
java.rmi.server.RemoteObject.readObject(RemoteObject.java:420)
> > >
> > >       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > >
> > >       at
> > >
> >
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
> > > )
> > >
> > >       at
> > >
> >
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
> > > .java:25)
> > >
> > >       at java.lang.reflect.Method.invoke(Method.java:324)
> > >
> > >       at
> > > java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:838)
> > >
> > >       at
> > > java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1746)
> > >
> > >       at
> > >
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
> > >
> > >       at
> > java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
> > >
> > >       at
java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
> > >
> > >       ... 4 more
> > >
> > >
> > >
> > > Regards
> > >
> > > P.Raj
> > >
> > >
> > >
> >
> >
-- 
Kind Regards
Andrew Sykes <andrew@sykesdevelopment.com>
Sykes Development Ltd
http://www.sykesdevelopment.com



Mime
View raw message