【问题标题】:SUDS, Python: how do you convert a return object to python data-typeSUDS,Python:如何将返回对象转换为 Python 数据类型
【发布时间】:2014-10-19 07:29:04
【问题描述】:

在 SUDS 中,当我在服务器上调用一个方法并接收它的响应时,我使用 .表示法(属性访问)。有没有办法让我将响应存储在 python 对象中 - 毕竟 WSDL/SUDS 对服务器数据类型的结构有所了解。

例如: SOAP 类型:ClientInfo

(reply){
   Transaction = 
      (Transaction){
         Reference1 = "1"
         Reference2 = "2"
         Reference3 = "3"
         Reference4 = "4"
         Reference5 = "5"
      }
   Notifications = ""
   HasErrors = False
   Countries = 
      (ArrayOfCountry){
         Country[] = 
            (Country){
               Code = "AD"
               Name = "Andorra"
               IsoCode = "020"
               StateRequired = False
               PostCodeRequired = False
               PostCodeRegex = None
               InternationalCallingNumber = "376"
            },

我可以使用 wsdl 信息将其转储到 python 数据类型/对象中吗?

【问题讨论】:

    标签: python python-3.x soap suds


    【解决方案1】:

    suds 对象一个 python 对象,你只是在看打印表示。 Suds 有许多挂钩,您可以从中消化其结果。

    https://fedorahosted.org/suds/wiki/Documentation

    【讨论】:

    • 是的,python 中的所有对象都是 python 对象——我的意思是,在 python 中,当你这样做时: print(cls.client.factory.create("Address")) 你会得到 它实际上是一个 WSDL 数据类型“地址”,它已在 Python 中复制为一个名为“Address”的类,它由本机 python 数据类型(字典、列表)构建。您使用 . (属性表示法)访问这个 python 类。是否可以剥离类层并获得一个反映“地址”布局的对象(字典、列表、元组)
    • 链接已失效 :(
    • 相同的链接已关闭,还有其他地方可以查找吗?
    猜你喜欢
    • 1970-01-01
    • 2022-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多