Hi Jairo,

I think what's happening is that with caching enabled Suds is trying write the parsed WSDL cache files to some location in the local filesystem and since traditional filesystem write operations are not allowed on AppEngine, you are getting an error.

As you see in the error, AppEngine offers an alternative for situation like this, the tempfile module. You might want to open a ticket in Trac requesting Suds use tempfile for its cache files. Or you might want to add a comment to this existing ticket: https://fedorahosted.org/suds/ticket/343

In terms of impact, running with no cache should be stable, but it will be slower since the WSDL file will need to be downloaded and parsed the first time you a call a service from a process.

 - Chris

On Fri, Apr 15, 2011 at 1:54 PM, Jairo Vasquez <jairo.vasquez@gmail.com> wrote:
Hi,

I'm trying to use suds in a python Google App Engine application. This is the traceback:


client = Client(url)
  File "/base/data/home/apps/sandbox/test.349741318547153856/suds/client.py", line 109, in __init__
    options.cache = ObjectCache(days=1)
  File "/base/data/home/apps/sandbox/test.349741318547153856/suds/cache.py", line 141, in __init__
    location = os.path.join(tmp(), 'suds')
  File "/base/python_runtime/python_dist/lib/python2.5/tempfile.py", line 45, in PlaceHolder
    raise NotImplementedError("Only tempfile.TemporaryFile is available for use")
NotImplementedError: Only tempfile.TemporaryFile is available for use

I tried changing line 109 at client.py:

options.cache = ObjectCache(days=1)

to:

options.cache = None

And it works now but I'm not sure if that can affect something in the future.

I really appreciate if anybody can help me here.

Thanks in advance.

------------------------
Jairo Vasquez
Lead Developer
www.mentez.com

_______________________________________________
suds mailing list
suds@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/suds