前言:使用.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类型即可。