Python 具有复杂输入的Spyne服务器
我正在尝试使用Spyne编写一个简单的python服务器, 我已经浏览了Python 具有复杂输入的Spyne服务器,python,xml,server,spyne,Python,Xml,Server,Spyne,我正在尝试使用Spyne编写一个简单的python服务器, 我已经浏览了hello world示例,现在尝试做一些更复杂的事情。遗憾的是,这方面的例子很少甚至没有(或者至少,我找不到任何有帮助的) 我正在将以下XML发送到服务器: <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan
hello world
示例,现在尝试做一些更复杂的事情。遗憾的是,这方面的例子很少甚至没有(或者至少,我找不到任何有帮助的)
我正在将以下XML发送到服务器:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ObjectA xmlns="urn:SNSR_STD" ProtocolVersion="Undefined" MessageType="Undefined">
<ObjectB>
<field1>value1</field1>
<field2>value2</field2>
<field3/>
<field4/>
<field5/>
</ObjectB>
</ObjectA>
</s:Body>
</s:Envelope>
为了回答这个问题,我创建了以下类(尽管没有它们我也会得到相同的结果):
不幸的是,我得到了一个奇怪的对象,它打印了以下内容:
,在调试时,我似乎找不到任何子对象(或者我需要检查所有值的任何对象)。
我在text
字段下确实有value1
我试图让函数获取更多的AnyXml
参数,希望能够读取所有参数,但没有效果。
我还尝试了其他值,而不是AnyXml
,例如XmlData
和xmldattribute
,但没有成功
使用xmldattribute
我从spyne\model\complex.py,第605行的
init\uuuuuu of=v.attribute\u of中得到了一个AttributeError:type对象'xmldattribute'没有属性'attribute\u of'。
使用XmlData
我得到了一个AttributeError:type对象“XmlData”没有属性“type”
来自spyne\model\complex.py,第119行,位于resolve_namespace cls.type.resolve_namespace(cls.type,默认值,标记)
任何帮助都将不胜感激,谢谢:)
@srpc(String, AnyXml, _returns=None)
def PrintObject(nothing, ObjectA):
print ObjectA
namespace = 'http://www.w3.org/2001/XMLSchema-instance'
class ObjectB(ComplexModel):
__namespace__ = namespace
field1 = XmlAttribute(Unicode)
field2 = XmlAttribute(Unicode)
field3 = XmlAttribute(Unicode)
field4 = XmlAttribute(Unicode)
field5 = XmlAttribute(Unicode)
class ObjectA(ComplexModel):
__namespace__ = namespace
ObjectB = ObjectB