【问题标题】:python spyne complexModel with array of no typepython spyne complexModel 没有类型的数组
【发布时间】:2018-04-18 10:47:56
【问题描述】:

我有一个 wsdl,我正在使用 spyne 复制肥皂服务。当我使用 suds 客户端解析 wsdl 并创建一个要传递给服务方法并打印它的对象时,它显示:

   inqMultiRequest = 
      (TSYSMultipleInquiryRequestType){
         _reqID = ""
         inquireRequest[] = <empty>
      }

inquireRequest 是一个未定义类型的数组。为了使用 spyne 模型对此进行建模,我将 TSYSMultipleInquiryRequestType 定义为:

class TSYSMultipleInquiryRequestType(TSYSRequestMsgType):                            
      __namespace__ = DEFAULT_NS                                                       
      inquireRequest = Array

但是在运行 wsgi 服务器时会抛出异常:

异常:数组定义无效 TSYSMultipleInquiryRequestType.inquireRequest

我应该如何使用 spyne 对其进行建模,它可以接受未定义类型的数组?

【问题讨论】:

    标签: soap suds spyne


    【解决方案1】:

    好吧,我解决了这个问题。显然问题在于 suds 如何报告服务方法和对象。我唯一需要的是在模型中指定 max_occurs='inf' 。在不指定 max_occurs 的情况下,suds 客户端工厂创建一个inquireRequest 实例。使用 max_occurs,它将它创建为一个数组,我可以向其中添加多个

    class TSYSMultipleInquiryRequestType(TSYSRequestMsgType):
        inquireRequest = TSYSInquiryRequestType.customize(
            nullable=False, min_occurs=0, max_occurs='inf')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-25
      相关资源
      最近更新 更多