SOAP WSDL Generate Code

sfRequerimiento / RegFactuSistemaFacturacion

ASP AutoIt C C (Unicode) C++ C++ (Unicode) C# DataFlex Delphi Foxpro Go Java Node.js Objective-C Perl PHP Extension PowerBuilder Powershell PureBasic Python CkPython Ruby SQL Server Swift TCL VB.NET VB6 VBScript Xojo
IncludeFile "CkHttp.pb"
IncludeFile "CkHttpResponse.pb"
IncludeFile "CkXml.pb"

Procedure ChilkatExample()

    xml.i = CkXml::ckCreate()
    If xml.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkXml::setCkTag(xml, "soapenv:Envelope")
    CkXml::ckAddAttribute(xml,"xmlns:soapenv","http://schemas.xmlsoap.org/soap/envelope/")
    CkXml::ckAddAttribute(xml,"xmlns:sfLR","https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd")
    CkXml::ckAddAttribute(xml,"xmlns:sf","https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd")
    CkXml::ckUpdateChildContent(xml,"soapenv:Header","")
    CkXml::ckUpdateChildContent(xml,"soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:Cabecera|sf:ObligadoEmision|sf:NombreRazon","string")
    CkXml::ckUpdateChildContent(xml,"soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:Cabecera|sf:ObligadoEmision|sf:NIF","string")
    CkXml::ckUpdateChildContent(xml,"soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:IDVersion","1.0")
    CkXml::ckUpdateChildContent(xml,"soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:IDFactura|sf:IDEmisorFactura","string")
    CkXml::ckUpdateChildContent(xml,"soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:IDFactura|sf:NumSerieFactura","string")
    CkXml::ckUpdateChildContent(xml,"soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:IDFactura|sf:FechaExpedicionFactura","string")
    CkXml::ckUpdateChildContent(xml,"soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:NombreRazonEmisor","string")
    CkXml::ckUpdateChildContent(xml,"soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:TipoFactura","F1")
    CkXml::ckUpdateChildContent(xml,"soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:DescripcionOperacion","string")
    CkXml::ckUpdateChildContent(xml,"soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:Desglose|sf:DetalleDesglose|sf:CalificacionOperacion","S1")
    CkXml::ckUpdateChildContent(xml,"soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:Desglose|sf:DetalleDesglose|sf:BaseImponibleOimporteNoSujeto","string")
    CkXml::ckUpdateChildContent(xml,"soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:CuotaTotal","string")
    CkXml::ckUpdateChildContent(xml,"soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:ImporteTotal","string")
    CkXml::ckUpdateChildContent(xml,"soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:Encadenamiento","")
    CkXml::ckUpdateChildContent(xml,"soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:SistemaInformatico|sf:NombreRazon","string")
    CkXml::ckUpdateChildContent(xml,"soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:SistemaInformatico|sf:NIF","string")
    CkXml::ckUpdateChildContent(xml,"soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:SistemaInformatico|sf:NombreSistemaInformatico","string")
    CkXml::ckUpdateChildContent(xml,"soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:SistemaInformatico|sf:IdSistemaInformatico","string")
    CkXml::ckUpdateChildContent(xml,"soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:SistemaInformatico|sf:Version","string")
    CkXml::ckUpdateChildContent(xml,"soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:SistemaInformatico|sf:NumeroInstalacion","string")
    CkXml::ckUpdateChildContent(xml,"soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:SistemaInformatico|sf:TipoUsoPosibleSoloVerifactu","S")
    CkXml::ckUpdateChildContent(xml,"soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:SistemaInformatico|sf:TipoUsoPosibleMultiOT","S")
    CkXml::ckUpdateChildContent(xml,"soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:SistemaInformatico|sf:IndicadorMultiplesOT","S")
    CkXml::ckUpdateChildContent(xml,"soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:FechaHoraHusoGenRegistro","dateTime")
    CkXml::ckUpdateChildContentInt(xml,"soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:TipoHuella",01)
    CkXml::ckUpdateChildContent(xml,"soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:Huella","string")

    ; In a SOAP HTTP request, including the XML declaration (<?xml version="1.0" encoding="UTF-8"?>) in the XML body is generally not required. 
    CkXml::setCkEmitXmlDecl(xml, 0)
    soapRequestBody.s = CkXml::ckGetXml(xml)

    endpoint.s = "https://www1.agenciatributaria.gob.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/RequerimientoSOAP"
    soapAction.s = ""
    ;  For SOAP requests, the standard Content-Type is usually set to "text/xml" or "application/soap+xml"
    contentType.s = "text/xml"

    http.i = CkHttp::ckCreate()
    If http.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkHttp::ckClearHeaders(http)
    CkHttp::ckSetRequestHeader(http,"Content-Type",contentType)
    CkHttp::ckSetRequestHeader(http,"SOAPAction",soapAction)

    resp.i = CkHttpResponse::ckCreate()
    If resp.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

ERROR: Undefined variable(success)

