<?phpinclude("chilkat.php");
$xml = newCkXml();
$xml->put_Tag('soapenv:Envelope');
$xml->AddAttribute('xmlns:soapenv','http://schemas.xmlsoap.org/soap/envelope/');
$xml->AddAttribute('xmlns:sfLR','https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroLR.xsd');
$xml->AddAttribute('xmlns:sf','https://www2.agenciatributaria.gob.es/static_files/common/internet/dep/aplicaciones/es/aeat/tike/cont/ws/SuministroInformacion.xsd');
$xml->UpdateChildContent('soapenv:Header','');
$xml->UpdateChildContent('soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:Cabecera|sf:ObligadoEmision|sf:NombreRazon','string');
$xml->UpdateChildContent('soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:Cabecera|sf:ObligadoEmision|sf:NIF','string');
$xml->UpdateChildContent('soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:IDVersion','1.0');
$xml->UpdateChildContent('soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:IDFactura|sf:IDEmisorFactura','string');
$xml->UpdateChildContent('soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:IDFactura|sf:NumSerieFactura','string');
$xml->UpdateChildContent('soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:IDFactura|sf:FechaExpedicionFactura','string');
$xml->UpdateChildContent('soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:NombreRazonEmisor','string');
$xml->UpdateChildContent('soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:TipoFactura','F1');
$xml->UpdateChildContent('soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:DescripcionOperacion','string');
$xml->UpdateChildContent('soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:Desglose|sf:DetalleDesglose|sf:CalificacionOperacion','S1');
$xml->UpdateChildContent('soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:Desglose|sf:DetalleDesglose|sf:BaseImponibleOimporteNoSujeto','string');
$xml->UpdateChildContent('soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:CuotaTotal','string');
$xml->UpdateChildContent('soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:ImporteTotal','string');
$xml->UpdateChildContent('soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:Encadenamiento','');
$xml->UpdateChildContent('soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:SistemaInformatico|sf:NombreRazon','string');
$xml->UpdateChildContent('soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:SistemaInformatico|sf:NIF','string');
$xml->UpdateChildContent('soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:SistemaInformatico|sf:NombreSistemaInformatico','string');
$xml->UpdateChildContent('soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:SistemaInformatico|sf:IdSistemaInformatico','string');
$xml->UpdateChildContent('soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:SistemaInformatico|sf:Version','string');
$xml->UpdateChildContent('soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:SistemaInformatico|sf:NumeroInstalacion','string');
$xml->UpdateChildContent('soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:SistemaInformatico|sf:TipoUsoPosibleSoloVerifactu','S');
$xml->UpdateChildContent('soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:SistemaInformatico|sf:TipoUsoPosibleMultiOT','S');
$xml->UpdateChildContent('soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:SistemaInformatico|sf:IndicadorMultiplesOT','S');
$xml->UpdateChildContent('soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:FechaHoraHusoGenRegistro','dateTime');
$xml->UpdateChildContentInt('soapenv:Body|sfLR:RegFactuSistemaFacturacion|sfLR:RegistroFactura|sf:RegistroAlta|sf:TipoHuella',01);
$xml->UpdateChildContent('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.
$xml->put_EmitXmlDecl(false);
$soapRequestBody = $xml->getXml();
$endpoint = 'https://www1.agenciatributaria.gob.es/wlpl/TIKE-CONT/ws/SistemaFacturacion/RequerimientoSOAP';
$soapAction = '';
// For SOAP requests, the standard Content-Type is usually set to "text/xml" or "application/soap+xml"
$contentType = 'text/xml';
$http = newCkHttp();
$http->ClearHeaders();
$http->SetRequestHeader('Content-Type',$contentType);
$http->SetRequestHeader('SOAPAction',$soapAction);
$resp = newCkHttpResponse();
ERROR: Undefined variable(success)
ERROR: Undefined variable(success)
if ($success == false) {
print $http->lastErrorText() . "\n";
print'Failed to send SOAP request.' . "\n";
exit;
}
// Get the XML response body.
$responseXml = newCkXml();
$resp->GetBodyXml($responseXml);
$statusCode = $resp->get_StatusCode();
print'response status code: ' . $statusCode . "\n";
// If the status code does not indicate succcess, then show the response XML,
// which probably contains error information.if ($statusCode != 200) {
print $responseXml->getXml() . "\n";
exit;
}
print $responseXml->getXml() . "\n";
// 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 = $responseXml->getChildContent('*:Body|*:RespuestaRegFactuSistemaFacturacion|*:Cabecera|*:ObligadoEmision|*:NombreRazon');
$NIF = $responseXml->getChildContent('*:Body|*:RespuestaRegFactuSistemaFacturacion|*:Cabecera|*:ObligadoEmision|*:NIF');
$TiempoEsperaEnvio = $responseXml->getChildContent('*:Body|*:RespuestaRegFactuSistemaFacturacion|*:TiempoEsperaEnvio');
$EstadoEnvio = $responseXml->getChildContent('*:Body|*:RespuestaRegFactuSistemaFacturacion|*:EstadoEnvio');
?>