<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:faults="http://www.telefonica.com/wsdl/UNICA/SOAP/common/v2/faults"
           xmlns:tns="http://schemas.xmlsoap.org/soap/envelope/"
           targetNamespace="http://schemas.xmlsoap.org/soap/envelope/" >

    <xs:import schemaLocation="UNICA_API_Errors_soap_v2_faults.xsd" namespace="http://www.telefonica.com/wsdl/UNICA/SOAP/common/v2/faults"/>

    <!-- Envelope, header and body -->
    <xs:element name="Envelope" type="tns:Envelope" />
    <xs:complexType name="Envelope" >
        <xs:sequence>
            <xs:element ref="tns:Header" minOccurs="0" />
            <xs:element ref="tns:Body" minOccurs="1" />
            <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="lax" />
        </xs:sequence>
        <xs:anyAttribute namespace="##other" processContents="lax" />
    </xs:complexType>

    <xs:element name="Header" type="tns:Header" />
    <xs:complexType name="Header" >
        <xs:sequence>
            <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="lax" />
        </xs:sequence>
        <xs:anyAttribute namespace="##other" processContents="lax" />
    </xs:complexType>

    <xs:element name="Body" type="tns:Body" />
    <xs:complexType name="Body" >
        <xs:sequence>
            <xs:element ref="tns:Fault" />
        </xs:sequence>
    </xs:complexType>

    <xs:element name="Fault" type="tns:Fault" />
    <xs:complexType name="Fault" final="extension" >
        <xs:annotation>
            <xs:documentation>
                Fault reporting structure
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element name="faultcode" type="xs:QName" />
            <xs:element name="faultstring" type="xs:string" />
            <xs:element name="faultactor" type="xs:anyURI" minOccurs="0" />
            <xs:element name="detail" type="tns:detail" />
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="detail">
        <xs:choice>
            <xs:element ref="faults:ServerException" />
            <xs:element ref="faults:ClientException" />
        </xs:choice>
    </xs:complexType>

</xs:schema>
