Python 调用 webservice

1、调用代码

# -*- encoding=utf-8 -*-
from suds.client import Client


class WebService:
    def __init__(self):
        pass

    @staticmethod
    def see_webservice(url):
        url = url.strip()
        try:
            client = Client(url)
            print(client)
        except Exception as e:
            print('Error in see webservice:{}'.format(url))
            print('Exception:{}'.format(e))

    def call_function(self, url, function, *args):
        url = url.strip()
        function = function.strip()
        data = None
        try:
            client = Client(url, location='http://10.2.2.28/PCAWebService/OpenTestService.asmx')
            real_function = getattr(client.service, function)
            data = real_function(*args)
        except Exception as e:
            print('Error in call webservice url:{}'.format(url))
            print('Error in call webservice function:{}'.format(function))
            print('Error in call webservice parameters:{}'.format(args))
            print('Exception:{}'.format(e))
        return data


def debug():
    url = 'http://10.99.169.216/ForWebService/GetData.asmx?WSDL'
    web = WebService()
    web.see_webservice(url)
    ret = web.call_function(url, 'get_info', '123')  # url + 函数名 + 一个或多个参数
    print(ret)


if __name__ == '__main__':
    debug()

 

posted @ 2021-01-28 16:32  南风丶轻语  阅读(919)  评论(0编辑  收藏  举报