我尝试接收并生成可以具有以下架构的消息:
<ns1:data>
<ns1:status-change/>
<ns2:rpc-call/>
</ns1:data>
然后我有:
class NS1ComplexModel(ComplexModel):
__namespace__ = 'ns1'
class NS1Data(NS1ComplexModel):
statusChange = NS1StatusChange
rpcCall = NS2RPCCall
class NS1StatusChange(NS1ComplexModel):
...
但结果是ns1
而不是ns2
的名称空间。
我一直在浏览resolve_namespace()
和朋友,我认为我看到了导致它的原因,但我无法解决如何解决问题,甚至无法解决问题。< / p>
答案 0 :(得分:2)
我认为这是我遇到的同样问题,我通过定义来解决它
class NS2RPCCall(NS2ComplexModel):
class Attributes(NS2ComplexModel.Attributes):
sub_ns = NS1ComplexModel.__namespace__
这是通过查看spyne.protocol.xml.XmlDocument._get_members_etree
和spyne.model.complex._gen_attrs
。