WsdlConsumer
in package
Clase para consumir los servicios web SOAP del SII.
Table of Contents
Properties
- $certificate : Certificate
- Certificado digital.
- $config : ConnectionConfig
- Configuración de la conexión al SII.
Methods
- __construct() : mixed
- Constructor de la clase que consume servicios web mediante WSDL del SII.
- getSeed() : int
- Obtiene una semilla desde el SII para luego usarla en la obtención del token para la autenticación.
- getToken() : string
- Método para obtener el token de la sesión en el SII.
- getWsdlUri() : string
- Método para obtener el XML del WSDL (Web Services Description Language) del servicio del SII que se desea consumir.
- sendRequest() : XmlDocument
- Realiza una solicitud a un servicio web del SII mediante el uso de WSDL.
- callServiceFunction() : XmlDocument
- Ejecuta una función en un servicio web del SII mediante el uso de WSDL.
- createSoapClientOptions() : array<string|int, mixed>
- Define las opciones para consumir el servicio web del SII mediante SOAP.
Properties
$certificate
Certificado digital.
private
Certificate
$certificate
$config
Configuración de la conexión al SII.
private
ConnectionConfig
$config
Methods
__construct()
Constructor de la clase que consume servicios web mediante WSDL del SII.
public
__construct(Certificate $certificate, ConnectionConfig $config) : mixed
Parameters
- $certificate : Certificate
- $config : ConnectionConfig
getSeed()
Obtiene una semilla desde el SII para luego usarla en la obtención del token para la autenticación.
public
getSeed() : int
Este es el único servicio web que se puede llamar sin utilizar el certificado digital. Es de libre consumo y se usa para obtener la semilla necesaria para luego, usando el certificado, obtener un token válido para la sesión en el SII.
Nota: la semilla tiene una validez de 2 minutos.
WSDL producción: https://palena.sii.cl/DTEWS/CrSeed.jws?WSDL WSDL certificación: https://maullin.sii.cl/DTEWS/CrSeed.jws?WSDL
Tags
Return values
int —La semilla si se logró obtener.
getToken()
Método para obtener el token de la sesión en el SII.
public
getToken() : string
Primero se obtiene una semilla, luego se firma la semilla con el certificado digital y con esta semilla firmada se hace la solicitud del token al SII.
Referencia: http://www.sii.cl/factura_electronica/autenticacion.pdf
WSDL producción: https://palena.sii.cl/DTEWS/GetTokenFromSeed.jws?WSDL WSDL certificación: https://maullin.sii.cl/DTEWS/GetTokenFromSeed.jws?WSDL
Tags
Return values
string —Token para autenticación en SII.
getWsdlUri()
Método para obtener el XML del WSDL (Web Services Description Language) del servicio del SII que se desea consumir.
public
getWsdlUri(string $servicio) : string
Parameters
- $servicio : string
-
Servicio para el cual se desea obtener su WSDL.
Return values
string —Ubicación del WSDL del servicio según el ambiente que esté configurado. Entrega, normalmente, un archivo local para un WSDL del ambiente de certificación y siempre una URL para un WSDL del ambiente de producción.
sendRequest()
Realiza una solicitud a un servicio web del SII mediante el uso de WSDL.
public
sendRequest(string $service, string $function[, array<string|int, mixed>|int $args = [] ][, int|null $retry = null ]) : XmlDocument
Este método prepara y normaliza los datos recibidos y llama al método que realmente hace la consulta al SII: callServiceFunction().
Parameters
- $service : string
-
Nombre del servicio del SII que se consumirá.
- $function : string
-
Nombre de la función que se ejecutará en el servicio web del SII.
- $args : array<string|int, mixed>|int = []
-
Argumentos que se pasarán al servicio web.
- $retry : int|null = null
-
Intentos que se realizarán como máximo para obtener respuesta.
Tags
Return values
XmlDocument —Documento XML con la respuesta del servicio web.
callServiceFunction()
Ejecuta una función en un servicio web del SII mediante el uso de WSDL.
private
callServiceFunction(string $wsdl, string $function, array<string|int, mixed> $args, int $retry) : XmlDocument
Parameters
- $wsdl : string
-
El WSDL del servicio web donde está la función.
- $function : string
-
Nombre de la función que se ejecutará,
- $args : array<string|int, mixed>
-
Argumentos que se pasarán al servicio web.
- $retry : int
-
Intentos que se realizarán como máximo.
Tags
Return values
XmlDocument —Documento XML con la respuesta del servicio web.
createSoapClientOptions()
Define las opciones para consumir el servicio web del SII mediante SOAP.
private
createSoapClientOptions() : array<string|int, mixed>
Return values
array<string|int, mixed> —Arreglo con las opciones para SoapClient.