Is it at all impossible to use XML-RPC _within_ a ZOPE architecture?

What I mean is:
I have a nested call structure:

1. Python script calls a method from a ZODB object
2. That method calls a Python module function
3. That module function dispatches an XML-RPC call to the same ZODB
object called in step 1
4. This last call, which is rather complex, returns, and all the calls
leading up to it return, sometimes doing some minor work

When I use the same code _without_ any XML-RPC (the Zope server's self
instead of the XML-RPC server object for that server), it works just
fine. When I use XML-RPC, I get a ConflictError during the final
return (from step 1), and I get it if I commit manually beforehand, so
it must be the commit triggering it.

The tricky thing is: nothing in my ZODB changes. I have several
mutable _arguments_ that are passed on, but they are not default
arguments and they don't get written to the ZODB.

Is what I'm trying to do impossible for some reason? Or can I just
make the whole call take place outside any transactions?

Thanks in advance for any pointers, I'm really a little desparate at this point.
Zope maillist  -  Zope@zope.org
**   No cross posts or HTML encoding!  **
(Related lists -
 http://mail.zope.org/mailman/listinfo/zope-dev )

Reply via email to