python 调用net编写的webservcie 类型转换的问题

前言:使用.net编写了webservice,希望用python去调用。可能会存在一个类型转换的问题,如下:

 [WebMethod(Description = "读数据")]
        public byte[] sssss()
        {
            byte[] buf = new byte[3];
            buf[0] = 3;
            buf[1] = 6;
            buf[2] = 9;
            return buf;
        }

ssss方法返回的值是byte[] 类型,在python中调用如下:

import datetime
import struct
from suds.client import Client
import base64

url = 'http://192.0.168.211/WebService1.asmx?wsdl'
client = Client(url)
print(client)

# 连接
ddf = client.service.Add(2, 5)

va = client.service.GetDBData(5, 10, 4)

values = client.service.sssss()

通过调试可以看到values的类型为:suds text类型,

根据显示的方法,可以得到.net bytes[]与suds xs:baseBinary64对应,我们只需要将baseBinary64转化为python的bytes类型即可。

 

 参考链接:https://www.it1352.com/1964514.html

 

posted @ 2020-09-20 14:17  haozhang13  阅读(149)  评论(0编辑  收藏  举报