<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://tempuri.org/" xmlns:s1="http://microsoft.com/wsdl/types/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/">
      <s:import namespace="http://microsoft.com/wsdl/types/" />
      <s:element name="CancelaCFDI">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="Usuario" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="RFCEmisor" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="RFCReceptor" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Total" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="ListaUUIDs" type="tns:ArrayOfString" />
            <s:element minOccurs="0" maxOccurs="1" name="pfxBase64" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="pfxPassword" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfString">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="CancelaCFDIResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="CancelaCFDIResult" type="tns:RespuestaCancelaCFDI" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="RespuestaCancelaCFDI">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="CodEstatus" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="Fecha" type="s:dateTime" />
          <s:element minOccurs="0" maxOccurs="1" name="RfcEmisor" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Folios" type="tns:ArrayOfRespuestaCancelaCFDIFolio" />
          <s:element minOccurs="0" maxOccurs="1" name="AcuseXML" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfRespuestaCancelaCFDIFolio">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="RespuestaCancelaCFDIFolio" nillable="true" type="tns:RespuestaCancelaCFDIFolio" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="RespuestaCancelaCFDIFolio">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="UUID" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="EstatusUUID" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="CodigoEstatus" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="EsCancelable" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Estado" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="EstatusCancelacion" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="TestCancelaCFDI">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="Usuario" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="RFCEmisor" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="RFCReceptor" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Total" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="ListaUUIDs" type="tns:ArrayOfString" />
            <s:element minOccurs="0" maxOccurs="1" name="pfxBase64" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="pfxPassword" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="TestCancelaCFDIResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="TestCancelaCFDIResult" type="tns:RespuestaCancelaCFDI" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="CancelaCFDIv4">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="nombreUsuario" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="contrasena" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="rfcEmisor" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="ListaUUIDsCancelar" type="tns:ArrayOfUUIDaCancelar" />
            <s:element minOccurs="0" maxOccurs="1" name="pfxBase64" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="contrasenaPfx" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfUUIDaCancelar">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="UUIDaCancelar" nillable="true" type="tns:UUIDaCancelar" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="UUIDaCancelar">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="UUID" type="s1:guid" />
          <s:element minOccurs="0" maxOccurs="1" name="MotivoCancelacion" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="FolioSustitucion" nillable="true" type="s1:guid" />
        </s:sequence>
      </s:complexType>
      <s:element name="CancelaCFDIv4Response">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="CancelaCFDIv4Result" type="tns:IOAcuseCancelacion" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="IOAcuseCancelacion">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="XmlAcuse" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="ComprobantesCancelado" type="tns:ArrayOfComprobanteCancelado" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ArrayOfComprobanteCancelado">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="ComprobanteCancelado" nillable="true" type="tns:ComprobanteCancelado" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="ComprobanteCancelado">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="UUID" type="s1:guid" />
          <s:element minOccurs="1" maxOccurs="1" name="Cancelado" type="tns:EnumCancelado" />
        </s:sequence>
      </s:complexType>
      <s:simpleType name="EnumCancelado">
        <s:restriction base="s:string">
          <s:enumeration value="NoValido" />
          <s:enumeration value="Cancelado" />
          <s:enumeration value="PreviamenteCancelado" />
          <s:enumeration value="NoCorrespondeAlEmisor" />
          <s:enumeration value="NoAplicableParaCancelacion" />
          <s:enumeration value="UUIDNoExiste" />
          <s:enumeration value="NoIdentificado206" />
          <s:enumeration value="NoIdentificado207" />
          <s:enumeration value="NoIdentificado208" />
          <s:enumeration value="NoIdentificado209" />
          <s:enumeration value="NoIdentificado210" />
          <s:enumeration value="NoVerificado" />
          <s:enumeration value="UsuarioNoExiste" />
          <s:enumeration value="NoCumpleConEstandarXSD" />
          <s:enumeration value="SelloDelEmisorInvalido" />
          <s:enumeration value="CSDEmisorNoCorrespondeRFC" />
          <s:enumeration value="CSDEmisorRevocado" />
          <s:enumeration value="FechaEmisionFueraDeVigencia" />
          <s:enumeration value="CSDesFIEL" />
          <s:enumeration value="TimbrePrevio" />
          <s:enumeration value="CSDNoValidoPorSAT" />
          <s:enumeration value="FechaMayor72Horas" />
          <s:enumeration value="RFCSinValidesDeObligacion" />
          <s:enumeration value="FechaInferiorAEnero" />
          <s:enumeration value="RetencionCancelado" />
          <s:enumeration value="RetencionPreviamenteCancelado" />
          <s:enumeration value="RetencionNoCorrespondeEmisor" />
          <s:enumeration value="RetencionNoExiste" />
        </s:restriction>
      </s:simpleType>
      <s:element name="TestCancelaCFDIv4">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="nombreUsuario" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="contrasena" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="rfcEmisor" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="ListaUUIDsCancelar" type="tns:ArrayOfUUIDaCancelar" />
            <s:element minOccurs="0" maxOccurs="1" name="pfxBase64" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="contrasenaPfx" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="TestCancelaCFDIv4Response">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="TestCancelaCFDIv4Result" type="tns:IOAcuseCancelacion" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="CancelaCFDIConsultaSAT">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="Usuario" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="RFCEmisor" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="RFCReceptor" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Total" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="UUID" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="MotivoCancelacion" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="FolioSustitucion" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="pfxBase64" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="pfxPassword" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="CancelaCFDIConsultaSATResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="CancelaCFDIConsultaSATResult" type="tns:RespuestaCancelaCFDI" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="TestCancelaCFDIConsultaSAT">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="Usuario" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="RFCEmisor" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="RFCReceptor" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="Total" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="UUID" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="MotivoCancelacion" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="FolioSustitucion" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="pfxBase64" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="pfxPassword" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="TestCancelaCFDIConsultaSATResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="TestCancelaCFDIConsultaSATResult" type="tns:RespuestaCancelaCFDI" />
          </s:sequence>
        </s:complexType>
      </s:element>
    </s:schema>
    <s:schema elementFormDefault="qualified" targetNamespace="http://microsoft.com/wsdl/types/">
      <s:simpleType name="guid">
        <s:restriction base="s:string">
          <s:pattern value="[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" />
        </s:restriction>
      </s:simpleType>
    </s:schema>
  </wsdl:types>
  <wsdl:message name="CancelaCFDISoapIn">
    <wsdl:part name="parameters" element="tns:CancelaCFDI" />
  </wsdl:message>
  <wsdl:message name="CancelaCFDISoapOut">
    <wsdl:part name="parameters" element="tns:CancelaCFDIResponse" />
  </wsdl:message>
  <wsdl:message name="TestCancelaCFDISoapIn">
    <wsdl:part name="parameters" element="tns:TestCancelaCFDI" />
  </wsdl:message>
  <wsdl:message name="TestCancelaCFDISoapOut">
    <wsdl:part name="parameters" element="tns:TestCancelaCFDIResponse" />
  </wsdl:message>
  <wsdl:message name="CancelaCFDIv4SoapIn">
    <wsdl:part name="parameters" element="tns:CancelaCFDIv4" />
  </wsdl:message>
  <wsdl:message name="CancelaCFDIv4SoapOut">
    <wsdl:part name="parameters" element="tns:CancelaCFDIv4Response" />
  </wsdl:message>
  <wsdl:message name="TestCancelaCFDIv4SoapIn">
    <wsdl:part name="parameters" element="tns:TestCancelaCFDIv4" />
  </wsdl:message>
  <wsdl:message name="TestCancelaCFDIv4SoapOut">
    <wsdl:part name="parameters" element="tns:TestCancelaCFDIv4Response" />
  </wsdl:message>
  <wsdl:message name="CancelaCFDIConsultaSATSoapIn">
    <wsdl:part name="parameters" element="tns:CancelaCFDIConsultaSAT" />
  </wsdl:message>
  <wsdl:message name="CancelaCFDIConsultaSATSoapOut">
    <wsdl:part name="parameters" element="tns:CancelaCFDIConsultaSATResponse" />
  </wsdl:message>
  <wsdl:message name="TestCancelaCFDIConsultaSATSoapIn">
    <wsdl:part name="parameters" element="tns:TestCancelaCFDIConsultaSAT" />
  </wsdl:message>
  <wsdl:message name="TestCancelaCFDIConsultaSATSoapOut">
    <wsdl:part name="parameters" element="tns:TestCancelaCFDIConsultaSATResponse" />
  </wsdl:message>
  <wsdl:portType name="CancelacionSoap">
    <wsdl:operation name="CancelaCFDI">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Solicita la cancelación de un CFDI utilizando un archivo tipo PFX (.cer + llave privada) y su contraseña.</wsdl:documentation>
      <wsdl:input message="tns:CancelaCFDISoapIn" />
      <wsdl:output message="tns:CancelaCFDISoapOut" />
    </wsdl:operation>
    <wsdl:operation name="TestCancelaCFDI">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Simula la solicitud de cancelación de un CFDI utilizando un archivo tipo PFX (.cer + llave privada) y su contraseña.</wsdl:documentation>
      <wsdl:input message="tns:TestCancelaCFDISoapIn" />
      <wsdl:output message="tns:TestCancelaCFDISoapOut" />
    </wsdl:operation>
    <wsdl:operation name="CancelaCFDIv4">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Metodo CancelaCFDIv4: Cancela un o una lista de CFDI interno o foraneo (otros PACs) utilizando un archivo .pfx (cer + llave privada) y la contrasena.</wsdl:documentation>
      <wsdl:input message="tns:CancelaCFDIv4SoapIn" />
      <wsdl:output message="tns:CancelaCFDIv4SoapOut" />
    </wsdl:operation>
    <wsdl:operation name="TestCancelaCFDIv4">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Metodo TestCancelaCFDIv4: Simula la cancelacion de un o una lista de CFDI interno o foraneo (otros PACs) utilizando un archivo .pfx (cer + llave privada) y la contrasena.</wsdl:documentation>
      <wsdl:input message="tns:TestCancelaCFDIv4SoapIn" />
      <wsdl:output message="tns:TestCancelaCFDIv4SoapOut" />
    </wsdl:operation>
    <wsdl:operation name="CancelaCFDIConsultaSAT">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Solicita la cancelación de un CFDI utilizando un archivo tipo PFX (.cer + llave privada) y su contraseña y consulta el estado de cancelación en SAT</wsdl:documentation>
      <wsdl:input message="tns:CancelaCFDIConsultaSATSoapIn" />
      <wsdl:output message="tns:CancelaCFDIConsultaSATSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="TestCancelaCFDIConsultaSAT">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Simula la solicitud de cancelación de un CFDI utilizando un archivo tipo PFX (.cer + llave privada) y su contraseña </wsdl:documentation>
      <wsdl:input message="tns:TestCancelaCFDIConsultaSATSoapIn" />
      <wsdl:output message="tns:TestCancelaCFDIConsultaSATSoapOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="CancelacionSoap" type="tns:CancelacionSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="CancelaCFDI">
      <soap:operation soapAction="http://tempuri.org/CancelaCFDI" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="TestCancelaCFDI">
      <soap:operation soapAction="http://tempuri.org/TestCancelaCFDI" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="CancelaCFDIv4">
      <soap:operation soapAction="http://tempuri.org/CancelaCFDIv4" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="TestCancelaCFDIv4">
      <soap:operation soapAction="http://tempuri.org/TestCancelaCFDIv4" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="CancelaCFDIConsultaSAT">
      <soap:operation soapAction="http://tempuri.org/CancelaCFDIConsultaSAT" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="TestCancelaCFDIConsultaSAT">
      <soap:operation soapAction="http://tempuri.org/TestCancelaCFDIConsultaSAT" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="CancelacionSoap12" type="tns:CancelacionSoap">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="CancelaCFDI">
      <soap12:operation soapAction="http://tempuri.org/CancelaCFDI" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="TestCancelaCFDI">
      <soap12:operation soapAction="http://tempuri.org/TestCancelaCFDI" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="CancelaCFDIv4">
      <soap12:operation soapAction="http://tempuri.org/CancelaCFDIv4" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="TestCancelaCFDIv4">
      <soap12:operation soapAction="http://tempuri.org/TestCancelaCFDIv4" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="CancelaCFDIConsultaSAT">
      <soap12:operation soapAction="http://tempuri.org/CancelaCFDIConsultaSAT" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="TestCancelaCFDIConsultaSAT">
      <soap12:operation soapAction="http://tempuri.org/TestCancelaCFDIConsultaSAT" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="Cancelacion">
    <wsdl:port name="CancelacionSoap" binding="tns:CancelacionSoap">
      <soap:address location="https://invoiceone.mx/TimbreCfdi/Cancelacion.asmx" />
    </wsdl:port>
    <wsdl:port name="CancelacionSoap12" binding="tns:CancelacionSoap12">
      <soap12:address location="https://invoiceone.mx/TimbreCfdi/Cancelacion.asmx" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>