2016-07-13 15 views
0

ich eine WSDL in SoapUI bin den Import und die folgende Fehlermeldung erhalten:Import von WSDL in SoapUI mit Simple in Erweiterung verwiesen

Fehler: Konnte nicht Typ ‚MonthType‘ gefunden. Beziehen Sie sich auf den Typ namens MonthType @http://www.sainsburys.co.uk/eai/canonical/types/v1.0 (in sendPaymentOverride_v0.2.wsdl)?

Ich habe ein Element vom Typ ComplexType, das einen SimpleType als Erweiterung referenziert. Und SoapUI scheint das nicht zu mögen ... irgendeine Idee, wie ich das umgehen kann? Ich denke, die WSDL ist gültig.

Schätzen Sie alle Hilfe, die ich bekommen kann!

<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> 

Antwort

0

Es ist, weil ich nicht den richtigen Namespace referenzierte. Sollte gewesen:

<xs:element name="ExpiryMonth" type="tns2:ExpiryMonthType" minOccurs="1" maxOccurs="1" nillable="true"/> 

und

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>