Python Ladon无法返回列表

时间:2013-08-21 13:35:16

标签: python ladon

我正在设置一个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列表,但它坚持那些不一样的东西。

我错过了什么?

1 个答案:

答案 0 :(得分:0)

在此之前我没有使用(或听过)Ladon,但看起来validation logic非常天真。它似乎只是比较type(a) == type(b),这意味着,不,你将无法直接描述复杂类型。我认为你想要的是LadonType;请参阅documentation