我想在客户端的对象中获取一个数组,但是我需要像这样访问字典:
response.BODY["string"]
首选解决方案是:
response.BODY
对于以下代码:
class ServerResponse(ComplexModel):
BODY = Array(String)
def __init__(self, BODY):
self.BODY = BODY
class SomeService(ServiceBase):
@rpc(_returns=ServerResponse)
def reportEvent(ctx):
return ServerResponse(["1", "2"])
我是spyne的新手,所以非常感谢您提供帮助。
答案 0 :(得分:0)
Array
创建称为 wrapped 的数组。如果您需要解开包装的商品,可以尝试:
class ServerResponse(ComplexModel):
BODY = String(max_occurs='unbounded')
def __init__(self, BODY):
self.BODY = BODY
这将重复<BODY>
标签,而不是在<string>
标签内 重复<BODY>
标签。
但是,这不是在SOAP世界中处理数组的规范方法。一些客户端自动检测包装的阵列。如果您不愿意,我建议您更改客户端库或学习使用它。