定义全局变量SOAPpy Server

时间:2014-03-16 11:30:28

标签: python soap

我想创建一个SOAP服务,在服务器端我想创建和操作对象/变量,公开diferente方法:创建对象,操作,删除等等。

Porblem是,我不知道在服务器代码中如何/在何处声明全局变量,以便保持对先前创建的对象的引用并且能够操作

简单的SOAPpy服务器代码是:

import SOAPpy
myobject
def create():
    myobject = Create()
def manipulate():
    myobject.op1()
server = SOAPpy.SOAPServer(("localhost", 8080))
server.registerFunction(hello)
server.serve_forever()

当我尝试执行此代码时,我收到一条错误,指出未声明myobject ..

提前感谢您的时间。

1 个答案:

答案 0 :(得分:0)

你不能只是声明'变量而不为其赋值。 Python是动态类型的,因此它会在assigment上推断出类型,并将name绑定到该类型的对象。然后你应该在第二行分配如:

myobject = None

甚至删除此行并从create()返回值:

def create():
    return Create()

myobject = create() # somewhere where you need it