[英]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.