簡體   English   中英

Python suds錯誤創建對象

[英]Python suds error creating object

嘗試使用echosign SOAP API。

wsdl在這里: https//secure.echosign.com/services/EchoSignDocumentService14? wsdl

當我嘗試創建某些對象時,即使在print client中將其列出后,它也似乎無法找到類型

import suds

url = "https://secure.echosign.com/services/EchoSignDocumentService14?wsdl"

client = suds.client.Client(url)
print client


  Service ( EchoSignDocumentService14 ) tns="http://api.echosign"
     Prefixes (10)
        ns0 = "http://api.echosign"
        ns1 = "http://dto.api.echosign"
        ns2 = "http://dto10.api.echosign"
        ns3 = "http://dto11.api.echosign"
        ns4 = "http://dto12.api.echosign"
        ns5 = "http://dto13.api.echosign"
        ns15 = "http://dto14.api.echosign"
        ns16 = "http://dto7.api.echosign"
        ns17 = "http://dto8.api.echosign"
        ns18 = "http://dto9.api.echosign"
     Ports (1):
        (EchoSignDocumentService14HttpPort)
           Methods (45):
                 ...
           Types (146):
              ns1:CallbackInfo
              ns17:WidgetCreationInfo

簡潔起見,但顯示了我現在關注的名稱空間和2種類型。

嘗試運行WCI = client.factory.create("ns17:WidgetCreationInfo")產生以下錯誤:

client.factory.create(“ ns17:WidgetCreationInfo”)追溯(最近一次調用最近):文件“”,第1行,在文件“ build / bdist.macosx-10.7-intel / egg / suds / client.py”中, 244,在創建suds.BuildError中:構建(ns17:WidgetCreationInfo)的實例時發生錯誤。 結果,無法構造您請求的對象。 建議您使用Suds對象手動構造類型。 請打開票證並說明此錯誤。 原因:找不到類型:'((CallbackInfo, http://dto.api.echosign ,)'

因此,它似乎無法找到CallbackInfo類型。 也許是因為它缺少那里的ns?

再次,在這里發布15分鍾后弄清楚。

suds可以對所有名稱空間進行異花授粉,因此它們都可以相互導入其他模式。 autoblend可以在構造函數中設置,也可以使用set_options方法設置。

suds.client.Client(url, autoblend=True)

看一下WSDL,似乎http://*.api.echosign中有很多suds無法獲取的定義。

更新您的/ etc / hosts以使其可以訪問這些格式不正確的域,或者將wsdl保存在本地,對其進行修改,然后使用Client('file:// ...',...)創建您的肥皂水客戶。

暫無
暫無

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

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