簡體   English   中英

Suds Soap庫中的TypeNotFound錯誤

[英]TypeNotFound error in Suds Soap library

我正在嘗試使用suds庫從荷蘭土地登記處( 此處為WSDL )調用SOAP服務。 我首先對SOAPservice進行如下介紹:

>>> from suds.client import Client
>>> client = Client(url='http://www1.kadaster.nl/1/schemas/kik-inzage/20141101/verzoekTotInformatie-2.1.wsdl')
>>> print client

Suds ( https://fedorahosted.org/suds/ )  version: 0.4 GA  build: R699-20100913

Service ( VerzoekTotInformatieService ) tns="http://www.kadaster.nl/schemas/kik-inzage/20141101"
   Prefixes (13)
      ns0 = "http://www.kadaster.nl/schemas/kik-inzage/20141101"
      ...
      ns9 = "http://www.kadaster.nl/schemas/kik-inzage/kadastraalberichtobject/v20141101"
   Ports (1):
      (VerzoekTotInformatieSOAP)
         Methods (1):
            VerzoekTotInformatie(ns3:Aanvraag Aanvraag, )  # <== WE WANT TO CALL THIS
         Types (278):
            ns10:AN1
            ns10:AN10
            ...
            ns3:Aanvraag  # <== FOR WHICH WE NEED THIS TYPE
            ns10:AlgemeenAfsluiting
            ns10:AlgemeenBegin
            ...

所以我想調用(僅限)方法VerzoekTotInformatie (意為“RequestForInformation”),這需要一個Aanvraag對象(“Aanvraag”的意思是“請求”)。 如您所見, Aanvraag類型在類型列表中。 因此,我嘗試使用docs中的建議創建它,方法是:

>>> Aanvraag = client.factory.create('Aanvraag')
No handlers could be found for logger "suds.resolver"
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/Library/Python/2.7/site-packages/suds/client.py", line 234, in create
    raise TypeNotFound(name)
TypeNotFound: Type not found: 'Aanvraag'
>>>

有人知道為什么即使在類型列表中清楚地顯示了該類型也找不到它嗎?

歡迎所有提示!

您需要添加前綴:

In [9]: Aanvraag = client.factory.create('ns3:Aanvraag')

In [10]: Aanvraag
Out[10]:
(Aanvraag){
   berichtversie =
      (VersieAanvraagbericht){
         value = None
      }
   klantReferentie = None
   productAanduiding = None
   Gebruiker =
      (Gebruiker){
         identificatie = None
      }
   Ingang = <empty>
 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM