python中怎么使用suds调用webservice

2023-05-18,,

本篇文章给大家分享的是有关python中怎么使用suds调用webservice,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

  1. from suds.client import Client  

  2. url = 'http://localhost:7080/webservices/WebServiceTestBean?wsdl'

  3. client = Client(url)  

  4. #查看该service提供的方法

  5. print client  

  6. Suds - version: 0.3.3 build: (beta) R397-20081121

  7. Service (WebServiceTestBeanService) tns="http://test.server.enterprise.rhq.org/"

  8.    Prefixes (1):  

  9.      ns0 = "http://test.server.enterprise.rhq.org/"

  10.    Ports (1):  

  11.      (Soap)  

  12.        Methods:  

  13.          addPerson(Person person, )  

  14.          echo(xs:string arg0, )  

  15.          getList(xs:string str, xs:int length, )  

  16.          getPercentBodyFat(xs:string name, xs:int height, xs:int weight)  

  17.          getPersonByName(Name name, )  

  18.          hello()  

  19.          testExceptions()  

  20.          testListArg(xs:string[] list, )  

  21.          testVoid()  

  22.          updatePerson(AnotherPerson person, name name, )  

  23.    Types (23):  

  24.      Person  

  25.      Name  

  26.      Phone  

  27.      AnotherPerson  

   1.简单参数调用

Python代码  

  1. result = client.service.getPercentBodyFat('jeff'68170)  

  2. print result  

  3. result = client.service.getPercentBodyFat(name='jeff', height=68, weight=170)  

  4. print result  

  5. #词典

  6. d = dict(name='jeff', height=68, weight=170)  

  7. result = client.service.getPercentBodyFat(**d)  

  8. print result  

  9. You have 21% body fat.  

   2.复杂参数

Java代码  

  1. person = client.factory.create('Person')  

  2. print person  

Java代码  

  1. (Person)=  

  2.   {  

  3.     phone = []  

  4.     age = NONE  

  5.     name(Name) =   

  6.         {  

  7.             last = NONE  

  8.             first = NONE  

  9.         }  

  10.    }  

 #设置变量

Java代码  

  1. phone = client.factory.create('Phone')  

  2. phone.npa = 202

  3. phone.nxx = 555

  4. phone.number = 1212

Python代码  

  1. name = client.factory.create('Name')  

  2. name.first = 'Elmer'

  3. name.last = 'Fudd'

Python代码  

  1. person.name = name  

  2. person.age = 35

  3. person.phone = [phone]  

  4. #或者

  5. person.phone.append(phone)  

  1. try:  

  2.    person_added = client.service.addPerson(person)  

  3. except WebFault, e:  

  4.   print e  

  在0.3.8以上版本还提供了更简单的调用方式,完美的json

  1. person = {}  

  2. #根据对象结构构造json

  3. phone = {  

  4.     'npa':202,  

  5.     'nxx':555,  

  6.     'number':1212,  

  7. }  

  8. name = {  

  9.     'first':'Elmer',  

  10.     'last':'Fudd'

  11. }  

  12. person['name'] = name  

  13. person['age'] = 35

  14. person['phone'] = [phone,]  

  15. try:  

  16.    person_added = client.service.addPerson(person)  

  17. except WebFault, e:  

  18.   print e  

 3.异常处理

  1. client = client(url, faults=False)  

  2. result = client.service.addPerson(person)  

  3. print result  

  4. 200, person ...)  

以上就是python中怎么使用suds调用webservice,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注本站行业资讯频道。

《python中怎么使用suds调用webservice.doc》

下载本文的Word格式文档,以方便收藏与打印。