ZSI.generate.Wsdl2PythonError:不支持本地的simpleType限制
问题描述:
我有从外部Web服务这种简单类型:ZSI.generate.Wsdl2PythonError:不支持本地的simpleType限制
<xsd:element name="card_number" maxOccurs="1"
minOccurs="1">
<xsd:simpleType>
<xsd:restriction base="tns:PanType">
<xsd:pattern value="\d{16}"></xsd:pattern>
<xsd:whiteSpace value="collapse"></xsd:whiteSpace>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
但磨片我启动wsdl2py -b filename.wsdl我得到这个错误:
ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction: <schema targetNamespace="https://xxxxx.yyyyy.zz/sss/"><complexType name="PaymentReq"><sequence><element name="card_number"><simpleType>
我该如何解决这个问题?我试图从simpleType更改为compleType和wsdl2py生成没有问题的Python代码。这样我就不能在我的python对象中使用card_number。
感谢您的帮助。
答
我不确定这是否仍然如此,但谷歌表示,ZSI不支持用户定义的限制库的simpleTypes。
如果这仍是如此,那么你可以修改“CARD_NUMBER”的限制,以卸下底座和更新的simpleType限制性内限制刻面,以反映该基地将已提供。
如果您发布限制方面的内容PanType
,我们可以告诉您这将是什么。
感谢您的回复!如果我通过这个改变了这一行 ,但它改变了数据类型。 我不知道Pantype的内容,因为它停留在外部服务器上:xmlns:tns =“https://xxx.yyy.it/sss/” 如何修改上述元素? 谢谢。 –
diegor
2010-03-16 10:27:10
你应该能够解决'PanType',它是不是由'location'定义引用? – MattH 2010-03-16 10:44:18
Nop!我在wsdl文件上看到的位置是“服务”标签的位置。这个wsdl由银行提供,我问他们PanType的定义。我对他们的积极回应没有信心。 : - | – diegor 2010-03-16 10:51:53