標籤:更新 net password pass ebs max word import json
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">如今最流行的就是suds了,可是裡面仍然有很多bug未修複。也好像沒有人更新了</span>
import sysfrom suds.client import Clientsys.setrecursionlimit(1500)test_url = ‘http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl‘url = ‘http://localhost/IdentifierService.svc?wsdl‘client = Client(url, cache=None)
suds確實簡單易用
可是執行後有錯誤,其它的wsdl地址卻沒有問題
google中還發現suds與.net平台似乎有一點的不相容
而這個wsdl就是.net平台的,萬惡的.net
不能說常見吧,可是我第一次用就碰到了 runtimeerror: maximum recursion depth exceeded
意思就是遞迴過深,python預設的遞迴深度是1000
你能夠通過改動深度值,可是無濟於事
import sys
sys.setrecursionlimit(1500)
最後僅僅好換工具。用了SOAPy,SOAPpy,pysimplesoap,soaplib真是快用一遍了
最後僅僅有ZSI可用
from ZSI import ServiceProxyurl = ‘http://localhost/IdentifierService.svc?wsdl‘proxy = ServiceProxy.ServiceProxy(url)#是兩個ServiceProxyperson = "{ ‘IDNumber‘: ‘4123412412423‘, ‘Name‘: ‘張三‘}"account = "{ ‘UserName‘: ‘admin‘, ‘Password‘: ‘123456‘}"response = proxy.ExactCheckByJson(request=person, cred=account)當中ExactCheckJson是webservice提供的服務
並且參數必須是這個形式的,假設直接上參數,就會報ypeError: Not supporting SOAPENC:Arrays or XSD:List的錯誤
然後我的request跟cred是借口文檔提供的。還不能變~
python 訪問webservice