python调用webservice接口(SOAP)

(1)接口是一个url,示例:http://xxx.xxx.xxx.xxx/webservice/services/SecurityEngineDeal?wsdl

(2)调用示例:

     需要先安装suds库:pip install suds

    from suds.client import Client

    #如果需要登录,则通过下面方式认证(电脑的开机账号密码),无需登录请忽略

    from suds.transport.https import HttpAuthenticated

    t = HttpAuthenticated(username='admin',passowrd='123')

    test = Client(url,t)

    #如果不需要登录直接像下面这样

   test = Client(url)

   print test       //会显示所有的接口名及参数

   #调用具体某个接口

   [1]参数为普通参数类型,如string ,int

           test.service.接口名(参数)

           #以接口GetRandom为例,传递一个类型为String的参数,参数类型在url中type="xs:string"这里会显示

           print test.service.GetRandom('firstParam')    //传递一个参数,并打印调用结果

          #传递2个string 参数

          print test.service.GetRandom('firstParam','twoParam')

          #传递1个string,1个int类型

          print test.service.GetRandom('firstParam',2)

   [2]参数为具体的某个对象,对象包含属性

         对象类:User,属性:name,age,都为string

         方法一:

              m = {"name":"feng","age":"88"}

             print test.service.GetRandom(m)

        方法二:

              m = client.factory.create('User')

              m.name = "name"

              m.age = "00"

             print test.service.GetRandom(m)


2.python调用com接口

   本地存在一个名为XTXAppCOM.dll的文件

   comlib =  win32.Dispatch('XTXAppCOM.XTXApp')

   调用示例:

     comlib.接口名(接口参数)


3.python调用c接口

      import ctypes

   

       XTXDllBasePath = p + r'\Lib\site-packages\APIIntercommLibrary\lib\XTX\\'

        XTXDllPath = XTXDllBasePath + 'XTXAppCOM.dll'

        self.XTXC = ctypes.windll.LoadLibrary(XTXDllPath)

       调用示例:

        注意转换为c接口能接受的类型

        self.XTXC.接口名(接口参数)


4.python调用websocket

     data是根据实际情况需要传的参数,一般为json格式,r就是得到的返回值

    from websocket import create_connection

    url = "ws://127.0.0.1:21051/xtxapp"

    ws = create_connection(url)

    ws.send(data)

    r = ws.recv()


其他接口调用方式将很快补充上。。。。。