Using remote magma server problem

Chris Muller asqueaker at gmail.com
Sun Aug 12 19:47:36 UTC 2007


Sig,

The "Class id not found" it is an indication that there is a class
missing from the #protocol, which indicates you have inadvertently
extended the protocol.  There are two serializers in the client (and,
therefore, two ClassIdManagers), one for the persistent domain model,
the other used by "Ma client server" strictly for communicating with
the server.  It is the latter which can have a protocol error
(class-id not found).

Look at what kind of object 207 is, it either needs to be added to the
#protocol or it shouldn't be sent across.

> Can you give an example in what sequence we must set read strategy ,
> does it needs to be inside transaction and/or only after reifying root
> object?

You can set it anytime after connecting, even before reading the root.

Here's the sequence of steps I took to try to recreate the problem.

  1) create a new repository, Dictionary root.
  2) start a server listening on 1010:

      MagmaServerConsole new
	  open: 'c:\temp\rsError' ;
	  processOn: 1010 ;
	  inspect

  3) start a new image ("client") and inspect a new session:

      (MagmaSession host: 'localhost' port: 1010) inspect

  4) In the session inspector window:

      self connectAs: 'test'

  5) Set its readStrategy:

      self readStrategy: ((MaReadStrategy minimumDepth: 2) onAny:
MagmaPerson readToDepth: 5; yourself)

  6) inspect the root

      self root inspect

Everything worked just fine.

Please help me to help you by providing this level of detail so that I
may reproduce the issues you find.  The only sentence you gave me to
go on for reproducing the problem is this:

> It was because of assigning new read strategy to session just after
> connecting to it.

Regards,
  Chris


More information about the Magma mailing list