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,我们可以告诉您这将是什么。

+0

感谢您的回复!如果我通过这个改变了这一行 ,但它改变了数据类型。 我不知道Pantype的内容,因为它停留在外部服务器上:xmlns:tns =“https://xxx.yyy.it/sss/” 如何修改上述元素? 谢谢。 – diegor 2010-03-16 10:27:10

+0

你应该能够解决'PanType',它是不是由'location'定义引用? – MattH 2010-03-16 10:44:18

+0

Nop!我在wsdl文件上看到的位置是“服务”标签的位置。这个wsdl由银行提供,我问他们PanType的定义。我对他们的积极回应没有信心。 : - | – diegor 2010-03-16 10:51:53