我必须用spyne实现一个公开特定wsdl的服务
现在我无法复制这个定义:
<xs:complexType name="MyType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="version" type="xs:string"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
到目前为止,我能做到的最好的是
class MyType(ComplexModel):
__namespace__ = "uri:my-ns"
__extends__ = primitive.Unicode
version = XmlAttribute(primitive.Unicode)
它引发了AttributeError
,但如果我“修补”models/complex.py
[1],我得到:
<xs:complexType name="MyType">
<xs:complexContent>
<xs:extension base="xs:string">
<xs:attribute name="version " type="xs:string"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
快到了!但是我的complexType有一个complexContent
而不是一个simpleContent
[1]我正在使用spyne的主分支(0f587b2d606b54e41fc5cc3d33b51cc3b324a2ca),如果我添加__extends__ = primitive.Unicode
,我需要将model/complex.py
的第602行从:
if eattr._subclasses is None
至
if getattr(eattr, "_subclasses", None) is None
目前没有回答
相关问题 更多 >
编程相关推荐