我正在设置一个Ladon SOAP服务器,根本无法让它返回列表。
这就是我所拥有的:
class V1(object):
"""
This service returns events between two times for a given trackable.
"""
@ladonize(rtype=[ PORTABLE_STRING ])
def getGroupNames(self):
"""
Returns a list of group names.
@rtype: List of group names.
"""
cnn = db.get_connection()
sql = "blah blah sql"
params = {}
groups = db.execute_fetchall(cnn, sql, params)
ret = []
for g in groups:
ret += [g["group_description"]]
return ret
我得到的错误是:
WebFault: Server raised fault: 'Return-type mismatch in V1::getGroupNames: Expected [<type 'unicode'>] recieved <type 'list'>'
它期待一个unicode列表,我正在返回一个unicode列表,但它坚持那些不一样的东西。
我错过了什么?
答案 0 :(得分:0)
在此之前我没有使用(或听过)Ladon,但看起来validation logic非常天真。它似乎只是比较type(a) == type(b)
,这意味着,不,你将无法直接描述复杂类型。我认为你想要的是LadonType
;请参阅documentation。