我试图调用一个需要空(无)属性但suds会删除这些属性的服务。我要送。。
<ns1:Body>
<ns0:QueryIntersection>
<ns0:intersectingRoad>
<ns2:RoadName xsi:nil="true"/>
<ns2:RoadType xsi:nil="true"/>
</ns0:intersectingRoad>
<ns0:subjectRoad>
<ns2:RoadName>BURKE</ns2:RoadName>
<ns2:RoadType>ROAD</ns2:RoadType>
</ns0:subjectRoad>
</ns0:QueryIntersection>
但是suds删除了IntersectingRoad对象并且只发送
<ns1:Body>
<ns0:QueryIntersection>
<ns0:subjectRoad>
<ns2:RoadName>BURKE</ns2:RoadName>
<ns2:RoadType>ROAD</ns2:RoadType>
</ns0:subjectRoad>
</ns0:QueryIntersection>
如果我在IntersectingRoad对象中设置了其中一个值,它将发送该值并正常工作,但没有一个也是有效的请求。
这是我正在使用的代码的摘录。。。
Int1 = client.factory.create('ns2:IntersectingRoad')
Int1.RoadName = None
Int1.RoadType = None
Int2 = client.factory.create('ns2:SubjectRoad')
Int2.RoadName = "BURKE"
Int2.RoadType = "ROAD"
try:
Ints = client.service.QueryIntersection(Int1,Int2, )
except Exception as e:
print e.message
请帮忙!
最佳答案
Suds有一个特殊的null()函数用于传递可选参数,因为没有一个被视为缺少值。
我想你的案子会是这样的:
from suds import null
Int1 = client.factory.create('ns2:IntersectingRoad')
Int1.RoadName = null()
Int1.RoadType = null()
关于python - suds send None属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16768000/