zoukankan      html  css  js  c++  java
  • webservice接口测试wsdl,参数是xml格式。python,入参转化成str,返回值转化成dict调用

    1、用SoapUI测试webservice接口,传入参数是xml格式时。xml格式需要将xml的外围增加<![CDATA[xml]]>

    2、但是用python去做webservice测试,调用函数去传参时,直接将xml作为字符串的格式传入即可。

         其中,webservice请求的返回值类型是:<class 'suds.sax.text.Text'>,

         需要用json.loads(escape(result))转成字典的格式:<class 'dict'>。去引用

    具体展示如下:

    注意SoapUI:xml的格式需要将xml外围增加<![CDATA[xml]]>
    from suds.client import Client
    import json
    from xml.sax.saxutils import escape
    
    class WebserviceSuds():
        def webservice_suds(self,url,msg,operetions):
            '''url:webservice的wsdl请求地址
            msg:传入的参数  注:直接把xml参数当成一个字符串来传递就OK了
            operetions:接口操作方式'''
    
            # 创建一个webservice对象,来调用webservice里面的各类接口
            c=Client(url)
            # print(c)
    
            # .service去调用接口函数方法method, 注:直接把xml参数当成一个字符串来传递就OK了      # 注意SoapUI:xml的格式需要将xml外围增加<![CDATA[xml]]>
            # 注册接口、查询接口、查询调阅接口
            if operetions=='register':
                result=c.service.register(msg)
            elif operetions=='query':
                result=c.service.query(msg)
            else:
                 result=c.service.querySubscribe(msg)
            # escape转换成字符类型,json。loads()转成字典
            result = json.loads(escape(result))
            return result
    
            #factory,去查看参数情况
            # register=c.factory.create("register")
            # print(register)

    webservice接口的返回分析:

    https://www.cnblogs.com/xueli/p/6145211.html(webservie返回接口信息,详解)

    https://www.cnblogs.com/nottobe/p/5718823.html

    https://www.cnblogs.com/xiaomingzaixian/p/7286793.html(xml转化escape成字符串,再转字典)

    https://www.cnblogs.com/xiaomingzaixian/p/7286793.html(json()的使用)

    传入参数为:xml

    xml.sax.saxutils.escape.

    xml格式转化字符串,再用json.loads()转化成字典

    <class 'suds.sax.text.Text'>
    from xml.sax.saxutils import escape
    import json
    # 转换成字符串类型
    print(type(escape(res))) # 转换成字典类型 create_response = json.loads(escape(res)) print(create_response) print(type(create_response))
  • 相关阅读:
    HDU 5795 A Simple Nim ——(Nim博弈 + 打表)
    【Insertion Sorted List】cpp
    【Merge K Sorted Lists】cpp
    【Merge Two Sorted Lists】cpp
    【Merge Sorted Array】cpp
    【Sum Root to Leaf Numbers】cpp
    【Binary Tree Maximum Path Sum】cpp
    【Path Sum II】cpp
    【Path Sum】cpp
    【Maximum Depth of Binary Tree 】cpp
  • 原文地址:https://www.cnblogs.com/xyao1/p/10756624.html
Copyright © 2011-2022 走看看