ERROR: Undefined variable(success)
    If success = 0
        Debug CkHttp::ckLastErrorText(http)
        Debug "Failed to send SOAP request."
        CkXml::ckDispose(xml)
        CkHttp::ckDispose(http)
        CkHttpResponse::ckDispose(resp)
        ProcedureReturn
    EndIf

    ; Get the XML response body.
    responseXml.i = CkXml::ckCreate()
    If responseXml.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkHttpResponse::ckGetBodyXml(resp,responseXml)

    statusCode.i = CkHttpResponse::ckStatusCode(resp)
    Debug "response status code: " + Str(statusCode)

    ; If the status code does not indicate succcess, then show the response XML,
    ; which probably contains error information.
    If statusCode <> 200
        Debug CkXml::ckGetXml(responseXml)
        CkXml::ckDispose(xml)
        CkHttp::ckDispose(http)
        CkHttpResponse::ckDispose(resp)
        CkXml::ckDispose(responseXml)
        ProcedureReturn
    EndIf

    Debug CkXml::ckGetXml(responseXml)

    ; Parse the successful SOAP response XML.

    ; This is a sample of the response XML, but the namespace prefixes will be different.
    ; We can parse the result using "*" for the namespace prefixes (see below).

    NombreRazon.s = CkXml::ckGetChildContent(responseXml,"*:Body|*:RespuestaRegFactuSistemaFacturacion|*:Cabecera|*:ObligadoEmision|*:NombreRazon")
    NIF.s = CkXml::ckGetChildContent(responseXml,"*:Body|*:RespuestaRegFactuSistemaFacturacion|*:Cabecera|*:ObligadoEmision|*:NIF")
    TiempoEsperaEnvio.s = CkXml::ckGetChildContent(responseXml,"*:Body|*:RespuestaRegFactuSistemaFacturacion|*:TiempoEsperaEnvio")
    EstadoEnvio.s = CkXml::ckGetChildContent(responseXml,"*:Body|*:RespuestaRegFactuSistemaFacturacion|*:EstadoEnvio")


    CkXml::ckDispose(xml)
    CkHttp::ckDispose(http)
    CkHttpResponse::ckDispose(resp)
    CkXml::ckDispose(responseXml)


    ProcedureReturn
EndProcedure
Request XML
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sfLR="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd" xmlns:sf="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
    <soapenv:Header/>
    <soapenv:Body>
        <sfLR:RegFactuSistemaFacturacion>
            <sfLR:Cabecera>
                <sf:ObligadoEmision>
                    <sf:NombreRazon>string</sf:NombreRazon>
                    <sf:NIF>string</sf:NIF>
                </sf:ObligadoEmision>
            </sfLR:Cabecera>
            <sfLR:RegistroFactura>
                <sf:RegistroAlta>
                    <sf:IDVersion>1.0</sf:IDVersion>
                    <sf:IDFactura>
                        <sf:IDEmisorFactura>string</sf:IDEmisorFactura>
                        <sf:NumSerieFactura>string</sf:NumSerieFactura>
                        <sf:FechaExpedicionFactura>string</sf:FechaExpedicionFactura>
                    </sf:IDFactura>
                    <sf:NombreRazonEmisor>string</sf:NombreRazonEmisor>
                    <sf:TipoFactura>F1</sf:TipoFactura>
                    <sf:DescripcionOperacion>string</sf:DescripcionOperacion>
                    <sf:Desglose>
                        <sf:DetalleDesglose>
                            <sf:CalificacionOperacion>S1</sf:CalificacionOperacion>
                            <sf:BaseImponibleOimporteNoSujeto>string</sf:BaseImponibleOimporteNoSujeto>
                        </sf:DetalleDesglose>
                    </sf:Desglose>
                    <sf:CuotaTotal>string</sf:CuotaTotal>
                    <sf:ImporteTotal>string</sf:ImporteTotal>
                    <sf:Encadenamiento/>
                    <sf:SistemaInformatico>
                        <sf:NombreRazon>string</sf:NombreRazon>
                        <sf:NIF>string</sf:NIF>
                        <sf:NombreSistemaInformatico>string</sf:NombreSistemaInformatico>
                        <sf:IdSistemaInformatico>string</sf:IdSistemaInformatico>
                        <sf:Version>string</sf:Version>
                        <sf:NumeroInstalacion>string</sf:NumeroInstalacion>
                        <sf:TipoUsoPosibleSoloVerifactu>S</sf:TipoUsoPosibleSoloVerifactu>
                        <sf:TipoUsoPosibleMultiOT>S</sf:TipoUsoPosibleMultiOT>
                        <sf:IndicadorMultiplesOT>S</sf:IndicadorMultiplesOT>
                    </sf:SistemaInformatico>
                    <sf:FechaHoraHusoGenRegistro>dateTime</sf:FechaHoraHusoGenRegistro>
                    <sf:TipoHuella>01</sf:TipoHuella>
                    <sf:Huella>string</sf:Huella>
                </sf:RegistroAlta>
            </sfLR:RegistroFactura>
        </sfLR:RegFactuSistemaFacturacion>
    </soapenv:Body>
</soapenv:Envelope>
Response XML
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sfR="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/RespuestaSuministro.xsd" xmlns:sf="https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd">
    <soapenv:Header/>
    <soapenv:Body>
        <sfR:RespuestaRegFactuSistemaFacturacion>
            <sfR:Cabecera>
                <sf:ObligadoEmision>
                    <sf:NombreRazon>string</sf:NombreRazon>
                    <sf:NIF>string</sf:NIF>
                </sf:ObligadoEmision>
            </sfR:Cabecera>
            <sfR:TiempoEsperaEnvio>string</sfR:TiempoEsperaEnvio>
            <sfR:EstadoEnvio>Correcto</sfR:EstadoEnvio>
        </sfR:RespuestaRegFactuSistemaFacturacion>
    </soapenv:Body>
</soapenv:Envelope>