Xml 在SoapUI中导入WSDL,扩展中引用simpletype
我正在SoapUI中导入WSDL,并出现以下错误: 错误:找不到类型“MonthType”。你的意思是指 类型命名 MonthType@http://www.sainsburys.co.uk/eai/canonical/types/v1.0(在 sendPaymentOverride_v0.2.wsdl) 我有一个ComplexType类型的元素,它引用SimpleType作为扩展。SoapUI似乎不喜欢这个…你知道我该怎么处理吗?我认为WSDL是有效的 感谢所有能给我的帮助Xml 在SoapUI中导入WSDL,扩展中引用simpletype,xml,import,wsdl,soapui,Xml,Import,Wsdl,Soapui,我正在SoapUI中导入WSDL,并出现以下错误: 错误:找不到类型“MonthType”。你的意思是指 类型命名 MonthType@http://www.sainsburys.co.uk/eai/canonical/types/v1.0(在 sendPaymentOverride_v0.2.wsdl) 我有一个ComplexType类型的元素,它引用SimpleType作为扩展。SoapUI似乎不喜欢这个…你知道我该怎么处理吗?我认为WSDL是有效的 感谢所有能给我的帮助 <xs:sc
<xs:schema targetNamespace="http://www.sainsburys.co.uk/eai/canonical/types/v1.0" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="PaymentCardOverride">
<xs:complexType id="PaymentCardOverrideType">
<xs:sequence>
<xs:element name="OrderNumber" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="RequestPayment" type="xs:boolean" minOccurs="1" maxOccurs="1"/>
<xs:element name="PurgeSecurePaymentDetails" type="xs:boolean" minOccurs="1" maxOccurs="1"/>
<xs:element name="CardNumber" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="PreserveExistingCard" type="xs:boolean" use="required"/>
<xs:element name="ExpiryMonth" type="ExpiryMonthType" minOccurs="1" maxOccurs="1" nillable="true"/>
<xs:element name="ExpiryYear" type="ExpiryYearType" minOccurs="1" maxOccurs="1"/>
<xs:element name="StoreNumber" type="xs:integer" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:simpleType name="MonthType">
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="12"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base='xs:string'>
<xs:length value='0'/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
<xs:complexType name="ExpiryMonthType">
<xs:simpleContent>
<xs:extension base="MonthType">
<xs:attribute name="PreserveExisting" type="xs:boolean" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:simpleType name="YearType">
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="2015"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base='xs:string'>
<xs:length value='0'/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
<xs:complexType name="ExpiryYearType">
<xs:simpleContent>
<xs:extension base="YearType">
<xs:attribute name="PreserveExisting" type="xs:boolean" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:schema>
这是因为我没有引用正确的名称空间。应该是:
<xs:element name="ExpiryMonth" type="tns2:ExpiryMonthType"
minOccurs="1" maxOccurs="1" nillable="true"/>
及
<xs:complexType name="ExpiryMonthType">
<xs:simpleContent>
<xs:extension base="tns2:MonthType">
<xs:attribute name="PreserveExisting" type="xs:boolean" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>