كيف يمكنني إنشاء نوع غير قياسي مع SOAPpy?
-
02-07-2019 - |
سؤال
انا اتصل أ WSDL خدمة ويب من الثعبان باستخدام SOAPpy.دعوة أنا بحاجة إلى جعل طريقة Auth_login.هذا وقد 2 الحجج - أول سلسلة يجري API مفتاح ؛ الثانية ، نوع مخصص يحتوي على اسم المستخدم وكلمة المرور.العرف نوع يسمى Auth_credentialsData الذي يحتوي على 2 القيم لسعات عن اسم المستخدم وكلمة واحدة كلمة المرور.كيف يمكنني إنشاء هذا النوع المخصص باستخدام SOAPpy?حاولت تمرير قائمة القاموس ، ليس فيها العمل.
مدونة حتى الآن:
from SOAPpy import WSDL
wsdlUrl = 'https://ws.pingdom.com/soap/PingdomAPI.wsdl'
client = WSDL.Proxy(wsdlUrl)
حاول كل من:
credentials = ['email@example.com', 'password']
client.Auth_login('key', credentials)
و
credentials = {'username': 'email@example.com', 'password': 'passsword'}
client.Auth_login('key', credentials)
وكلاهما يعطي فشل مصادقة خطأ.
المحلول
أفضل طريقة هي استخدام ZSI الصابون وحدة الذي يسمح لك أن تأخذ WDSL الملف وتحويلها إلى فصول و الطرق التي يمكنك ثم استخدام تسميتها.الوثائق على الانترنت هو على موقعه على الانترنت ولكن أحدث الوثائق أكثر سهولة العثور عليها في مصدر الحزمة.إذا قمت بتثبيت في Debian/Ubuntu (اسم حزمة python-zsi) الوثائق في /usr/share/doc/python-zsi في زوج من ملفات Pdf يمكنك أن تجد هناك.