【问题标题】:How do I default optional fields in spyne?如何在 spyne 中默认可选字段?
【发布时间】:2015-07-15 19:48:13
【问题描述】:

这是一些 Spyne/SOAP 代码,我在其中返回一两个字符串。有没有办法避免将 string2 设置为 None 以表明它不存在?

class TestResult(ComplexModel):
    """
    """
    string1 = Unicode
    string2 = Unicode(min_occurs=0, max_occurs=1)

    def __init__(self):
        # Say hello
        self.string1 = "Hello World"

        # Either of the following works
        #
        # self.string2 = "...from Paul"
        # self.string2 = None
        #
        # But omitting them doesn't.


class Test(ServiceBase):
    """
    """
    @srpc(Unicode, _returns=TestResult)
    def Test(Query):
        """
        """
        response = TestResult()

        return response

【问题讨论】:

    标签: optional spyne


    【解决方案1】:

    我真的不明白这个问题,请澄清。

    string2 将显式返回为 xsi:null,当它具有 min_occurs=1 时,如果这是您的要求。

    【讨论】:

      【解决方案2】:

      string2 是可选的 (min_occurs=0) 但我必须明确将其设置为“无”以使其从 XML 响应中完全省略。我在问是否有一些我遗漏的东西可以让我编写代码(即 string2 从未明确设置)并生成有效响应。 背景是我必须支持一些 XML,其中响应具有大量可选字段,但我必须设置一长串 tom NULL - 所以我希望我可以懒惰并找到一种方法来避免必须这样做;-)。

      【讨论】:

        猜你喜欢
        • 2012-01-06
        • 1970-01-01
        • 1970-01-01
        • 2012-07-07
        • 1970-01-01
        • 2019-07-26
        • 1970-01-01
        • 1970-01-01
        • 2023-03-23
        相关资源
        最近更新 更多