我正在制作的SOAP请求需要一个字符串数组,对于某些请求,它应该是空的。 XML应该如下所示(在SoapUI中创建):
<ns0:instanceNames>
<!--Zero or more repetitions:-->
</ns0:instanceNames>
所以我尝试用这样的SUDS制作那个xml元素:
instanceNames = client.factory.create('ns2:ArrayOfstring')
instanceNames.string = []
result = client.service.GetStuff(instanceNames=instanceNames)
但是当我发送请求时,元素根本就不存在于XML中。没有标签,因此我的请求失败。
但是,如果我添加单个元素,即使是空字符串,也会显示周围的数组标记并且请求成功。例如:
instanceNames = client.factory.create('ns2:ArrayOfstring')
instanceNames.string = [""]
产生
<ns0:instanceNames>
<ns1:string></ns1:string>
</ns0:instanceNames>
但我宁愿没有那个空洞的内心元素。
我错过了什么吗?
答案 0 :(得分:0)
原来我错过了一些东西:
instanceNames.string = [None]
甚至:
instanceNames.string.append(None)