Está en la página 1de 161

Documentación servicios Web

ENVIALIANET
VERSION 1.27
VERSION SERVICIO WEB 1.27

ÍNDICE

1. Servicios .................................................................... 4
1.1. Servicio “LoginWSService” .................................................. 4
1.1.1. Métodos: .................................................................................. 4
1.1.2. Descripción y uso de los métodos: ...................................... 4
1.1.2.1. Método Login2 .................................................................................... 4
1.1.2.2. Método LoginCli2 ............................................................................... 6
1.1.2.3. Método LoginCliDep2 ......................................................................... 8
1.1.3. Excepciones .......................................................................... 10
1.2. Servicio “WebServService” ................................................ 12
1.2.1. Métodos: ................................................................................ 12
1.2.2. Descripción y uso de los métodos: .................................... 13
1.2.2.1. Método ConsEnvEstados................................................................. 13
1.2.2.2. Método ConsEnvEstadosRef ........................................................... 16
1.2.2.3. Método ConsRecEstados................................................................. 19
1.2.2.4. Método ConsRecEstadosRef ........................................................... 22
1.2.2.5. Método ConsEnvio2 ......................................................................... 25
1.2.2.6. Método ConsEnviosRef ................................................................... 29
1.2.2.7. Método ConsRecogida ..................................................................... 34
1.2.2.8. Método ConsRecogidasRef ............................................................. 37
1.2.2.9. Método GrabaEnvio8 ........................................................................ 41
1.2.2.10. Método GrabaRecogida3................................................................ 47
1.2.2.11. Método InfEnvios ............................................................................ 52
1.2.2.12. Método ConsEtiquetaEnvio6 ......................................................... 58
1.2.2.13. Método ConsEtiquetaEnvioMasiva ............................................... 61
1.2.2.14. Método ConsEnvIncidencias ......................................................... 62
1.2.2.15. Método ConsEnvIncidenciasRef ................................................... 65
1.2.2.16. Método ConsRecIncidencias ......................................................... 69
1.2.2.17. Método ConsRecIncidenciasRef ................................................... 72
1.2.2.18. Método ConsEnvPODDig2 ............................................................. 75
1.2.2.19. Método ConsEnvPODDigRef ......................................................... 77
1.2.2.20. Método BorraEnvio......................................................................... 80
1.2.2.21. Método InfEnvEstPOD .................................................................... 82
1.2.2.22. Método GrabaRecDestino4 ............................................................ 88
1.2.2.23. Método GrabaRecogeme2 .............................................................. 91
1.2.2.24. Método ConsEnvEstIncRef ............................................................ 96
1.2.2.25. Método ConsRecEstIncRef .......................................................... 100
1.2.2.26. Método ConsEnvEstInc ................................................................ 104
1.2.2.27. Método ConsRecEstInc ................................................................ 107
1.2.2.28. Método ConsEnvEstIncCambioEstado ....................................... 110
1.2.2.29. Método ConsRecEstIncCambioEstado ....................................... 116
1.2.2.30. Método ConsEnvEstIncCambiosEstados ................................... 121
1.2.2.31. Método ConsRecEstIncCambiosEstados ................................... 126
1.2.2.32. Método ConsFirmasEnvios .......................................................... 131
1.2.2.33. Método Logout.............................................................................. 134
1.2.2.34. Método ConsEnvIncActuaciones ................................................ 135
1.2.2.35. Método GrabaEnvIncActuacion ................................................... 139
1.2.2.36. Método ConsEnvTraz ................................................................... 141
1.2.2.37. Método GrabaEnvIncActuacionLibre .......................................... 144
1.2.2.38. Método GrabaRecIncActuacionLibre............................................147
1.2.2.38. Método LeeEnvIncActuacion.........................................................149
1.2.2.39. Método LeeRecIncActuacion.........................................................152
1.2.2.41. Método ConsEtiquetaEnvioEPL....................................................153
1.2.2.42. Método ConsEstadoEnvioMasivo.................................................153
1.2.2.43. Método BorraEnvioMasivo.............................................................154
1.2.2.44. Método GrabaEnvioMasivo............................................................155
1.2.3. Excepciones ........................................................................ 158
Documentación WebServices

1. Servicios

1.1. Servicio “LoginWSService”

Servicio de login para clientes mediante Web services.

1.1.1. Métodos:

El servicio LoginWSService consta de las siguientes funciones/procedimientos:

MÉTODOS. DESCRIPCIÓN
Login2 Permite loguearse como usuario.
LoginCli2 Permite loguearse como cliente.
LoginCliDep2 Permite loguearse como departamento.

1.1.2. Descripción y uso de los métodos:


1.1.2.1.Método Login2

PARÁMETRO E/S TIPO DESCRIPCIÓN


strUsuario Entrada String Código o email del usuario.
strPass Entrada String Contraseña del usuario.
strCod Salida String Código del usuario.
strNom Salida String Nombre del usuario.
strCodAge Salida String Código de agencia del usuario.
strCodCR Salida String Código del centro regional del usuario.
strTipo Salida String Tipo de usuario.
strVersion Salida String Versión del programa.
strError Salida String Error devuelto en el login.
strSesion Salida String ID de la sesión.
strURLDetSegEnv Salida String URL del detalle de seguimiento de envíos.
Valor devuelto Valor Boolean Indica si se ha realizado el login correctamente.

Uso:
Si disponemos de un lenguaje que interprete los archivos .wsdl (como por ejemplo C#),
simplemente tendremos que crear una referencia Web importando el fichero .wsdl y a continuación
deberemos instanciar esa referencia para poder llamar a las funciones.

Ejemplo:

C#

string strCodigo, strNombre, strAgencia, strCodCR, strTipo, strVersion, strError,


strSesion, strURLDetSegEnv;

LoginService.LoginWSService wsLoginService = new LoginService.LoginWSService();

Pág. 4
Documentación WebServices

if (wsLoginService.Login2("usuario", "contraseña", out strCodigo, out strNombre,


out strAgencia, out strCodCR, out strTipo, out strVersion, out strError, out strSesion,
out strURLDetSegEnv))
MessageBox.Show("Login correcto");
else
MessageBox.Show("Login incorrecto");

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<LoginWSService___Login2>
<strUsuario>--usuario--</strUsuario>
<strPass>--contraseña--</strPass>
</LoginWSService___Login2>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato, que habrá que tratar para extraer los valores:

Ejemplo:

XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/">
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:envialianet">
<ID>--OUT ID Sesión--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:LoginWSService___Login2Response>
<v1:Result>--OUT Valor Devuelto--</v1:Result>

Pág. 5
Documentación WebServices

<v1:strCod>--OUT Código Usuario--</v1:strCod>


<v1:strNom>--OUT Nombre Usuario--</v1:strNom>
<v1:strCodAge>--OUT Código Agencia--</v1:strCodAge>
<v1:strCodCR>--OUT Código Cen. Reg.--</v1:strCodCR>
<v1:strTipo>--OUT Tipo Usuario--</v1:strTipo>
<v1:strVersion>--OUT Version Prog.--</v1:strVersion>
<v1:strError>--OUT Código error--</v1:strError>
<v1:strSesion>--OUT ID Sesión--</v1:strSesion>
<v1:strURLDetSegEnv>--OUT URL Det Seg Env--</v1:strURLDetSegEnv>
</v1:LoginWSService___Login2Response>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Excepciones:

Esta función devuelve las siguientes excepciones:

CÓDIGO DESCRIPCIÓN
1 Usuario o password incorrecto.
2 Usuario no activo.
3 Usuario no tiene agencia asignada.
4 No hay permisos para utilizar este servicio

Para saber cómo controlar las excepciones devueltas por favor consulte el apartado 1.1.3, Excepciones.

1.1.2.2.Método LoginCli2

PARÁMETRO E/S TIPO DESCRIPCIÓN


strCodAge Entrada String Código de la agencia del cliente.
strCliente Entrada String Código o email del cliente.
strPass Entrada String Contraseña del cliente.
strCodAgeOut Salida String Agencia del cliente.
strCod Salida String Código del cliente.
strNom Salida String Nombre del cliente.
strCodCR Salida String Código del centro regional del cliente.
strTipo Salida String Tipo de usuario.
strVersion Salida String Versión del programa.
strError Salida String Error devuelto en el login.
strSesion Salida String ID de la sesión.
strURLDetSegEnv Salida String URL del detalle de seguimiento de envíos.
Valor devuelto Valor Boolean Indica si se ha realizado el login correctamente.

Uso:

El uso es similar a la anterior función.


Hay que tener en cuenta que si en el parámetro strCliente se indica el email, no hace falta indicar
el parámetro strCodAge.

Ejemplo:

Pág. 6
Documentación WebServices

C#

string strAgencia, strCodigo, strNombre, strCodCR, strTipo, strVersion, strError,


strSesion, strURLDetSegEnv;

LoginService.LoginWSService wsLoginService = new LoginService.LoginWSService();

if(wsLoginService.LoginCli2("cod-agencia", "cliente", "contraseña", out strAgencia,


out strCodigo, out strNombre, out strCodCR, out strTipo, out strVersion, out strError,
out strSesion, out strURLDetSegEnv))
MessageBox.Show("Login correcto");
else
MessageBox.Show("Login incorrecto");

Para lenguajes que no soporten .wsdl:

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<LoginWSService___LoginCli2>
<strCodAge>--cod-agencia--</strCodAge>
<strCliente>--cliente --</strCliente>
<strPass>--contraseña--</strPass>
</LoginWSService___LoginCli2>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato, que habrá que tratar para extraer los valores:

Ejemplo:

XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/">
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--OUT ID Sesión--</ID>
</ROClientIDHeader>

Pág. 7
Documentación WebServices

</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:LoginWSService___LoginCli2Response>
<v1:Result>--OUT Valor Devuelto--</v1:Result>
<v1:strCodAgeOut>--OUT Agencia Usuario--</v1:strCodAgeOut>
<v1:strCod>--OUT Código Usuario--</v1:strCod>
<v1:strNom>--OUT Nombre Usuario--</v1:strNom>
<v1:strCodCR>--OUT Código Cen. Reg.--</v1:strCodCR>
<v1:strTipo>--OUT Tipo Usuario--</v1:strTipo>
<v1:strVersion>--OUT Version Prog.--</v1:strVersion>
<v1:strError>--OUT Código error--</v1:strError>
<v1:strSesion>--OUT ID Sesión--</v1:strSesion>
<v1:strURLDetSegEnv>--OUT URL Det Seg Env--</v1:strURLDetSegEnv>
</v1:LoginWSService___LoginCli2Response>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Excepciones:

Esta función devuelve las siguientes excepciones:

CÓDIGO DESCRIPCIÓN
1 Cliente o password incorrecto.
2 No hay permiso para utilizar este servicio.

Para saber cómo controlar las excepciones devueltas por favor consulte el apartado 1.1.3, Excepciones

1.1.2.3.Método LoginCliDep2

MÉTODO E/S TIPO DESCRIPCIÓN


strCodAge Entrada String Código de la agencia del cliente.
strCodCli Entrada String Código del cliente
strDepartamento Entrada String Código o email del departamento.
strPass Entrada String Contraseña del departamento.
strCodAgeOut Salida String Agencia del departamento.
strCodCliOut Salida String Cliente del departamento.
strCod Salida String Código del departamento.
strNom Salida String Nombre del departamento.
strCodCR Salida String Código del centro regional del departamento.
strTipo Salida String Tipo de usuario.
strVersion Salida String Versión del programa.
strError Salida String Error devuelto en el login.
strSesion Salida String ID de la sesión.
strURLDetSegEnv Salida String URL del detalle de seguimiento de envíos.
Valor devuelto Valor Boolean Indica si se ha realizado el login correctamente.

Uso:

El uso es similar a la anterior función.


Hay que tener en cuenta que si en el parámetro strDepartamento se indica el email, no hace falta
indicar los parámetros strCodAge y strCodCli.

Pág. 8
Documentación WebServices

Ejemplo:

C#

string strAgencia, strCliente, strCodigo, strNombre, strCodCR, strTipo, strVersion,


strError, strSesion, strURLDetSegEnv;

LoginService.LoginWSService wsLoginService = new LoginService.LoginWSService();

if (wsLoginService.LoginDep2("cod-agencia", "cod-cliente", "departamento",


"contraseña", out strAgencia, out strCliente, out strCodigo, out strNombre, out strCodCR,
out strTipo, out strVersion, out strError, out strSesion, out strURLDetSegEnv))
MessageBox.Show("Login correcto");
else
MessageBox.Show("Login incorrecto");

Para lenguajes que no soporten .wsdl:

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<LoginWSService___LoginDep2>
<strCodAge>--cod-agencia--</strCodAge>
<strCodCli>--cod-cliente--</strCodCli>
<strDepartamento>--departamento--</strDepartamento>
<strPass>--contraseña--</strPass>
</LoginWSService___LoginDep2>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato, que habrá que tratar para extraer los valores:

Ejemplo:

XML
<?xml version="1.0" encoding="utf-8"?>

Pág. 9
Documentación WebServices

<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/">
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--OUT ID Sesión--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:LoginWSService___LoginDep2Response>
<v1:Result>--OUT Valor Devuelto--</v1:Result>
<v1:strCodAgeOut>--OUT Agencia Usuario--</v1:strCodAgeOut>
<v1:strCodCliOut>--OUT Cliente Usuario--</v1:strCodCliOut>
<v1:strCod>--OUT Código Usuario--</v1:strCod>
<v1:strNom>--OUT Nombre Usuario--</v1:strNom>
<v1:strCodCR>--OUT Código Cen. Reg.--</v1:strCodCR>
<v1:strTipo>--OUT Tipo Usuario--</v1:strTipo>
<v1:strVersion>--OUT Version Prog.--</v1:strVersion>
<v1:strError>--OUT Código error--</v1:strError>
<v1:strSesion>--OUT ID Sesión--</v1:strSesion>
<v1:strURLDetSegEnv>--OUT URL Det Seg Env--</v1:strURLDetSegEnv>
</v1:LoginWSService___LoginDep2Response>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Excepciones:

Esta función devuelve las siguientes excepciones:

CÓDIGO DESCRIPCIÓN
1 Departamento o password incorrecto.
2 No hay permisos para utilizar este servicio

Para saber cómo controlar las excepciones devueltas por favor consulte el apartado 1.1.3, Excepciones.

1.1.3. Excepciones

Cuando se produzca una excepción en el servidor éste nos devolverá un XML con el siguiente
formato del que tendremos que sacar los valores:

XML

<?xml version="1.0" encoding="utf-8"?>


<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header>

Pág. 10
Documentación WebServices

<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">


<ID>--ID-SESION--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<SOAP-ENV:Fault>
<faultcode>Exception</faultcode>
<faultstring>--DESCRIPCION-EXCEPCION--</faultstring>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

En el caso de que el lenguaje que utilicemos disponga de cliente de servicios Web, es muy
probable que la interpretación de este XML sea automática y sea el propio cliente el que lance una
excepción nativa en el programa, que deberemos controlar:

La excepción siempre va a estar compuesta por un código (numérico), seguida de dos puntos (:),
y a continuación la descripción de la excepción.

Ejemplo:

Pág. 11
Documentación WebServices

1.2. Servicio “WebServService”

Servicio de operaciones para clientes mediante Web services.

1.2.1. Métodos:

El servicio WebServService consta de las siguientes funciones/procedimientos:

Pág. 12
Documentación WebServices

MÉTODOS. DESCRIPCIÓN
ConsEnvEstados Permite consultar los estados de un envío a partir de su código de envío.
ConsEnvEstadosRef Permite consultar los estados de uno o varios envíos a partir de una referencia.
ConsRecEstados Permite consultar los estados de una recogida a partir de su código de recogida.
Permite consultar los estados de una o varias recogidas a partir de una
ConsRecEstadosRef
referencia.
Permite consultar los datos generales de un envío a partir de su código de
ConsEnvio
envío.
Permite consultar los datos generales de uno o varios envíos a partir de una
ConsEnviosRef
referencia.
Permite consultar los datos generales de una recogida a partir de su código de
ConsRecogida
recogida.
Permite consultar los datos generales de una o varias recogidas a partir de una
ConsRecogidasRef
referencia.
GrabaEnvio8 Permite insertar o modificar un envío.
GrabaRecogida3 Permite insertar o modificar una recogida.
GrabaRecDestino4 Permite insertar o modificar un destino de recogida.
GrabaRecogeme2 Permite insertar o modificar un recógeme.
Permite consultar los datos de los envíos que tengan como fecha de salida la
InfEnvios
recibida por parámetros.
Devuelve las etiquetas (definida para el cliente) de un envío codificadas en
ConsEtiquetaEnvio6
base64.
ConsEnvIncidencias Permite consultar las incidencias de un envío a partir de su código de envío.
Permite consultar las incidencias de uno o varios envíos a partir de una
ConsEnvIncidenciasRef
referencia.
Permite consultar las incidencias de una recogida a partir de su código de
ConsRecIncidencias
recogida.
Permite consultar las incidencias de una o varias recogidas a partir de una
ConsRecIncidenciasRef
referencia.
Permite consultar la URL de POD digitalizado de un envío a partir de su código
ConsEnvPODDig
de envío.
Permite consultar las URL de POD digitalizado de uno o varios envíos a partir de
ConsEnvPODDigRef
una referencia.
Permite consultar los datos de envíos, de su último estado y de su última
ConsEnvEstIncRef incidencia (los datos de la última incidencia se muestran solo si el último estado
es incidencia) buscando por la referencia.
Permite consultar los datos de recogidas, de su último estado y de su última
ConsRecEstIncRef incidencia (los datos de la última incidencia se muestran solo si el último estado
es incidencia) buscando por la referencia.
Permite consultar los datos del envío, de su último estado y de su última
ConsEnvEstInc incidencia (los datos de la última incidencia se muestran solo si el último estado
es incidencia) buscando por número de envío (a. cargo + a. origen + albarán).
Permite consultar los datos de la recogida, de su último estado y de su última
ConsRecEstInc incidencia (los datos de la última incidencia se muestran solo si el último estado
es incidencia) buscando por número de recogida.

Logout Destruye la sesión del usuario.

Permite consultar el último código de estado de cada uno de los envíos pasados
ConsEstadoEnvioMasivo
por xml (agencia cargo, agencia origen y albarán)
BorraEnvioMasivo Permite borrar envíos de forma masiva enviandos desde un xml
GrabaEnvioMasivo Permite grabar envíos de forma masiva enviandos desde un xml

1.2.2. Descripción y uso de los métodos:

1.2.2.1.Método ConsEnvEstados

PARÁMETRO E/S TIPO DESCRIPCIÓN


strCodAgeCargo Entrada String Agencia de cargo.
strCodAgeOri Entrada String Agencia de origen.

Pág. 13
Documentación WebServices

strAlbaran Entrada String Albarán.


strEnvEstados Salida String XML con los datos de los estados del envío.

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:
Si disponemos de un lenguaje que interprete los archivos .wsdl (como por ejemplo C#),
simplemente tendremos que crear una referencia Web importando el fichero .wsdl y a continuación
instanciar esa referencia para poder llamar a las funciones.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

string xmlResult = wsWebService.ConsEnvEstados("agencia-cargo", "agencia-origen", "albaran");

Una vez ejecutada la función la variable xmlResult contendrá un XML de respuesta con el
siguiente formato, que habrá que tratar para extraer los valores:

XML
<CONSULTA>
<ENV_ESTADOS
I_ID="--ID DEL ESTADO 1--"
V_COD_TIPO_EST="--TIPO ESTADO--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--USUARIO ALTA--"
V_COD_AGE_ALTA="--AGENCIA ALTA--"
V_COD_REP_ALTA="--REPARTIDOR ALTA--"
V_COD_CLI_ALTA="--CLIENTE ALTA--"
V_COD_CLI_DEP_ALTA="--DEPARTAMENTO ALTA--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA ESTADO QUE TENGA ESE ENVÍO
.
<ENV_ESTADOS
I_ID="--ID DEL ESTADO N--"
V_COD_TIPO_EST="--ETC --"

Pág. 14
Documentación WebServices

D_FEC_HORA_ALTA="--ETC en formato mm/dd/yyyy hh:mm:ss--"


V_COD_USU_ALTA="--ETC --"
V_COD_AGE_ALTA="--ETC --"
V_COD_REP_ALTA="--ETC --"
V_COD_CLI_ALTA="--ETC --"
V_COD_CLI_DEP_ALTA="--ETC –"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
/>
</CONSULTA>

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--ID de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsEnvEstados>
<strCodAgeCargo>-agencia-cargo-</strCodAgeCargo>
<strCodAgeOri>--agencia-origen--</strCodAgeOri>
<strAlbaran>--albaran--</strAlbaran>
</WebServService___ConsEnvEstados>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato, que habrá que tratar para extraer los valores:

XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

Pág. 15
Documentación WebServices

xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/"
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:WebServService___ConsEnvEstadosResponse>
<v1:strEnvEstados>
<CONSULTA>
<ENV_ESTADOS
I_ID="--ID DEL ESTADO 1--"
V_COD_TIPO_EST="--TIPO ESTADO--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--USUARIO ALTA--"
V_COD_AGE_ALTA="--AGENCIA ALTA--"
V_COD_REP_ALTA="--REPARTIDOR ALTA--"
V_COD_CLI_ALTA="--CLIENTE ALTA--"
V_COD_CLI_DEP_ALTA="--DEPARTAMENTO ALTA--"
/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA ESTADO QUE TENGA ESE ENVÍO
.
<ENV_ESTADOS
I_ID="--ID DEL ESTADO N--"
V_COD_TIPO_EST="--ETC --"
D_FEC_HORA_ALTA="--ETC en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--ETC --"
V_COD_AGE_ALTA="--ETC --"
V_COD_REP_ALTA="--ETC --"
V_COD_CLI_ALTA="--ETC --"
V_COD_CLI_DEP_ALTA="--ETC --"
/>
</CONSULTA>
</v1:strEnvEstados>
</v1:WebServService___ConsEnvEstadosResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

1.2.2.2.Método ConsEnvEstadosRef

PARÁMETRO E/S TIPO DESCRIPCIÓN


strRef Entrada String Referencia de envío.
strEnvEstadosRef Salida String XML con los datos de los estados de los envíos.

Pág. 16
Documentación WebServices

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:
Si disponemos de un lenguaje que interprete los archivos .wsdl (como por ejemplo C#),
simplemente tendremos que crear una referencia Web importando el fichero .wsdl y a continuación
instanciar esa referencia para poder llamar a las funciones.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

string xmlResult = wsWebService.ConsEnvEstadosRef("referencia-envío");

Una vez ejecutada la función la variable xmlResult contendrá un XML de respuesta con el
siguiente formato, que habrá que tratar para extraer los valores:

XML
<CONSULTA>
<ENV_ESTADOS_REF
V_COD_AGE_CARGO="--AGENCIA CARGO DEL ESTADO 1--
V_COD_AGE_ORI="--AGENCIA ORIGEN DEL ESTADO 1--
V_ALBARAN="--ALBARÁN DEL ESTADO 1--
I_ID="--ID DEL ESTADO 1--"
V_COD_TIPO_EST="--TIPO ESTADO--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--USUARIO ALTA--"
V_COD_AGE_ALTA="--AGENCIA ALTA--"
V_COD_REP_ALTA="--REPARTIDOR ALTA--"
V_COD_CLI_ALTA="--CLIENTE ALTA--"
V_COD_CLI_DEP_ALTA="--DEPARTAMENTO ALTA--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA ESTADO QUE TENGA CADA ENVÍO
.
<ENV_ESTADOS_REF
V_COD_AGE_CARGO="--AGENCIA CARGO DEL ESTADO N--
V_COD_AGE_ORI="--AGENCIA ORIGEN DEL ESTADO N--
V_ALBARAN="--ALBARÁN DEL ESTADO N--

Pág. 17
Documentación WebServices

I_ID="--ID DEL ESTADO N--"


V_COD_TIPO_EST="--ETC --"
D_FEC_HORA_ALTA="--ETC en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--ETC --"
V_COD_AGE_ALTA="--ETC --"
V_COD_REP_ALTA="--ETC --"
V_COD_CLI_ALTA="--ETC --"
V_COD_CLI_DEP_ALTA="--ETC –"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
/>
</CONSULTA>

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--ID de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsEnvEstadosRef>
<strRef>-referencia-envío-</strRef>
</WebServService___ConsEnvEstadosRef>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato, que habrá que tratar para extraer los valores:

XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

Pág. 18
Documentación WebServices

xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/"
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:WebServService___ConsEnvEstadosRefResponse>
<v1:strEnvEstadosRef>
<CONSULTA>
<ENV_ESTADOS_REF
V_COD_AGE_CARGO="--AGENCIA CARGO DEL ESTADO 1--
V_COD_AGE_ORI="--AGENCIA ORIGEN DEL ESTADO 1--
V_ALBARAN="--ALBARÁN DEL ESTADO 1--
I_ID="--ID DEL ESTADO 1--"
V_COD_TIPO_EST="--TIPO ESTADO--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--USUARIO ALTA--"
V_COD_AGE_ALTA="--AGENCIA ALTA--"
V_COD_REP_ALTA="--REPARTIDOR ALTA--"
V_COD_CLI_ALTA="--CLIENTE ALTA--"
V_COD_CLI_DEP_ALTA="--DEPARTAMENTO ALTA--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA ESTADO QUE TENGA CADA ENVÍO
.
<ENV_ESTADOS_REF
V_COD_AGE_CARGO="--AGENCIA CARGO DEL ESTADO N--
V_COD_AGE_ORI="--AGENCIA ORIGEN DEL ESTADO N--
V_ALBARAN="--ALBARÁN DEL ESTADO N--
I_ID="--ID DEL ESTADO N--"
V_COD_TIPO_EST="--ETC --"
D_FEC_HORA_ALTA="--ETC en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--ETC --"
V_COD_AGE_ALTA="--ETC --"
V_COD_REP_ALTA="--ETC --"
V_COD_CLI_ALTA="--ETC --"
V_COD_CLI_DEP_ALTA="--ETC –"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1 ETC--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2 ETC--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3 ETC--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4 ETC--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5 ETC--"
/>
</CONSULTA>
</v1:strEnvEstadosRef>
</v1:WebServService___ConsEnvEstadosRefResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Pág. 19
Documentación WebServices

1.2.2.3.Método ConsRecEstados

PARÁMETRO E/S TIPO DESCRIPCIÓN


strCodRec Entrada String Código de recogida.
strRecEstados Salida String XML con los datos de los estados de la recogida.

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:

El uso es similar a la anterior.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

string xmlResult = wsWebService.ConsRecEstados("codigo-recogida");

Una vez ejecutada la función la variable xmlResult contendrá un XML de respuesta con el
siguiente formato, que habrá que tratar para extraer los valores:

XML
<CONSULTA>
<REC_ESTADOS=""
I_ID="--ID DEL ESTADO 1--"
V_COD_TIPO_EST="--TIPO ESTADO--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--USUARIO ALTA--"
B_ULT="--ULTIMO --"
V_COD_AGE_ALTA="--AGENCIA ALTA--"
V_COD_REP_ALTA="--REPARTIDOR ALTA--"
V_COD_CLI_ALTA="--CLIENTE ALTA--"
V_COD_CLI_DEP_ALTA="--DEPARTAMENTO ALTA--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
/>

Pág. 20
Documentación WebServices

.
. //DEVOLVERÁ UN BLOQUE POR CADA ESTADO QUE TENGA ESA RECOGIDA
.
<REC_ESTADOS
I_ID="--ID DEL ESTADO N--"
V_COD_TIPO_EST="--ETC --"
D_FEC_HORA_ALTA="--ETC en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--ETC --"
B_ULT="--ULTIMO --"
V_COD_AGE_ALTA="--ETC --"
V_COD_REP_ALTA="--ETC --"
V_COD_CLI_ALTA="--ETC --"
V_COD_CLI_DEP_ALTA="--ETC –"
V_CAMPO_1="--ETC--"
V_CAMPO_2="--ETC--"
V_CAMPO_3="--ETC--"
V_CAMPO_4="--ETC--"
B_CAMPO_5="--ETC--"
/>
</CONSULTA>

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--id de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsRecEstados>
<strCodRec>--código-recogida--</strCodRec>
</WebServService___ConsRecEstados>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato, que habrá que tratar para extraer los valores:

Pág. 21
Documentación WebServices

XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/"
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:WebServService___ConsRecEstadosResponse>
<v1:strRecEstados>
<CONSULTA>
<REC_ESTADOS
I_ID="--ID DEL ESTADO 1--"
V_COD_TIPO_EST="--TIPO ESTADO--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--USUARIO ALTA--"
B_ULT="--ULTIMO --"
V_COD_AGE_ALTA="--AGENCIA ALTA--"
V_COD_REP_ALTA="--REPARTIDOR ALTA--"
V_COD_CLI_ALTA="--CLIENTE ALTA--"
V_COD_CLI_DEP_ALTA="—DEPARTAMENTO ALTA--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA ESTADO QUE TENGA ESA RECOGIDA
.
<REC_ESTADOS
I_ID="--ID DEL ESTADO N--"
V_COD_TIPO_EST="--ETC --"
D_FEC_HORA_ALTA="--ETC en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--ETC --"
B_ULT="--ULTIMO --"
V_COD_AGE_ALTA="--ETC --"
V_COD_REP_ALTA="--ETC --"
V_COD_CLI_ALTA="--ETC --"
V_COD_CLI_DEP_ALTA="--ETC –"
V_CAMPO_1="--ETC--"
V_CAMPO_2="--ETC--"
V_CAMPO_3="--ETC--"
V_CAMPO_4="--ETC--"
B_CAMPO_5="--ETC--"
/>
</CONSULTA>
</v1:strRecEstados>
</v1:WebServService___ConsRecEstadosResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Pág. 22
Documentación WebServices

1.2.2.4.Método ConsRecEstadosRef

PARÁMETRO E/S TIPO DESCRIPCIÓN


strRef Entrada String Referencia de recogida.
strRecEstados Salida String XML con los datos de los estados de las recogidas.

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:

El uso es similar a la anterior.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

string xmlResult = wsWebService.ConsRecEstadosRef("referencia-recogida");

Una vez ejecutada la función la variable xmlResult contendrá un XML de respuesta con el
siguiente formato, que habrá que tratar para extraer los valores:

XML
<CONSULTA>
<REC_ESTADOS_REF=""
V_COD_REC="--CÓDIGO DE RECOGIDA DEL ESTADO 1--"
I_ID="--ID DEL ESTADO 1--"
V_COD_TIPO_EST="--TIPO ESTADO--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--USUARIO ALTA--"
B_ULT="--ULTIMO --"
V_COD_AGE_ALTA="--AGENCIA ALTA--"
V_COD_REP_ALTA="--REPARTIDOR ALTA--"
V_COD_CLI_ALTA="--CLIENTE ALTA--"
V_COD_CLI_DEP_ALTA="--DEPARTAMENTO ALTA--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"

Pág. 23
Documentación WebServices

B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"


/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA ESTADO QUE TENGA CADA RECOGIDA
.
<REC_ESTADOS_REF
V_COD_REC="--CÓDIGO DE RECOGIDA DEL ESTADO N--
I_ID="--ID DEL ESTADO N--"
V_COD_TIPO_EST="--ETC --"
D_FEC_HORA_ALTA="--ETC en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--ETC --"
B_ULT="--ULTIMO --"
V_COD_AGE_ALTA="--ETC --"
V_COD_REP_ALTA="--ETC --"
V_COD_CLI_ALTA="--ETC --"
V_COD_CLI_DEP_ALTA="--ETC –"
V_CAMPO_1="--ETC--"
V_CAMPO_2="--ETC--"
V_CAMPO_3="--ETC--"
V_CAMPO_4="--ETC--"
B_CAMPO_5="--ETC--"
/>
</CONSULTA>

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--id de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsRecEstadosRef>
<strRef>--referencia-recogida--</strRef>
</WebServService___ConsRecEstadosRef>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Pág. 24
Documentación WebServices

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato, que habrá que tratar para extraer los valores:

XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/"
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:WebServService___ConsRecEstadosRefResponse>
<v1:strRecEstadosRef>
<CONSULTA>
<REC_ESTADOS_REF
V_COD_REC="--CÓDIGO DE RECOGIDA DEL ESTADO 1--
I_ID="--ID DEL ESTADO 1--"
V_COD_TIPO_EST="--TIPO ESTADO--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--USUARIO ALTA--"
B_ULT="--ULTIMO --"
V_COD_AGE_ALTA="--AGENCIA ALTA--"
V_COD_REP_ALTA="--REPARTIDOR ALTA--"
V_COD_CLI_ALTA="--CLIENTE ALTA--"
V_COD_CLI_DEP_ALTA="—DEPARTAMENTO ALTA--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA ESTADO QUE TENGA CADA RECOGIDA
.
<REC_ESTADOS_REF
V_COD_REC="--CÓDIGO DE RECOGIDA DEL ESTADO N--
I_ID="--ID DEL ESTADO N--"
V_COD_TIPO_EST="--ETC --"
D_FEC_HORA_ALTA="--ETC en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--ETC --"
B_ULT="--ULTIMO --"
V_COD_AGE_ALTA="--ETC --"
V_COD_REP_ALTA="--ETC --"
V_COD_CLI_ALTA="--ETC --"
V_COD_CLI_DEP_ALTA="--ETC –"
V_CAMPO_1="--ETC--"
V_CAMPO_2="--ETC--"
V_CAMPO_3="--ETC--"
V_CAMPO_4="--ETC--"
B_CAMPO_5="--ETC--"
/>
</CONSULTA>
</v1:strRecEstadosRef>
</v1:WebServService___ConsRecEstadosRefResponse>

Pág. 25
Documentación WebServices

</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

1.2.2.5.Método ConsEnvio2

PARÁMETRO E/S TIPO DESCRIPCIÓN


strCodAgeCargo Entrada String Agencia de cargo.
strAlbaran Entrada String Albarán.
strEnvio Salida String XML con los datos del envío.

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:

El uso es similar a la anterior.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

string xmlResult = wsWebService.ConsEnvio2("agencia-cargo", "albaran");

Una vez ejecutada la función la variable xmlResult contendrá un XML de respuesta con el
siguiente formato, que habrá que tratar para extraer los valores:

XML
<CONSULTA>
<ENVIOS
V_COD_AGE_CARGO="--AGENCIA DE CARGO--"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN--"
V_ALBARAN="--ALBARÁN--"

Pág. 26
Documentación WebServices

D_FECHA="--FECHA DEL ENVÍO en formato mm/dd/yyyy hh:mm:ss--"


V_COD_AGE_DES="--AGENCIA DE DESTINO--"
V_COD_TIPO_SERV="--TIPO DE SERVICIO--"
V_COD_CLI="--CÓDIGO DEL CLIENTE--"
V_COD_CLI_DEP="--CÓDIGO DEL DEPARTAMENTO--"
V_NOM_ORI="--NOMBRE REMITENTE--"
V_TIPO_VIA_ORI="--TIPO VÍA REMITENTE--"
V_DIR_ORI="--NOMBRE VÍA REMITENTE--"
V_NUM_ORI="--NÚMERO VÍA REMITENTE--"
V_PISO_ORI="--PISO REMITENTE--"
V_POB_ORI="--POBLACION REMITENTE--"
V_CP_ORI="--COD. POSTAL REMITENTE--"
V_COD_PRO_ORI="--PROVINCIA REMITENTE--"
V_TLF_ORI="--TLFNO. REMITENTE--"
V_NOM_DES="--NOMBRE DESTINATARIO--"
V_TIPO_VIA_DES="--TIPO VÍA DESTINATARIO--"
V_DIR_DES="--DIRECCIÓN DESTINATARIO--"
V_NUM_DES="--NÚMERO DESTINATARIO--"
V_PISO_DES="--PISO DESTINATARIO--"
V_POB_DES="--POBLACIÓN DESTINATARIO--"
V_CP_DES="--COD. POSTAL DESTINATARIO--"
V_COD_PRO_DES="--PROVINCIA DESTINATARIO--"
V_TLF_DES="--TLFNO DESTINATARIO--"
I_DOC="--NÚMERO DE DOCUMENTOS--"
I_PAQ="--NÚMERO DE PAQUETES--"
I_BUL="--NÚMERO DE BULTOS--"
F_PESO_ORI="--PESO--"
F_ALTO_ORI="--ALTO--"
F_ANCHO_ORI="--ANCHO--"
F_LARGO_ORI="--LARGO--"
F_PESO_VOLPES="--PESO VOLPES--"
F_ALTO_VOLPES="--ALTO VOLPES--"
F_ANCHO_VOLPES="--ANCHO VOLPES--"
F_LARGO_VOLPES="--LARGO VOLPES--"
F_REEMBOLSO="--REEMBOLSO--"
F_VALOR="--VALOR--"
F_ANTICIPO="--ANTICIPO--"
F_COB_CLI="--COBRO CLIENTE--"
F_PORTE_DEB="--PORTE DEBIDO--"
V_OBS="--OBSERVACIONES--"
D_FEC_ENTR="--FECHA ENTREGA en formato mm/dd/yyyy hh:mm:ss--"
B_SABADO="--SABADO--"
B_TECLE_DES="--TECLEADO EN DESTINO--"
B_RETORNO="--RETORNO--"
B_GEST_ORI="--GESTIÓN EN ORIGEN--"
B_GEST_DES="--GESTIÓN EN DESTINO--"
B_ANULADO="--ANULADO--"
B_ACUSE="--ACUSE--"
V_COD_REP="--CÓDIGO REPARTIDOR--"
V_COD_USU_ALTA="--USUARIO ALTA--"
V_REF="--REFERENCIA--"
V_ASOCIADO_RET="--ENVÍO ASOCIADO--"
V_TIPO_ASOC="--TIPO DE ENVÍO ASOCIADO--"
V_COD_SAL_RUTA="--CÓDIGO SALIDA RUTA--"
V_TIPO_ENV="--TIPO DE ENVÍO--"
F_BASE_IMP="--BASE IMPONIBLE--"
F_IMPUESTO="--IMPUESTO--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA--"
B_VALIDADO="--VALIDADO--"
B_CLIENTE="--CLIENTE--"
B_PORTE_DEB_CLI="--PORTE DEBIDO CLIENTE--"
V_COD_AGE_ALTA="--AGENCIA DE ALTA--"
V_COD_CLI_ALTA="--CLIENTE DE ALTA--"
V_COD_CLI_DEP_ALTA="--DEPARTAMENTO DE ALTA--"
U_GUID="--GUID DEL ENVÍO--"

Pág. 27
Documentación WebServices

V_PERS_CONTACTO="--PERSONA DE CONTACTO--"
V_COD_PAIS="--PAÍS--"
V_COD_REC_ASOC="--RECOGIDA ASOCIADA--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
V_FRANJA_HORARIA="--FRANJA HORARIA--"
SD_HORA_ENV_INI="--HORA INICIO HORARIO CONCERTADO--"
SD_HORA_ENV_FIN="--HORA FIN HORARIO CONCERTADO--"
B_TECLE_DES="--TECLEADO EN DESTINO--"
V_DES_MOVILES="--MÓVILES DEL DESTINATARIO--"
V_DES_DIR_EMAILS="--DIRECCIONES EMAIL DEL DESTINATARIO--"
/>
</CONSULTA>

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--id de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsEnvio2>
<strCodAgeCargo>-agencia-cargo-</strCodAgeCargo>
<strAlbaran>--albaran--</strAlbaran>
</WebServService___ConsEnvio2>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato, que habrá que tratar para extraer los valores:

XML
<?xml version="1.0" encoding="utf-8"?>

Pág. 28
Documentación WebServices

<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/">
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:WebServService___ConsEnvio2Response>
<v1:strEnvio>
<CONSULTA>
<ENVIOS
V_COD_AGE_CARGO="--AGENCIA DE CARGO--"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN--"
V_ALBARAN="--ALBARÁN--"
D_FECHA="--FECHA DEL ENVÍO en formato mm/dd/yyyy hh:mm:ss--"
V_COD_AGE_DES="--AGENCIA DE DESTINO--"
V_COD_TIPO_SERV="--TIPO DE SERVICIO--"
V_COD_CLI="--CÓDIGO DEL CLIENTE--"
V_COD_CLI_DEP="--CÓDIGO DEL DEPARTAMENTO--"
V_NOM_ORI="--NOMBRE REMITENTE--"
V_TIPO_VIA_ORI="--TIPO VÍA REMITENTE--"
V_DIR_ORI="--NOMBRE VÍA REMITENTE--"
V_NUM_ORI="--NÚMERO VÍA REMITENTE--"
V_PISO_ORI="--PISO REMITENTE--"
V_POB_ORI="--POBLACION REMITENTE--"
V_CP_ORI="--COD. POSTAL REMITENTE--"
V_COD_PRO_ORI="--PROVINCIA REMITENTE--"
V_TLF_ORI="--TLFNO. REMITENTE--"
V_NOM_DES="--NOMBRE DESTINATARIO--"
V_TIPO_VIA_DES="--TIPO VÍA DESTINATARIO--"
V_DIR_DES="--DIRECCIÓN DESTINATARIO--"
V_NUM_DES="--NÚMERO DESTINATARIO--"
V_PISO_DES="--PISO DESTINATARIO--"
V_POB_DES="--POBLACIÓN DESTINATARIO--"
V_CP_DES="--COD. POSTAL DESTINATARIO--"
V_COD_PRO_DES="--PROVINCIA DESTINATARIO--"
V_TLF_DES="--TLFNO DESTINATARIO--"
I_DOC="--NÚMERO DE DOCUMENTOS--"
I_PAQ="--NÚMERO DE PAQUETES--"
I_BUL="--NÚMERO DE BULTOS--"
F_PESO_ORI="--PESO--"
F_ALTO_ORI="--ALTO--"
F_ANCHO_ORI="--ANCHO--"
F_LARGO_ORI="--LARGO--"
F_PESO_VOLPES="--PESO VOLPES--"
F_ALTO_VOLPES="--ALTO VOLPES--"
F_ANCHO_VOLPES="--ANCHO VOLPES--"
F_LARGO_VOLPES="--LARGO VOLPES--"
F_REEMBOLSO="--REEMBOLSO--"
F_VALOR="--VALOR--"
F_ANTICIPO="--ANTICIPO--"
F_COB_CLI="--COBRO CLIENTE--"
F_PORTE_DEB="--PORTE DEBIDO--"
V_OBS="--OBSERVACIONES--"
D_FEC_ENTR="--FECHA ENTREGA en formato mm/dd/yyyy hh:mm:ss--"
B_SABADO="--SABADO--"
B_TECLE_DES="--TECLEADO EN DESTINO--"
B_RETORNO="--RETORNO--"
B_GEST_ORI="--GESTIÓN EN ORIGEN--"
B_GEST_DES="--GESTIÓN EN DESTINO--"

Pág. 29
Documentación WebServices

B_ANULADO="--ANULADO--"
B_ACUSE="--ACUSE--"
V_COD_REP="--CÓDIGO REPARTIDOR--"
V_COD_USU_ALTA="--USUARIO ALTA--"
V_REF="--REFERENCIA--"
V_ASOCIADO_RET="--ENVÍO ASOCIADO--"
V_TIPO_ASOC="--TIPO DE ENVÍO ASOCIADO--"
V_COD_SAL_RUTA="--CÓDIGO SALIDA RUTA--"
V_TIPO_ENV="--TIPO DE ENVÍO--"
F_BASE_IMP="--BASE IMPONIBLE--"
F_IMPUESTO="--IMPUESTO--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA--"
B_VALIDADO="--VALIDADO--"
B_CLIENTE="--CLIENTE--"
B_PORTE_DEB_CLI="--PORTE DEBIDO CLIENTE--"
V_COD_AGE_ALTA="--AGENCIA DE ALTA--"
V_COD_CLI_ALTA="--CLIENTE DE ALTA--"
V_COD_CLI_DEP_ALTA="DEPARTAMENTO DE ALTA--"
U_GUID="--GUID DEL ENVÍO--"
V_PERS_CONTACTO="--PERSONA DE CONTACTO--"
V_COD_PAIS="--PAÍS--"
V_COD_REC_ASOC="--RECOGIDA ASOCIADA--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
V_FRANJA_HORARIA="--FRANJA HORARIA--"
SD_HORA_ENV_INI="--HORA INICIO HORARIO CONCERTADO--"
SD_HORA_ENV_FIN="--HORA FIN HORARIO CONCERTADO--"
B_TECLE_DES="--TECLEADO EN DESTINO--"
V_DES_MOVILES="--MÓVILES DEL DESTINATARIO--"
V_DES_DIR_EMAILS="--DIRECCIONES EMAIL DEL DESTINATARIO--"
/>
</CONSULTA>
</v1:strEnvio>
</v1:WebServService___ConsEnvio2Response>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

1.2.2.6.Método ConsEnviosRef

PARÁMETRO E/S TIPO DESCRIPCIÓN


strRef Entrada String Referencia de envío.
strEnviosRef Salida String XML con los datos de los envíos.

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:

Pág. 30
Documentación WebServices

El uso es similar a la anterior.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

string xmlResult = wsWebService.ConsEnviosRef("referencia-envío");

Una vez ejecutada la función la variable xmlResult contendrá un XML de respuesta con el
siguiente formato, que habrá que tratar para extraer los valores:

XML
<CONSULTA>
<ENVIOS_REF
V_COD_AGE_CARGO="--AGENCIA DE CARGO--"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN--"
V_ALBARAN="--ALBARÁN--"
D_FECHA="--FECHA DEL ENVÍO en formato mm/dd/yyyy hh:mm:ss--"
V_COD_AGE_DES="--AGENCIA DE DESTINO--"
V_COD_TIPO_SERV="--TIPO DE SERVICIO--"
V_COD_CLI="--CÓDIGO DEL CLIENTE--"
V_COD_CLI_DEP="--CÓDIGO DEL DEPARTAMENTO--"
V_NOM_ORI="--NOMBRE REMITENTE--"
V_TIPO_VIA_ORI="--TIPO VÍA REMITENTE--"
V_DIR_ORI="--NOMBRE VÍA REMITENTE--"
V_NUM_ORI="--NÚMERO VÍA REMITENTE--"
V_PISO_ORI="--PISO REMITENTE--"
V_POB_ORI="--POBLACION REMITENTE--"
V_CP_ORI="--COD. POSTAL REMITENTE--"
V_COD_PRO_ORI="--PROVINCIA REMITENTE--"
V_TLF_ORI="--TLFNO. REMITENTE--"
V_NOM_DES="--NOMBRE DESTINATARIO--"
V_TIPO_VIA_DES="--TIPO VÍA DESTINATARIO--"
V_DIR_DES="--DIRECCIÓN DESTINATARIO--"
V_NUM_DES="--NÚMERO DESTINATARIO--"
V_PISO_DES="--PISO DESTINATARIO--"
V_POB_DES="--POBLACIÓN DESTINATARIO--"
V_CP_DES="--COD. POSTAL DESTINATARIO--"
V_COD_PRO_DES="--PROVINCIA DESTINATARIO--"
V_TLF_DES="--TLFNO DESTINATARIO--"
I_DOC="--NÚMERO DE DOCUMENTOS--"
I_PAQ="--NÚMERO DE PAQUETES--"
I_BUL="--NÚMERO DE BULTOS--"
F_PESO_ORI="--PESO--"
F_ALTO_ORI="--ALTO--"
F_ANCHO_ORI="--ANCHO--"
F_LARGO_ORI="--LARGO--"
F_PESO_VOL_ORI="--PESO VOLUMÉTRICO--"
F_PESO_VOLPES="--PESO VOLPES--"

Pág. 31
Documentación WebServices

F_ALTO_VOLPES="--ALTO VOLPES--"
F_ANCHO_VOLPES="--ANCHO VOLPES--"
F_LARGO_VOLPES="--LARGO VOLPES--"
F_PESO_VOL_VOLPES="--PESO VOLUMETRICO VOLPES--"
F_REEMBOLSO="--REEMBOLSO--"
F_VALOR="--VALOR--"
F_ANTICIPO="--ANTICIPO--"
F_COB_CLI="--COBRO CLIENTE--"
F_PORTE_DEB="--PORTE DEBIDO--"
V_OBS="--OBSERVACIONES--"
D_FEC_ENTR="--FECHA ENTREGA en formato mm/dd/yyyy hh:mm:ss--"
B_SABADO="--SABADO--"
B_TECLE_DES="--TECLEADO EN DESTINO--"
B_RETORNO="--RETORNO--"
B_GEST_ORI="--GESTIÓN EN ORIGEN--"
B_GEST_DES="--GESTIÓN EN DESTINO--"
B_ANULADO="--ANULADO--"
B_ACUSE="--ACUSE--"
V_COD_REP="--CÓDIGO REPARTIDOR--"
V_COD_USU_ALTA="--USUARIO ALTA--"
V_REF="--REFERENCIA--"
V_ASOCIADO_RET="--ENVÍO ASOCIADO--"
V_TIPO_ASOC="--TIPO DE ENVÍO ASOCIADO--"
V_COD_SAL_RUTA="--CÓDIGO SALIDA RUTA--"
V_TIPO_ENV="--TIPO DE ENVÍO--"
F_BASE_IMP="--BASE IMPONIBLE--"
F_IMPUESTO="--IMPUESTO--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA--"
B_VALIDADO="--VALIDADO--"
B_CLIENTE="--CLIENTE--"
B_PORTE_DEB_CLI="--PORTE DEBIDO CLIENTE--"
V_COD_AGE_ALTA="--AGENCIA DE ALTA--"
V_COD_CLI_ALTA="--CLIENTE DE ALTA--"
V_COD_CLI_DEP_ALTA="--DEPARTAMENTO DE ALTA--"
U_GUID="--GUID DEL ENVÍO--"
V_PERS_CONTACTO="--PERSONA DE CONTACTO--"
V_COD_PAIS="--PAÍS--"
V_COD_REC_ASOC="--RECOGIDA ASOCIADA--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
/>
</CONSULTA>

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"

Pág. 32
Documentación WebServices

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--id de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsEnviosRef>
<strRef>-referencia-envío-</strRef>
</WebServService___ConsEnviosRef>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato, que habrá que tratar para extraer los valores:

XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/">
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:WebServService___ConsEnviosRefResponse>
<v1:strEnviosRef>
<CONSULTA>
<ENVIOS_REF
V_COD_AGE_CARGO="--AGENCIA DE CARGO--"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN--"
V_ALBARAN="--ALBARÁN--"
D_FECHA="--FECHA DEL ENVÍO en formato mm/dd/yyyy hh:mm:ss--"
V_COD_AGE_DES="--AGENCIA DE DESTINO--"
V_COD_TIPO_SERV="--TIPO DE SERVICIO--"
V_COD_CLI="--CÓDIGO DEL CLIENTE--"
V_COD_CLI_DEP="--CÓDIGO DEL DEPARTAMENTO--"
V_NOM_ORI="--NOMBRE REMITENTE--"
V_TIPO_VIA_ORI="--TIPO VÍA REMITENTE--"
V_DIR_ORI="--NOMBRE VÍA REMITENTE--"
V_NUM_ORI="--NÚMERO VÍA REMITENTE--"
V_PISO_ORI="--PISO REMITENTE--"
V_POB_ORI="--POBLACION REMITENTE--"
V_CP_ORI="--COD. POSTAL REMITENTE--"
V_COD_PRO_ORI="--PROVINCIA REMITENTE--"
V_TLF_ORI="--TLFNO. REMITENTE--"
V_NOM_DES="--NOMBRE DESTINATARIO--"
V_TIPO_VIA_DES="--TIPO VÍA DESTINATARIO--"
V_DIR_DES="--DIRECCIÓN DESTINATARIO--"
V_NUM_DES="--NÚMERO DESTINATARIO--"

Pág. 33
Documentación WebServices

V_PISO_DES="--PISO DESTINATARIO--"
V_POB_DES="--POBLACIÓN DESTINATARIO--"
V_CP_DES="--COD. POSTAL DESTINATARIO--"
V_COD_PRO_DES="--PROVINCIA DESTINATARIO--"
V_TLF_DES="--TLFNO DESTINATARIO--"
I_DOC="--NÚMERO DE DOCUMENTOS--"
I_PAQ="--NÚMERO DE PAQUETES--"
I_BUL="--NÚMERO DE BULTOS--"
F_PESO_ORI="--PESO--"
F_ALTO_ORI="--ALTO--"
F_ANCHO_ORI="--ANCHO--"
F_LARGO_ORI="--LARGO--"
F_PESO_VOL_ORI="--PESO VOLUMÉTRICO--"
F_PESO_VOLPES="--PESO VOLPES--"
F_ALTO_VOLPES="--ALTO VOLPES--"
F_ANCHO_VOLPES="--ANCHO VOLPES--"
F_LARGO_VOLPES="--LARGO VOLPES--"
F_PESO_VOL_VOLPES="--PESO VOLUMETRICO VOLPES--"
F_REEMBOLSO="--REEMBOLSO--"
F_VALOR="--VALOR--"
F_ANTICIPO="--ANTICIPO--"
F_COB_CLI="--COBRO CLIENTE--"
F_PORTE_DEB="--PORTE DEBIDO--"
V_OBS="--OBSERVACIONES--"
D_FEC_ENTR="--FECHA ENTREGA en formato mm/dd/yyyy hh:mm:ss--"
B_SABADO="--SABADO--"
B_TECLE_DES="--TECLEADO EN DESTINO--"
B_RETORNO="--RETORNO--"
B_GEST_ORI="--GESTIÓN EN ORIGEN--"
B_GEST_DES="--GESTIÓN EN DESTINO--"
B_ANULADO="--ANULADO--"
B_ACUSE="--ACUSE--"
V_COD_REP="--CÓDIGO REPARTIDOR--"
V_COD_USU_ALTA="--USUARIO ALTA--"
V_REF="--REFERENCIA--"
V_ASOCIADO_RET="--ENVÍO ASOCIADO--"
V_TIPO_ASOC="--TIPO DE ENVÍO ASOCIADO--"
V_COD_SAL_RUTA="--CÓDIGO SALIDA RUTA--"
V_TIPO_ENV="--TIPO DE ENVÍO--"
F_BASE_IMP="--BASE IMPONIBLE--"
F_IMPUESTO="--IMPUESTO--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA--"
B_VALIDADO="--VALIDADO--"
B_CLIENTE="--CLIENTE--"
B_PORTE_DEB_CLI="--PORTE DEBIDO CLIENTE--"
V_COD_AGE_ALTA="--AGENCIA DE ALTA--"
V_COD_CLI_ALTA="--CLIENTE DE ALTA--"
V_COD_CLI_DEP_ALTA="DEPARTAMENTO DE ALTA--"
U_GUID="--GUID DEL ENVÍO--"
V_PERS_CONTACTO="--PERSONA DE CONTACTO--"
V_COD_PAIS="--PAÍS--"
V_COD_REC_ASOC="--RECOGIDA ASOCIADA--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
/>
</CONSULTA>
</v1:strEnviosRef>
</v1:WebServService___ConsEnviosRefResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Pág. 34
Documentación WebServices

1.2.2.7.Método ConsRecogida

PARÁMETRO E/S TIPO DESCRIPCIÓN


strCod Entrada String Código de la recogida.
strRecogida Salida String XML con los datos de la recogida.

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:

El uso es similar a la anterior.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

string xmlResult = wsWebService.ConsRecogida("código-recogida");

Una vez ejecutada la función la variable xmlResult contendrá un XML de respuesta con el
siguiente formato, que habrá que tratar para extraer los valores:

XML
<CONSULTA>
<RECOGIDAS
V_COD="--CÓDIGO DE RECOGIDA--"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN--"
V_COD_AGE_SOL="--AGENCIA QUE SOLICITA--"
V_COD_AGE_DES="--AGENCIA DE DESTINO--"
V_COD_AGE_CARGO="--AGENCIA DE CARGO--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA en formato mm/dd/yyyy hh:mm:ss--"
D_FEC_REC="--FECHA RECOGIDA en formato mm/dd/yyyy hh:mm:ss--"
SD_HORA_REC_INI="--HORA INICIO RECOGIDA en formato mm/dd/yyyy hh:mm:ss--"
SD_HORA_REC_FIN="--HORA FIN RECOGIDA en formato mm/dd/yyyy hh:mm:ss--"

Pág. 35
Documentación WebServices

I_BUL="--BULTOS--"
F_PESO="--PESO--"
F_VALOR="--VALOR--"
F_ANTICIPO="--ANTICIPO--"
V_COD_VEH="--CÓDIGO DEL VEHÍCULO--"
V_NOM_ORI="--NOMBRE REMITENTE--"
V_TIPO_VIA_ORI="--TIPO VÍA REMITENTE--"
V_DIR_ORI="--NOMBRE VÍA REMITENTE--"
V_NUM_ORI="--NÚMERO VÍA REMITENTE--"
V_PISO_ORI="--PISO REMITENTE--"
V_POB_ORI="--POBLACION REMITENTE--"
V_CP_ORI="--COD. POSTAL REMITENTE--"
V_TLF_ORI="--TLFNO. REMITENTE--"
V_COD_PRO_ORI="--PROVINCIA REMITENTE--"
V_NOM_DES="--NOMBRE DESTINATARIO--"
V_TIPO_VIA_DES="--TIPO VÍA DESTINATARIO--"
V_DIR_DES="--DIRECCIÓN DESTINATARIO--"
V_NUM_DES="--NÚMERO DESTINATARIO--"
V_PISO_DES="--PISO DESTINATARIO--"
V_POB_DES="--POBLACIÓN DESTINATARIO--"
V_CP_DES="--COD. POSTAL DESTINATARIO--"
V_TLF_DES="--TLFNO DESTINATARIO--"
V_COD_PRO_DES="--PROVINCIA DESTINATARIO--"
V_OBS="--OBSERVACIONES--"
V_COD_CLI="--CÓDIGO DE CLIENTE--"
V_COD_CLI_DEP="--CÓDIGO DE DEPARTAMENTO--"
V_TIPO_REC="--TIPO RECOGIDA--"
V_PERS_CONTACTO="--PERSONA CONTACTO--"
B_AUT_KM="--AUTORIZA KILÓMETROS--"
V_COD_TIPO_SERV="--TIPO SERVICIO--"
B_SABADO="--SABADO--"
V_COD_REP="--CÓDIGO REPARTIDOR--"
V_COD_USU_ALTA="--USUARIO ALTA--"
V_COD_AGE_ALTA="--AGENCIA ALTA--"
V_COD_CLI_ALTA="--CLIENTE ALTA--"
V_COD_CLI_DEP_ALTA="--DEPARTAMENTO ALTA--"
V_COD_ENV="--CÓDIGO DE ENVÍO--"
SD_HORA_REC_INI_TARDE="--HORA INICIO RECOGIDA TARDE en formato mm/dd/yyyy hh:mm:ss--"
SD_HORA_REC_FIN_TARDE="--HORA FIN RECOGIDA TARDE en formato mm/dd/yyyy hh:mm:ss--"
V_REF="--REFERENCIA DE RECOGIDA—"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
/>
</CONSULTA>

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>

Pág. 36
Documentación WebServices

<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--id de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsRecogida>
<strCodRec>-Código-recogida-</strCodRec>
</WebServService___ConsRecogida>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato, que habrá que tratar para extraer los valores:

XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/">
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:WebServService___ConsRecogidaResponse>
<v1:strRecogida>
<CONSULTA>
<RECOGIDAS
V_COD="--CÓDIGO DE RECOGIDA--"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN--"
V_COD_AGE_SOL="--AGENCIA QUE SOLICITA--"
V_COD_AGE_DES="--AGENCIA DE DESTINO--"
V_COD_AGE_CARGO="--AGENCIA DE CARGO--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA en formato mm/dd/yyyy hh:mm:ss--"
D_FEC_REC="--FECHA RECOGIDA en formato mm/dd/yyyy hh:mm:ss--"
SD_HORA_REC_INI="--HORA INICIO RECOGIDA en formato mm/dd/yyyy hh:mm:ss--"
SD_HORA_REC_FIN="--HORA FIN RECOGIDA en formato mm/dd/yyyy hh:mm:ss--"
I_BUL="--BULTOS--"
F_PESO="--PESO--"
F_VALOR="--VALOR--"
F_ANTICIPO="--ANTICIPO--"
V_COD_VEH="--CÓDIGO DEL VEHÍCULO--"
V_NOM_ORI="--NOMBRE REMITENTE--"
V_TIPO_VIA_ORI="--TIPO VÍA REMITENTE--"
V_DIR_ORI="--NOMBRE VÍA REMITENTE--"
V_NUM_ORI="--NÚMERO VÍA REMITENTE--"
V_PISO_ORI="--PISO REMITENTE--"

Pág. 37
Documentación WebServices

V_POB_ORI="--POBLACION REMITENTE--"
V_CP_ORI="--COD. POSTAL REMITENTE--"
V_TLF_ORI="--TLFNO. REMITENTE--"
V_COD_PRO_ORI="--PROVINCIA REMITENTE--"
V_NOM_DES="--NOMBRE DESTINATARIO--"
V_TIPO_VIA_DES="--TIPO VÍA DESTINATARIO--"
V_DIR_DES="--DIRECCIÓN DESTINATARIO--"
V_NUM_DES="--NÚMERO DESTINATARIO--"
V_PISO_DES="--PISO DESTINATARIO--"
V_POB_DES="--POBLACIÓN DESTINATARIO--"
V_CP_DES="--COD. POSTAL DESTINATARIO--"
V_TLF_DES="--TLFNO DESTINATARIO--"
V_COD_PRO_DES="--PROVINCIA DESTINATARIO--"
V_OBS="--OBSERVACIONES--"
V_COD_CLI="--CÓDIGO DE CLIENTE--"
V_COD_CLI_DEP="--CÓDIGO DE DEPARTAMENTO--"
V_TIPO_REC="--TIPO RECOGIDA--"
V_PERS_CONTACTO="--PERSONA CONTACTO--"
B_AUT_KM="--AUTORIZA KILÓMETROS--"
V_COD_TIPO_SERV="--TIP0 SERVICIO--"
B_SABADO="--SABADO--"
V_COD_REP="--CÓDIGO REPARTIDOR--"
V_COD_USU_ALTA="--USUARIO ALTA--"
V_COD_AGE_ALTA="--AGENCIA ALTA--"
V_COD_CLI_ALTA="--CLIENTE ALTA--"
V_COD_CLI_DEP_ALTA="--DEPARTAMENTO ALTA--"
V_COD_ENV="--CÓDIGO DE ENVÍO--"
SD_HORA_REC_INI_TARDE="--HORA INICIO RECOGIDA TARDE en formato mm/dd/yyyy
hh:mm:ss--"
SD_HORA_REC_FIN_TARDE="--HORA FIN RECOGIDA TARDE en formato mm/dd/yyyy hh:mm:ss--"
V_REF="--REFERENCIA DE RECOGIDA--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
/>
</CONSULTA>
</v1:strRecogida>
</v1:WebServService___ConsRecogidaResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

1.2.2.8.Método ConsRecogidasRef

PARÁMETRO E/S TIPO DESCRIPCIÓN


strRef Entrada String Referencia de la recogida.
strRecogidasRef Salida String XML con los datos de las recogidas.

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Pág. 38
Documentación WebServices

Uso:

El uso es similar a la anterior.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

string xmlResult = wsWebService.ConsRecogidasRef("referencia-recogida");

Una vez ejecutada la función la variable xmlResult contendrá un XML de respuesta con el
siguiente formato, que habrá que tratar para extraer los valores:

XML
<CONSULTA>
<RECOGIDAS_REF
V_COD="--CÓDIGO DE RECOGIDA--"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN--"
V_COD_AGE_SOL="--AGENCIA QUE SOLICITA--"
V_COD_AGE_DES="--AGENCIA DE DESTINO--"
V_COD_AGE_CARGO="--AGENCIA DE CARGO--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA en formato mm/dd/yyyy hh:mm:ss--"
D_FEC_REC="--FECHA RECOGIDA en formato mm/dd/yyyy hh:mm:ss--"
SD_HORA_REC_INI="--HORA INICIO RECOGIDA en formato mm/dd/yyyy hh:mm:ss--"
SD_HORA_REC_FIN="--HORA FIN RECOGIDA en formato mm/dd/yyyy hh:mm:ss--"
I_BUL="--BULTOS--"
F_PESO="--PESO--"
F_VALOR="--VALOR--"
F_ANTICIPO="--ANTICIPO--"
V_COD_VEH="--CÓDIGO DEL VEHÍCULO--"
V_NOM_ORI="--NOMBRE REMITENTE--"
V_TIPO_VIA_ORI="--TIPO VÍA REMITENTE--"
V_DIR_ORI="--NOMBRE VÍA REMITENTE--"
V_NUM_ORI="--NÚMERO VÍA REMITENTE--"
V_PISO_ORI="--PISO REMITENTE--"
V_POB_ORI="--POBLACION REMITENTE--"
V_CP_ORI="--COD. POSTAL REMITENTE--"
V_TLF_ORI="--TLFNO. REMITENTE--"
V_COD_PRO_ORI="--PROVINCIA REMITENTE--"
V_NOM_DES="--NOMBRE DESTINATARIO--"
V_TIPO_VIA_DES="--TIPO VÍA DESTINATARIO--"
V_DIR_DES="--DIRECCIÓN DESTINATARIO--"
V_NUM_DES="--NÚMERO DESTINATARIO--"
V_PISO_DES="--PISO DESTINATARIO--"
V_POB_DES="--POBLACIÓN DESTINATARIO--"
V_CP_DES="--COD. POSTAL DESTINATARIO--"
V_TLF_DES="--TLFNO DESTINATARIO--"
V_COD_PRO_DES="--PROVINCIA DESTINATARIO--"

Pág. 39
Documentación WebServices

V_OBS="--OBSERVACIONES--"
V_COD_CLI="--CÓDIGO DE CLIENTE--"
V_COD_CLI_DEP="--CÓDIGO DE DEPARTAMENTO--"
V_TIPO_REC="--TIPO RECOGIDA--"
V_PERS_CONTACTO="--PERSONA CONTACTO--"
B_AUT_KM="--AUTORIZA KILÓMETROS--"
V_COD_TIPO_SERV="--TIPO SERVICIO--"
B_SABADO="--SABADO--"
V_COD_REP="--CÓDIGO REPARTIDOR--"
V_COD_USU_ALTA="--USUARIO ALTA--"
V_COD_AGE_ALTA="--AGENCIA ALTA--"
V_COD_CLI_ALTA="--CLIENTE ALTA--"
V_COD_CLI_DEP_ALTA="--DEPARTAMENTO ALTA--"
V_COD_ENV="--CÓDIGO DE ENVÍO--"
SD_HORA_REC_INI_TARDE="--HORA INICIO RECOGIDA TARDE en formato mm/dd/yyyy hh:mm:ss--"
SD_HORA_REC_FIN_TARDE="--HORA FIN RECOGIDA TARDE en formato mm/dd/yyyy hh:mm:ss--"
V_REF="--REFERENCIA DE RECOGIDA—"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
/>
</CONSULTA>

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--id de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsRecogidasRef>
<strRef>-Referencia-recogida-</strRef>
</WebServService___ConsRecogidasRef>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato, que habrá que tratar para extraer los valores:

Pág. 40
Documentación WebServices

XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/">
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:WebServService___ConsRecogidasRefResponse>
<v1:strRecogidasRef>
<CONSULTA>
<RECOGIDAS_REF
V_COD="--CÓDIGO DE RECOGIDA--"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN--"
V_COD_AGE_SOL="--AGENCIA QUE SOLICITA--"
V_COD_AGE_DES="--AGENCIA DE DESTINO--"
V_COD_AGE_CARGO="--AGENCIA DE CARGO--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA en formato mm/dd/yyyy hh:mm:ss--"
D_FEC_REC="--FECHA RECOGIDA en formato mm/dd/yyyy hh:mm:ss--"
SD_HORA_REC_INI="--HORA INICIO RECOGIDA en formato mm/dd/yyyy hh:mm:ss--"
SD_HORA_REC_FIN="--HORA FIN RECOGIDA en formato mm/dd/yyyy hh:mm:ss--"
I_BUL="--BULTOS--"
F_PESO="--PESO--"
F_VALOR="--VALOR--"
F_ANTICIPO="--ANTICIPO--"
V_COD_VEH="--CÓDIGO DEL VEHÍCULO--"
V_NOM_ORI="--NOMBRE REMITENTE--"
V_TIPO_VIA_ORI="--TIPO VÍA REMITENTE--"
V_DIR_ORI="--NOMBRE VÍA REMITENTE--"
V_NUM_ORI="--NÚMERO VÍA REMITENTE--"
V_PISO_ORI="--PISO REMITENTE--"
V_POB_ORI="--POBLACION REMITENTE--"
V_CP_ORI="--COD. POSTAL REMITENTE--"
V_TLF_ORI="--TLFNO. REMITENTE--"
V_COD_PRO_ORI="--PROVINCIA REMITENTE--"
V_NOM_DES="--NOMBRE DESTINATARIO--"
V_TIPO_VIA_DES="--TIPO VÍA DESTINATARIO--"
V_DIR_DES="--DIRECCIÓN DESTINATARIO--"
V_NUM_DES="--NÚMERO DESTINATARIO--"
V_PISO_DES="--PISO DESTINATARIO--"
V_POB_DES="--POBLACIÓN DESTINATARIO--"
V_CP_DES="--COD. POSTAL DESTINATARIO--"
V_TLF_DES="--TLFNO DESTINATARIO--"
V_COD_PRO_DES="--PROVINCIA DESTINATARIO--"
V_OBS="--OBSERVACIONES--"
V_COD_CLI="--CÓDIGO DE CLIENTE--"
V_COD_CLI_DEP="--CÓDIGO DE DEPARTAMENTO--"
V_TIPO_REC="--TIPO RECOGIDA--"
V_PERS_CONTACTO="--PERSONA CONTACTO--"
B_AUT_KM="--AUTORIZA KILÓMETROS--"
V_COD_TIPO_SERV="--TIP0 SERVICIO--"
B_SABADO="--SABADO--"
V_COD_REP="--CÓDIGO REPARTIDOR--"
V_COD_USU_ALTA="--USUARIO ALTA--"
V_COD_AGE_ALTA="--AGENCIA ALTA--"

Pág. 41
Documentación WebServices

V_COD_CLI_ALTA="--CLIENTE ALTA--"
V_COD_CLI_DEP_ALTA="--DEPARTAMENTO ALTA--"
V_COD_ENV="--CÓDIGO DE ENVÍO--"
SD_HORA_REC_INI_TARDE="--HORA INICIO RECOGIDA TARDE en formato mm/dd/yyyy
hh:mm:ss--"
SD_HORA_REC_FIN_TARDE="--HORA FIN RECOGIDA TARDE en formato mm/dd/yyyy hh:mm:ss--"
V_REF="--REFERENCIA DE RECOGIDA--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
/>
</CONSULTA>
</v1:strRecogidasRef>
</v1:WebServService___ConsRecogidasRefResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

1.2.2.9.Método GrabaEnvio8

PARÁMETRO E/S TIPO DESCRIPCIÓN


strCodAgeCargo Entrada String Agencia de cargo.
strCodAgeOri Entrada String Agencia de origen.
strAlbaran Entrada String Albarán del envío.
dtFecha Entrada Datetime Fecha del envío.
strCodAgeDes Entrada String Agencia de destino.
strCodTipoServ Entrada String Tipo de servicio.
strCodCli Entrada String Código de cliente.
strCodCliDep Entrada String Código de departamento.
strNomOri Entrada String Nombre remitente.
strTipoViaOri Entrada String Tipo de vía del remitente (C = calle, PZA = plaza, etc.).
strDirOri Entrada String Nombre de vía del remitente.
strNumOri Entrada String Número de casa del remitente.
strPisoOri Entrada String Número de piso del remitente.
strPobOri Entrada String Población del remitente.
strCPOri Entrada String Código postal del remitente.
strCodProOri Entrada String Código provincia del remitente.
strTlfOri Entrada String Teléfono del remitente.
strNomDes Entrada String Nombre de destinatario.
strTipoViaDes Entrada String Tipo de vía del destinatario.
strDirDes Entrada String Nombre de vía del destinatario.
strNumDes Entrada String Número de casa del destinatario.
strPisoDes Entrada String Número de piso del destinatario.
strPobDes Entrada String Población del destinatario.
strCPDes Entrada String Código postal del destinatario.
strCodProDes Entrada String Código de provincia del destinatario.
strTlfDes Entrada String Teléfono del destinatario.
intDoc Entrada Integer Número de documentos.
intPaq Entrada Integer Número de paquetes.
dPesoOri Entrada Double Peso en origen.
dAltoOri Entrada Double Alto del envío en origen.
dAnchoOri Entrada Double Ancho del envío en origen.
dLargoOri Entrada Double Largo del envío en origen.
dReembolso Entrada Double Reembolso.
dValor Entrada Double Valor.
dAnticipo Entrada Double Anticipo.

Pág. 42
Documentación WebServices

dCobCli Entrada Double Cobro cliente.


strObs Entrada String Observaciones.
boSabado Entrada Boolean Entrega en sábado.
boRetorno Entrada Boolean Retorno.
boGestOri Entrada Boolean Gestión en origen.
boGestDes Entrada Boolean Gestión en destino.
boAnulado Entrada Boolean Anulado.
boAcuse Entrada Boolean Acuse.
strRef Entrada String Referencia del envío.
strCodSalRuta Entrada String Código de salida de ruta.
dBaseImp Entrada Double Base imponible.
dImpuesto Entrada Double Impuesto.
boPorteDebCli Entrada Boolean Indica (si es de cliente final) si es o no porte debido.
strPersContacto Entrada String Persona de contacto.
strCodPais Entrada String Código del país.
strDesMoviles Entrada String Móviles destinatario.
strDesDirEmails Entrada String Emails destinatario.
Es la franja horaria, puede tener los siguientes valores:
 (Espacio en blanco): Sin franja horaria.
strFranjaHoraria Entrada String  M: Mañana.
 T: Tarde.
dtHoraEnvIni Entrada Datetime Hora inicio.
dtHoraEnvFin Entrada Datetime Hora fin.
boInsert Entrada Boolean Inserción/edición del envío.
strCampo1 Entrada String Campo personalizable 1.
strCampo2 Entrada String Campo personalizable 2.
strCampo3 Entrada String Campo personalizable 3.
strCampo4 Entrada String Campo personalizable 4.
boCampo5 Entrada Boolean Campo personalizable 5.
boPagoDUAImp Entrada Boolean Pago DUA importación CS cargo.
boPagoImpDes Entrada Boolean Pago impuestos destino CS cargo.
strAlbaranOut Salida String Albarán (cuando no se indica al grabar).
Tipo servicio (el tipo de servicio de entrada puede ser
strCodTipoServOut Salida String
convertido).
dPesoVolpesOut Salida Double Peso volpes devuelto.
dAltoVolpesOut Salida Double Alto volpes devuelto.
dAnchoVolpesOut Salida Double Ancho volpes devuelto.
dLargoVolpesOut Salida Double Largo volpes devuelto.
dtFecEntrOut Salida Datetime Fecha de entrega.
strTipoEnvOut Salida String Tipo de envío.
dtFecHoraAltaOut Salida Datetime Fecha/Hora de alta.
dKmsManOut Salida Double Número manual de kilómetros.
boTecleDesOut Salida Boolean Tecleado en destino.
strCodAgeOriOut Salida Boolean Código de agencia de origen.
strCodAgeDesOut Salida String Código agencia de destino.
strCodProDesOut Salida String Código provincia de destino.
dPorteDebOut Salida Double Porte debido.
strCodPaisOut Salida String País (si el tipo serv. no es internacional se queda en blanco).
Retorno (si el tipo serv. es de retorno devuelve True, sino
boRetornoOut Salida Boolean
devuelve el valor de entrada).
strGuidOut Salida Guid GUID del envío.

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Pág. 43
Documentación WebServices

Uso:

El uso es similar a la anterior.

Ejemplo:

C#
/*peso-volpes*/ /*alto-volpes*/ /*ancho-volpes*/ /*largo-volpes*/
double dPesoVolpesOut, dAltoVolpesOut, dAnchoVolpesOut, dLargoVolpesOut;

/*peso-volumetrico-volpes*/ /*kilometros*/ /*porte-debido*/


double dPesoVolVolpesOut, dKmsManOut, dPorteDebOut;

/*albaran-env*/ /*tipo-servicio*/ /*tipo-envio*/ /*cod-age-dest*/ /*cod-provin-dest*/ /*cod-age-ori*/


string strAlbaranOut, strCodTipoServEnvOut, strTipoEnvOut, strCodAgeDesOut, strCodProDesOut,
strCodAgeOriOut;

/*país*/ /*GUID env*/


string strCodPaisOut, strGuidOut;

/*fecha-entrega*/ /*fecha-alta*/
DateTime dtFecEntrOut, dtFecHoraAltaOut;

/*tecleado-destino*/ /*retorno*/
bool boTecleDesOut, boRetornoOut;

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

try
{
strAlbaranOut = wsWebService.GrabaEnvio8("agencia-cargo", "agencia-ori", “albaran” , "fecha-env”,
"agencia-des", "tipo-serv”, "cod-cliente", "cod-departamento", "nombre-remit", "tipo-via-remit",
"nombre-via-remit", "num-casa-remit", "piso-remit", "pobla-remit", "C.P-remit", "cod-provincia-ori",
"tlfno-remit", "nombre-dest", "tipo-via-dest", "nombre-via-dest", "num-casa-dest", "piso-dest",
"pobla-dest", "C.P-dest", "cod-provincia-dest", "tlfno-dest", documentos, paquetes, peso-ori,
alto-origen, ancho-origen, largo-origen, reembolso, valor, anticipo, cobro-cliente, "observaciones”,
sabado, retorno, gestion-origen, gestion-destino, anulado, acuse, "referencia", "cod-sal-ruta",
base-imponible, impuesto, porte-debido, “persona-contacto”, “cod-pais”, “moviles-destino”,
“emails-destino”, “franja-horaria”, “hora-ini”, “hora-fin”, insercion, “campo-personalizable-1”,
“campo-personalizable-2”, “campo-personalizable-3”, “campo-personalizable-4”,
campo-personalizable-5, pago-dua-importacion-cs-cargo, pago-impuestos-destino-cs-cargo,
out strAlbaran, out strCodTipoServ, out dPesoVolpesOut, out dAltoVolpesOut, out dAnchoVolpesOut,
out dLargoVolpesOut, out dtFecEntrOut, out strTipoEnvOut, out dtFecHoraAltaOut,
out dKmsManOut, out boTecleDesOut, out strCodAgeOriOut, out strCodAgeDesOut,
out strCodProDesOut, out dPorteDebOut, out strCodPais, out boRetorno, out strGuidOut)
}
catch (Exception eExcepcion)
{
MessageBox.Show(eExcepcion.Message);
}

Pág. 44
Documentación WebServices

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--id de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___GrabaEnvio8 xmlns="http://tempuri.org/">
<strCodAgeCargo>--agencia-cargo--</strCodAgeCargo>
<strCodAgeOri>--agencia-origen--</strCodAgeOri>
<strAlbaran>--albaran--</strAlbaran>
<dtFecha>--fecha-envio en formato yyyy/mm/dd--</dtFecha>
<strCodAgeDes>--agencia-dest--</strCodAgeDes>
<strCodTipoServ>--tipo-servicio--</strCodTipoServ>
<strCodCli>--codigo-cliente--</strCodCli>
<strCodCliDep>--codigo-departamento--</strCodCliDep>
<strNomOri>--nombre-remitente--</strNomOri>
<strTipoViaOri>--tipo-via-remitente--</strTipoViaOri>
<strDirOri>--nombre-via-remitente--</strDirOri>
<strNumOri>--numero-casa--</strNumOri>
<strPisoOri>--piso-remitente--</strPisoOri>
<strPobOri>--poblacion-remitente--</strPobOri>
<strCPOri>--C.P.-remitente--</strCPOri>
<strCodProOri>--cod-provincia-remitente--</strCodProOri>
<strTlfOri>--telefono-remitente--</strTlfOri>
<strNomDes>--nombre-destinatario--</strNomDes>
<strTipoViaDes>--tipo-via-destinatario--</strTipoViaDes>
<strDirDes>--nombre-via-destinatario--</strDirDes>
<strNumDes>--numero-casa-dest--</strNumDes>
<strPisoDes>--piso-destinatario--</strPisoDes>
<strPobDes>--poblacion-dest--</strPobDes>
<strCPDes>--C.P. Dest--</strCPDes>
<strCodProDes>--cod-provincia-dest--</strCodProDes>
<strTlfDes>--telefono-des--</strTlfDes>
<intDoc>--numero-documentos--</intDoc>
<intPaq>--numero-paquetes--</intPaq>
<dPesoOri>--peso-origen--</dPesoOri>
<dAltoOri>--alto-origen--</dAltoOri>
<dAnchoOri>--ancho-origen--</dAnchoOri>
<dLargoOri>--largo-origen--</dLargoOri>
<dReembolso>--reembolso--</dReembolso>
<dValor>--valor--</dValor>
<dAnticipo>--anticipo--</dAnticipo>
<dCobCli>--cobro-cliente--</dCobCli>
<strObs>--observaciones--</strObs>
<boSabado>--sabado--</boSabado>
<boRetorno>--retorno--</boRetorno>
<boGestOri>--gestion-origen--</boGestOri>

Pág. 45
Documentación WebServices

<boGestDes>--gestion-destino--</boGestDes>
<boAnulado>--anulado--</boAnulado>
<boAcuse>--acuse--</boAcuse>
<strRef>--referencia--</strRef>
<strCodSalRuta>--codigo-sal-ruta--</strCodSalRuta>
<dBaseImp>--base-imponible--</dBaseImp>
<dImpuesto>--impuesto--</dImpuesto>
<boPorteDebCli>--porte-debido-cliente--</boPorteDebCli>
<strPersContacto>--persona-contacto--</strPersContacto>
<strCodPais>--pais--</strCodPais>
<strDesMoviles>--moviles-destinatario--</strDesMoviles>
<strDesDirEmails>--emails-destinatario--</strDesDirEmails>
<strFranjaHoraria>--franja-horaria--</strFranjaHoraria>
<dtHoraEnvIni>--hora-inicio en formato yyyy/mm/dd hh:mm:ss--</dtHoraEnvIni>
<dtHoraEnvFin>--hora-fin en formato yyyy/mm/dd hh:mm:ss--</dtHoraEnvFin>
<boInsert>--insercion--</boInsert>
<strCampo1>--campo-personalizable-1--</strCampo1>
<strCampo2>--campo-personalizable-2--</strCampo2>
<strCampo3>--campo-personalizable-3--</strCampo3>
<strCampo4>--campo-personalizable-4--</strCampo4>
<boCampo5>--campo-personalizable-5--</boCampo5>
<boPagoDUAImp>--pago-dua-importacion-cs-cargo--</boPagoDUAImp>
<boPagoImpDes>--pago-impuestos-destino-cs-cargo--</boPagoImpDes>
</WebServService___GrabaEnvio8>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato, que habrá que tratar para extraer los valores:

XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/">
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:WebServService___GrabaEnvio8Response>
<v1:strAlbaranOut>"--OUT ALBARAN--"</v1:strAlbaranOut>
<v1:strCodTipoServOut>"--OUT TIPO SERVICIO--"</v1:strCodTipoServOut>
<v1:dPesoVolpesOut>"--OUT PESO VOLPES--"</v1:dPesoVolpesOut>
<v1:dAltoVolpesOut>"--OUT ALTO VOLPES--"</v1:dAltoVolpesOut>
<v1:dAnchoVolpesOut>"--OUT ANCHO VOLPES--"</v1:dAnchoVolpesOut>
<v1:dLargoVolpesOut>"--OUT LARGO VOLPES--"</v1:dLargoVolpesOut>
<v1:dtFecEntrOut>"--OUT FECHA ENTREGA--"</v1:dtFecEntrOut>
<v1:strTipoEnvOut>"--OUT TIPO ENVIO--"</v1:strTipoEnvOut>
<v1:dtFecHoraAltaOut>"--OUT FECHA HORA ALTA en formato yyyy/mm/dd hh:mm:ss--
"</v1:dtFecHoraAltaOut>
<v1:dKmsManOut>"--OUT KILOMETROS--"</v1:dKmsManOut>

Pág. 46
Documentación WebServices

<v1:boTecleDesOut>"--OUT TECLEADO DESTINO--"</v1:boTecleDesOut>


<v1:strCodAgeOriOut>”--OUT AGENCIA ORIGEN--"</v1:strCodAgeOriOut>
<v1:strCodAgeDesOut>”--OUT AGENCIA DESTINO--"</v1:strCodAgeDesOut>
<v1:strCodProDesOut>"--OUT CODIGO PROVINCIA DESTINO--"</v1:strCodProDesOut>
<v1:dPorteDebOut>"--OUT PORTE DEBIDO--"</v1:dPorteDebOut>
<v1:strCodPaisOut>"--OUT CODIGO PAIS--"</v1:strCodPaisOut>
<v1:boRetornoOut>"--OUT RETORNO--"</v1:boRetornoOut>
<v1:strGuidOut>"--OUT GUID ENVIO--"</v1:strGuidOut>
</v1:WebServService___GrabaEnvio8Response>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Excepciones:

Esta función devuelve las siguientes excepciones:

CÓDIGO DESCRIPCIÓN
1 El usuario no existe.
2 El usuario no tiene permisos de modificación.
3 El usuario no tiene suficientes permisos.
4 La fecha no es válida.
5 La fecha está fuera del rango permitido.
6 El tipo de servicio no existe o está inactivo.
7 La agencia de cargo no existe o está inactiva.
8 La agencia de origen no existe o está inactiva.
9 La agencia de destino no existe o está inactiva.
10 El nº de albarán ha de tener 10 dígitos.
11 El primer dígito en este nº de albarán está reservado para envíos sin conexión.
12 El nº de albarán indicado ya se encuentra en uso.
13 El cliente no pertenece a la agencia de cargo.
14 El departamento no pertenece al cliente.
15 El cliente no autoriza envíos a su cargo.
16 La salida de ruta no existe.
17 Error en la admisión del envío.
18 No está permitido dar de alta envíos sin conexión.
19 El código postal destino es nulo o no válido.
20 La fecha de entrega no es válida.
21 El usuario sólo puede importar envíos cuya agencia de cargo u origen sea la suya.
22 El envía ha de tener mínimo 1 bulto.
23 El país no existe.
24 El albarán ya se encuentra en uso.
25 La fecha de salida deber ser viernes para entregas en sábado
26 El tipo de servicio no permite indicar franja horaria.
27 El tipo de servicio no permite indicar horario concertado.
28 El horario concertado no alcanza el tiempo mínimo concertado.
29 El cliente no permite indicar franja horaria.
30 El cliente no permite indicar horario concertado.
31 El horario concertado no se encuentra dentro del rango permitido.
32 La referencia es obligatoria para el cliente seleccionado.
33 No se pueden introducir valores numéricos negativos.
34 El usuario no puede dar de alta envíos para esta agencia de cargo.
35 El número de albarán no puede terminar en 000.
36 El tipo de servicio no es seleccionable para el cliente.
37 El tipo de servicio no es utilizable para el cliente.
38 El cliente no permite indicar el departamento en blanco.
39 Permiso denegado para modificar envíos.

Para saber cómo controlar las excepciones devueltas por favor consulte el apartado 1.2.3, Excepciones.

Pág. 47
Documentación WebServices

1.2.2.10.Método GrabaRecogida3

PARÁMETRO E/S TIPO DESCRIPCIÓN


strCod Entrada String Código recogida.
strCodAgeOri Entrada String Código de la agencia de origen.
strCodAgeDes Entrada String Código de la agencia de destino.
strCodAgeCargo Entrada String Código de la agencia de cargo.
dtFecRec Entrada Datetime Fecha de recogida.
dtHoraRecIni Entrada Datetime Inicio de hora de recogida.
dtHoraRecIniTarde Entrada Datetime Inicio de hora de recogida por la tarde.
dtHoraRecFin Entrada Datetime Fin de hora de recogida.
dtHoraRecFinTarde Entrada Datetime Fin de hora de recogida por la tarde.
intBul Entrada Integer Número de bultos.
dPeso Entrada Double Peso de la recogida.
dValor Entrada Double Valor.
dAnticipo Entrada Double Anticipo.
strCodVeh Entrada String Vehículo.
strNomOri Entrada String Nombre remitente.
strTipoViaOri Entrada String Tipo de vía del remitente (C = calle, PZA = plaza, etc.).
strDirOri Entrada String Nombre de vía del remitente.
strNumOri Entrada String Número de casa del remitente.
strPisoOri Entrada String Número de piso del remitente.
strPobOri Entrada String Población del remitente.
strCPOri Entrada String Código postal del remitente.
strTlfOri Entrada String Teléfono del remitente.
strCodProOri Entrada String Código provincia del remitente.
strNomDes Entrada String Nombre de destinatario.
strTipoViaDes Entrada String Tipo de vía del destinatario.
strDirDes Entrada String Nombre de vía del destinatario.
strNumDes Entrada String Número de casa del destinatario.
strPisoDes Entrada String Número de piso del destinatario.
strPobDes Entrada String Población del destinatario.
strCPDes Entrada String Código postal del destinatario.
strTlfDes Entrada String Teléfono del destinatario.
strCodProDes Entrada String Código de provincia del destinatario.
strObs Entrada String Observaciones.
strCodCli Entrada String Código de cliente.
strCodCliDep Entrada String Código de departamento.
strPersContacto Entrada String Persona de contacto.
boAutKM Entrada Boolean Autoriza kilómetros.
strCodTipoServ Entrada String Código de tipo servicio.
boSabado Entrada Boolean Recogida en sábado.
strCodRep Entrada String Código de repartidor.
strCodEnv Entrada String Código de envío.
strRef Entrada String Referencia.
strTipoRecOld Entrada String Tipo de recogida anterior.
strObsDes Entrada String Observaciones de destino.
dReembolso Entrada Double Reembolso.
dCobCli Entrada Double Cobro cliente.
dImpuesto Entrada Double Impuesto.
dBaseImp Entrada Double Base imponible.

Pág. 48
Documentación WebServices

boAcuse Entrada Boolean Acuse.


boRetorno Entrada Boolean Retorno.
boGestOri Entrada Boolean Gestión en origen.
boGestDes Entrada Boolean Gestión en destino.
strCodPais Entrada String País.
strRemMoviles Entrada String Móviles del remitente para enviar los avisos.
strRemDirEmails Entrada String Emails del remitente para enviar los avisos.
boRemSmsAlta Entrada Boolean Aviso en el alta de recogida para el remitente por sms.
boRemEmailAlta Entrada Boolean Aviso en el alta de recogida para el remitente por email.
boRemSmsInci Entrada Boolean Aviso al generar incidencias para el remitente por sms.
boRemEmailInci Entrada Boolean Aviso al generar incidencias para el remitente por email.
boRemSmsResInci Entrada Boolean Aviso en la resolución de incidencias para el remitente por sms.
Aviso en la resolución de incidencias para el remitente por
boRemEmailResInci Entrada Boolean
email.
boRemSmsRep Entrada Boolean Aviso en el reparto para el remitente por sms.
BoRemEmailRep Entrada Boolean Aviso en el reparto para el remitente por email.
strDesMoviles Entrada String Móviles del destinatario para enviar los avisos.
strDesDirEmails Entrada String Emails del destinatario para enviar los avisos.
boDesSmsAlta Entrada Boolean Aviso en el alta de recogida para el destinatario por sms.
boDesEmailAlta Entrada Boolean Aviso en el alta de recogida para el destinatario por email.
boDesSmsFin Entrada Boolean Aviso al finalizar recogidas para el destinatario por sms.
boDesEmailFin Entrada Boolean Aviso al finalizar recogidas para el destinatario por email.
boDesSmsInci Entrada Boolean Aviso al generar incidencias para el destinatario por sms.
boDesEmailInci Entrada Boolean Aviso al generar incidencias para el destinatario por email.
Aviso en la resolución de incidencias para el destinatario por
boDesSmsResInci Entrada Boolean
sms.
Aviso en la resolución de incidencias para el destinatario por
boDesEmailResInci Entrada Boolean
email.
boDesSmsRep Entrada Boolean Aviso en el reparto para el destinatario por sms.
boDesEmailRep Entrada Boolean Aviso en el reparto para el destinatario por email.
strCampo1 Entrada String Campo personalizable 1
strCampo2 Entrada String Campo personalizable 2
strCampo3 Entrada String Campo personalizable 3
strCampo4 Entrada String Campo personalizable 4
boCampo5 Entrada Boolean Campo personalizable 5
strCodOut Salida String Código de recogida (cuando no se indica al grabar).
strTipoRecOut Salida String Tipo de recogida.
dtFechaHoraAltaOut Salida Datetime Fecha de alta.
strCodAgeOriOut Salida String Código de agencia de origen.
strCodProOriOut Salida String Código de provincia de origen.
strCodAgeDesOut Salida String Código de agencia de destino.
strCodProDesOut Salida String Código de provincia de destino.
dPorteDebOut Salida Double Porte debido.

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:

El uso es similar a la anterior.

Ejemplo:

Pág. 49
Documentación WebServices

C#
/*cod-rec*/ /*tipo-recogida*/ /*cod-age-ori*/ /*cod-provincia-ori*/
string strCodOut, strTipoRecOut, strCodAgeOriOut, strCodProOriOut;

/*cod-agencia-dest*/ /*cod-provincia-dest*/
string strCodAgeDesOut, strCodProDesOut;

/*fecha-hora-alta*/
DateTime dtFecHoraAltaOut;

/*porte-debido*/
Double dPorteDebOut;

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = strSesion;

try
{
strCodOut = wsWebService.GrabaRecogida3("codigo-recogida", "agencia-origen",
"agencia-destino", "agencia-cargo", "fecha-recogida", "hora-recogida-ini",
“hora-recogida-ini-tarde”, "hora-recogida-fin”, “hora-recogida-fin-tarde", bultos, peso, valor,
anticipo, "codigo-vehiculo", "nombre-origen", "tipo-via-origen", "nombre-via-origen", "numero",
"piso", "poblacion-origen", "codigo-postal-origen", "telefono-origen", "codigo-provincia-origen",
"nombre-dest", "tipo-via-dest", "nombre-via-dest", "numero-dest", "piso-dest", "poblacion-dest",
"codigo-postal-dest", "telefono-dest", "cod-provincia-dest", "observaciones", "codigo-cliente",
"codigo-departamento”, “persona-contacto", autoriza-km, "codigo-tipo-serv", recogida-sabado,
"codigo-repartidor", "codigo-envio", "referencia”, “tipo-recogida-anterior”,
“observaciones-destino”, reembolso, cobro-cliente, impuesto, base-imponible, acuse, retorno,
gestion-origen, gestion-destino, “pais”, “moviles-remitente”, “emails-remitente”,
aviso-alta-remitente-sms, aviso-alta-remitente-email, aviso-incidencia-remitente-sms,
aviso-incidencia-remitente-email, aviso-resolucion-incidencia-remitente-sms,
aviso-resolucion-incidencia-remitente-email, aviso-reparto-remitente-sms, aviso-reparto-remitente-email,
“moviles-destinatario”, “emails-destinatario”, aviso-alta-destinatario-sms, aviso-alta-destinatario-email,
aviso-finalizada-destinatario-sms, aviso-finalizada-destinatario-email, aviso-incidencia-destinatario-sms,
aviso-incidencia-destinatario-email, aviso-resolucion-incidencia-destinatario-sms,
aviso-resolucion-incidencia-destinatario-email, aviso-reparto-destinatario-sms,
aviso-reparto-destinatario-email, “campo-personalizable-1”, “campo-personalizable-2”, “campo-
personalizable-3”, “campo-personalizable-4”, campo-personalizable-5, out strCodOut, out strTipoRecOut,
out dtFecHoraAltaOut,
out strCodAgeOriOut, out strCodProOriOut, out strCodAgeDesOut, out strCodProDesOut,
out dPorteDebOut);
}
catch (Exception eExcepcion)
{
MessageBox.Show(eExcepcion.Message);
}

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

Pág. 50
Documentación WebServices

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--ID-SESION--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___GrabaRecogida3 xmlns="http://tempuri.org/">
<strCod>--codigo-recogida--</strCod>
<strCodAgeOri>--agencia-origen--</strCodAgeOri>
<strCodAgeDes>--agencia-destino--</strCodAgeDes>
<strCodAgeCargo>--agencia-cargo--</strCodAgeCargo>
<dtFecRec>--fecha-recogida en formato yyyy/mm/dd--</dtFecRec>
<dtHoraRecIni>--hora-inicio-rec en formato yyyy/mm/dd hh:mm:ss--</dtHoraRecIni>
<dtHoraRecIniTarde>--hora-inicio-rec-tarde yyyy/mm/dd hh:mm:ss--</dtHoraRecIniTarde>
<dtHoraRecFin>--hora-fin-rec en formato yyyy/mm/dd hh:mm:ss--</dtHoraRecFin>
<dtHoraRecFinTarde>--hora-fin-rec-tarde en formato yyyy/mm/dd hh:mm:ss--</dtHoraRecFinTarde>
<intBul>--bultos--</intBul>
<dPeso>--peso--</dPeso>
<dValor>--valor--</dValor>
<dAnticipo>--anticipo--</dAnticipo>
<strCodVeh>--codigo-vehiculo--</strCodVeh>
<strNomOri>--nombre-origen--</strNomOri>
<strTipoViaOri>--tipo-via-origen--</strTipoViaOri>
<strDirOri>--nombre-via-origen--</strDirOri>
<strNumOri>--numero-origen--</strNumOri>
<strPisoOri>--piso--</strPisoOri>
<strPobOri>--poblacion-origen--</strPobOri>
<strCPOri>--cod-postal-ori--</strCPOri>
<strTlfOri>--telefono-origen--</strTlfOri>
<strCodProOri>--codigo-provincia-origen--</strCodProOri>
<strNomDes>--nombre-destino--</strNomDes>
<strTipoViaDes>--tipo-via-destino</strTipoViaDes>
<strDirDes>--nombre-via-destino--</strDirDes>
<strNumDes>--numero-destino--</strNumDes>
<strPisoDes>--piso--</strPisoDes>
<strPobDes>--poblacion-destino--</strPobDes>
<strCPDes>--cod-postal-destino--</strCPDes>
<strTlfDes>--telefono-destino--</strTlfDes>
<strCodProDes>--cod-provincia-destino--</strCodProDes>
<strObs>--observaciones--</strObs>
<strCodCli>--codigo-cliente--</strCodCli>
<strCodCliDep>--codigo-departamento--</strCodCliDep>
<strPersContacto>--persona-contacto--</strPersContacto>
<boAutKM>--autoriza-km--</boAutKM>
<strCodTipoServ>--tipo-servicio--</strCodTipoServ>
<boSabado>--recogida-sabado--</boSabado>
<strCodRep>--codigo-repartidor--</strCodRep>
<strCodEnv>--codigo-envio--</strCodEnv>
<strRef>--referencia--</strRef>
<strTipoRecOld>--tipo-recogida-anterior--</strTipoRecOld>
<strObsDes>--observaciones-destino--</strObsDes>
<dReembolso>--reembolso--</dReembolso>
<dCobCli>--cobro-cliente--</dCobCli>
<dImpuesto>--impuesto--</dImpuesto>
<dBaseImp>--base-imponible--</dBaseImp>
<boAcuse>--acuse--</boAcuse>

Pág. 51
Documentación WebServices

<boRetorno>--retorno--</boRetorno>
<boGestOri>--gestion-origen--</boGestOri>
<boGestDes>--gestion-destino--</boGestDes>
<strCodPais>--pais--</strCodPais>
<strRemMoviles>--moviles-remitente--</strRemMoviles>
<strRemDirEmails>--emails-remitente--</strRemDirEmails>
<boRemSmsAlta>--aviso-alta-remitente-sms--</boRemSmsAlta>
<boRemEmailAlta>--aviso-alta-remitente-email--</boRemEmailAlta>
<boRemSmsInci>--aviso-incidencia-remitente-sms--</boRemSmsInci>
<boRemEmailInci>--aviso-incidencia-remitente-email--</boRemEmailInci>
<boRemSmsResInci>--aviso-resolucion-incidencia-remitente-sms--</boRemSmsResInci>
<boRemEmailResInci>--aviso-resolucion-incidencia-remitente-email--</boRemEmailResInci>
<boRemSmsRep>--aviso-reparto-remitente-sms--</boRemSmsRep>
<boRemEmailRep>--aviso-reparto-remitente-email--</boRemEmailRep>
<strDesMoviles>--moviles-destinatario--</strDesMoviles>
<strDesDirEmails>--emails-destinatario--</strDesDirEmails>
<boDesSmsAlta>--aviso-alta-destinatario-sms--</boDesSmsAlta>
<boDesEmailAlta>--aviso-alta-destinatario-email--</boDesEmailAlta>
<boDesSmsFin>--aviso-recogida-finalizada-destinatario-sms--</boDesSmsFin>
<boDesEmailFin>--aviso-recogida-finalizada-destinatario-email--</boDesEmailFin>
<boDesSmsInci>--aviso-incidencia-destinatario-sms--</boDesSmsInci>
<boDesEmailInci>--aviso-incidencia-destinatario-email--</boDesEmailInci>
<boDesSmsResInci>--aviso-resolucion-incidencia-destinatario-sms--</boDesSmsResInci>
<boDesEmailResInci>--aviso-resolucion-incidencia-destinatario-email--</boDesEmailResInci>
<boDesSmsRep>--aviso-reparto-destinatario-sms--</boDesSmsRep>
<boDesEmailRep>--aviso-reparto-destinatario-email--</boDesEmailRep>
<strCampo1>--campo-personalizable-1--</strCampo1>
<strCampo2>--campo-personalizable-2--</strCampo2>
<strCampo3>--campo-personalizable-3--</strCampo3>
<strCampo4>--campo-personalizable-4--</strCampo4>
<boCampo5>--campo-personalizable-5--</boCampo5>
</WebServService___GrabaRecogida3>
</soap:Body>
</soap:Envelope>’);
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato, que habrá que tratar para extraer los valores:

XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/">
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--ID-SESION--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:WebServService___GrabaRecogida3Response>
<v1:strCodOut>--OUT-CODIGO-RECOGIDA--</v1:strCodOut>

Pág. 52
Documentación WebServices

<v1:strTipoRecOut>--OUT-TIPO-RECOGIDA--</v1:strTipoRecOut>
<v1:dtFecHoraAltaOut>--OUT-FECHA-HORA-ALTA en formato yyyy/mm/dd hh:mm:ss--
</v1:dtFecHoraAltaOut>
<v1:strCodAgeOriOut>--OUT-CODIGO-AGENCIA-ORI--</v1:strCodAgeOriOut>
<v1:strCodProOriOut>--OUT-CODIGO-PROVINCIA-ORI--</v1:strCodProOriOut>
<v1:strCodAgeDesOut>--OUT-CODIGO-AGENCIA-DEST--</v1:strCodAgeDesOut>
<v1:strCodProDesOut>--OUT-CODIGO-PROVINCIA-DEST--</v1:strCodProDesOut>
<v1:fPorteDebOut>--OUT-PORTE-DEB --</v1:fPorteDebOut>
</v1:WebServService___GrabaRecogida3Response>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Excepciones:

Esta función devuelve las siguientes excepciones:

CÓDIGO DESCRIPCIÓN
-2 Error al intentar realizar la canalización en destino.
-1 Error al intentar realizar la canalización en origen.
1 El usuario no existe.
2 El usuario no tiene suficientes permisos para modificar esta recogida.
3 El usuario no tiene suficientes permisos para realizar esta acción.
4 La fecha no es válida.
5 La fecha está fuera del rango permitido.
6 El tipo de servicio no existe o está inactivo.
7 La agencia de origen no existe o está inactiva.
8 La agencia solicitante no existe o está inactiva.
9 La agencia de destino no existe o está inactiva.
10 La agencia de cargo no existe o está inactiva.
11 El cliente no pertenece a la agencia de cargo.
12 El cliente no autoriza recogidas a su cargo.
13 El código del envío asociado a la recogida no es válido.
14 El departamento no pertenece al cliente.
15 Error en la admisión de la recogida.
16 El código postal origen es nulo o no válido.
17 El código postal destino es nulo o no válido.
18 El país no existe.
19 El número de envíos debe ser un dato numérico.
20 La referencia es obligatoria para el cliente seleccionado.
21 El usuario no puede dar de alta recogidas para esta agencia de cargo.

Para saber cómo controlar las excepciones devueltas por favor consulte el apartado 1.2.3, Excepciones.

1.2.2.11.Método InfEnvios

PARÁMETRO E/S TIPO DESCRIPCIÓN


dtFecha Entrada DateTime Fecha de salida de los envíos a consultar.
strInfEnvios Salida String XML con los datos de los envíos.

Pág. 53
Documentación WebServices

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:

El uso es similar a la anterior.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

string xmlResult = wsWebService.InfEnvios("fecha-salida");

Una vez ejecutada la función la variable xmlResult contendrá un XML de respuesta con el
siguiente formato, que habrá que tratar para extraer los valores:

XML
<CONSULTA>
<INF_ENVIOS
V_COD_AGE_CARGO="--AGENCIA DE CARGO 1--"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN 1--"
V_ALBARAN="--ALBARAN 1--"
D_FECHA="--FECHA SALIDA en formato mm/dd/yyyy hh:mm:ss--"
V_NOM_ORI="--NOMBRE REMITENTE--"
V_DIR_ORI="--NOMBRE VÍA REMITENTE--"
V_POB_ORI="--POBLACION REMITENTE--"
V_CP_ORI="--COD. POSTAL REMITENTE--"
V_NOM_DES="--NOMBRE DESTINATARIO--"
V_TIPO_VIA_DES="--TIPO VÍA DESTINATARIO--"
V_DIR_DES="--DIRECCIÓN DESTINATARIO--"
V_NUM_DES="--NÚMERO DESTINATARIO--"
V_PISO_DES="--PISO DESTINATARIO--"
V_POB_DES="--POBLACIÓN DESTINATARIO--"
V_CP_DES="--COD. POSTAL DESTINATARIO--"
V_TLF_DES="--TLFNO DESTINATARIO--"
D_FEC_ENTR="--FECHA ENTREGA en formato mm/dd/yyyy hh:mm:ss--"
I_BUL="--BULTOS--"
V_REF="--REFERENCIA--"
F_REEMBOLSO="--REEMBOLSO--"
F_PORTE_DEB="--PORTE DEBIDO--"
F_VALOR="--VALOR--"
V_COD_CLI="--CODIGO CLIENTE--"

Pág. 54
Documentación WebServices

V_ULT_TIPO_VIA="--ULTIMO TIPO VIA--"


V_ULT_DIR="--ULTIMO NOMBRE VIA--"
V_ULT_NUM="--ULTIMO NUMERO--"
V_ULT_PISO="--ULTIMO PISO--"
F_PESO_ORI="--PESO ORI--"
V_NOM_CLI="--NOMBRE CLIENTE--"
V_COD_CLI_DEP="--CODIGO DEPARTAMENTO--"
V_NOM_DEP="--NOMBRE DEPARTAMENTO--"
V_COD_TIPO_SERV="--CÓDIGO TIPO SERVICIO--"
V_ASOCIADO_RET="--ENVÍO ASOCIADO--"
V_TIPO_ASOC="--TIPO ENVÍO ASOCIADO (RET: Retorno; ACU: Acuse; DEV: Devuelto; REC:
Recanalizado)--"
V_COD_REC_ASOC="--RECOGIDA ASOCIADA--"
V_OBS="--OBSERVACIONES--"
F_PESO_VOLPES="--PESO SORTER--"
F_M3_ORI="--METROS CÚBICOS ORIGEN--"
F_M3_VOLPES="--METROS CÚBICOS SORTER--"
B_REM_SMS="--AVISO AL REMITENTE POR SMS--"
B_REM_EMAIL="--AVISO AL REMITENTE POR EMAIL--"
V_REM_MOVILES="--MÓVILES DEL REMITENTE--"
V_REM_DIR_EMAILS="--EMAILS DEL REMITENTE--"
B_REM_ALTA="--AVISO AL REMITENTE EN EL ALTA DE ENVÍOS--"
B_REM_ENTREGA="--AVISO AL REMITENTE EN LA ENTREGA DE ENVÍOS--"
B_REM_INCI="--AVISO AL REMITENTE EN LA GENERACIÓN DE INCIDENCIAS--"
B_REM_RES_INCI="--AVISO AL REMITENTE EN LA RESOLUCIÓN DE INCIDENCIAS--"
B_REM_REP="--AVISO AL REMITENTE EN EL REPARTO DEL ENVÍO--"
B_REM_REC_DEL="--AVISO AL REMITENTE AL RECOGER EN DELEGACIÓN--"
B_DES_SMS="--AVISO AL DESTINATARIO POR SMS--"
B_DES_EMAIL="--AVISO AL DESTINATARIO POR EMAIL--"
V_DES_MOVILES="--MÓVILES DEL DESTINATARIO--"
V_DES_DIR_EMAILS="--EMAILS DEL DESTINATARIO--"
B_DES_ALTA="--AVISO AL DESTINATARIO EN EL ALTA DE ENVÍOS--"
B_DES_INCI="--AVISO AL DESTINATARIO EN LA GENERACIÓN DE INCIDENCIAS--"
B_DES_RES_INCI="--AVISO AL DESTINATARIO EN LA RESOLUCIÓN DE INCIDENCIAS--"
B_DES_REP="--AVISO AL DESTINATARIO EN EL REPARTO DEL ENVÍO--"
B_DES_REC_DEL="--AVISO AL DESTINATARIO AL RECOGER EN DELEGACIÓN--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
/>

//DEVOLVERÁ UN BLOQUE POR CADA ENVÍO

<INF_ENVIOS
V_COD_AGE_CARGO="--AGENCIA DE CARGO N--"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN N--"
V_ALBARAN="--ALBARAN N--"
D_FECHA="—ETC en formato mm/dd/yyyy hh:mm:ss--"
V_NOM_ORI="--ETC--"
V_DIR_ORI="--ETC--"
V_POB_ORI="--ETC--"
V_CP_ORI="--ETC--"
V_NOM_DES="--ETC--"
V_TIPO_VIA_DES="--ETC--"
V_DIR_DES="--ETC--"
V_NUM_DES="--ETC--"
V_PISO_DES="--ETC--"
V_POB_DES="--ETC--"
V_CP_DES="--ETC--"
V_TLF_DES="--ETC--"
D_FEC_ENTR="—ETC en formato mm/dd/yyyy hh:mm:ss--"
I_BUL="--ETC--"
V_REF="--ETC--"

Pág. 55
Documentación WebServices

F_REEMBOLSO="--ETC--"
F_PORTE_DEB="--ETC--"
F_VALOR="--ETC--"
V_COD_CLI="--ETC--"
V_ULT_TIPO_VIA="--ETC--"
V_ULT_DIR="--ETC--"
V_ULT_NUM="--ETC--"
V_ULT_PISO="--ETC--"
F_PESO_ORI="--ETC--"
V_NOM_CLI="--ETC--"
V_COD_CLI_DEP="--ETC--"
V_NOM_DEP="--ETC--"
V_COD_TIPO_SERV="--ETC--"
V_ASOCIADO_RET="--ETC--"
V_TIPO_ASOC="--ETC--"
V_COD_REC_ASOC="--ETC--"
V_OBS="--ETC--"
F_PESO_VOLPES="--ETC--"
F_M3_ORI="--ETC--"
F_M3_VOLPES="--ETC--"
B_REM_SMS="--ETC--"
B_REM_EMAIL="--ETC--"
V_REM_MOVILES="--ETC--"
V_REM_DIR_EMAILS="--ETC--"
B_REM_ALTA="--ETC--"
B_REM_ENTREGA="--ETC--"
B_REM_INCI="--ETC--"
B_REM_RES_INCI="--ETC--"
B_REM_REP="--ETC--"
B_REM_REC_DEL="--ETC--"
B_DES_SMS="--ETC--"
B_DES_EMAIL="--ETC--"
V_DES_MOVILES="--ETC--"
V_DES_DIR_EMAILS="--ETC--"
B_DES_ALTA="--ETC--"
B_DES_INCI="--ETC--"
B_DES_RES_INCI="--ETC--"
B_DES_REP="--ETC--"
B_DES_REC_DEL="--ETC--"
V_CAMPO_1="--ETC--"
V_CAMPO_2="--ETC--"
V_CAMPO_3="--ETC--"
V_CAMPO_4="--ETC--"
B_CAMPO_5="--ETC--"
/>

</CONSULTA>

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

Pág. 56
Documentación WebServices

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--ID de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___InfEnvios>
<dtFecha>-fecha-salida en formato yyyy/mm/dd-</dtFecha>
</WebServService___InfEnvios>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato, que habrá que tratar para extraer los valores:

XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/"
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:WebServService___InfEnviosResponse>
<v1:strInfEnvios>
<CONSULTA>
<INF_ENVIOS
V_COD_AGE_CARGO="--AGENCIA DE CARGO 1--"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN 1--"
V_ALBARAN="--ALBARAN 1--"
D_FECHA="--FECHA SALIDA en formato mm/dd/yyyy hh:mm:ss--"
V_NOM_ORI="--NOMBRE REMITENTE--"
V_DIR_ORI="--NOMBRE VÍA REMITENTE--"
V_POB_ORI="--POBLACION REMITENTE--"
V_CP_ORI="--COD. POSTAL REMITENTE--"
V_NOM_DES="--NOMBRE DESTINATARIO--"
V_TIPO_VIA_DES="--TIPO VÍA DESTINATARIO--"
V_DIR_DES="--DIRECCIÓN DESTINATARIO--"
V_NUM_DES="--NÚMERO DESTINATARIO--"
V_PISO_DES="--PISO DESTINATARIO--"

Pág. 57
Documentación WebServices

V_POB_DES="--POBLACIÓN DESTINATARIO--"
V_CP_DES="--COD. POSTAL DESTINATARIO--"
V_TLF_DES="--TLFNO DESTINATARIO--"
D_FEC_ENTR="--FECHA ENTREGA en formato mm/dd/yyyy hh:mm:ss--"
I_BUL="--BULTOS--"
V_REF="--REFERENCIA--"
F_REEMBOLSO="--REEMBOLSO--"
F_PORTE_DEB="--PORTE DEBIDO--"
F_VALOR="--VALOR--"
V_COD_CLI="--CODIGO CLIENTE--"
V_ULT_TIPO_VIA="--ULTIMO TIPO VIA--"
V_ULT_DIR="--ULTIMO NOMBRE VIA--"
V_ULT_NUM="--ULTIMO NUMERO--"
V_ULT_PISO="--ULTIMO PISO--"
F_PESO_ORI="--PESO ORI--"
V_NOM_CLI="--NOMBRE CLIENTE--"
V_COD_CLI_DEP="--CODIGO DEPARTAMENTO--"
V_NOM_DEP="--NOMBRE DEPARTAMENTO--"
V_COD_TIPO_SERV="--CÓDIGO TIPO SERVICIO--"
V_ASOCIADO_RET="--ENVÍO ASOCIADO--"
V_TIPO_ASOC="--TIPO ENVÍO ASOCIADO (RET: Retorno; ACU: Acuse; DEV: Devuelto; REC:
Recanalizado)--"
V_COD_REC_ASOC="--RECOGIDA ASOCIADA--"
V_OBS="--OBSERVACIONES--"
F_PESO_VOLPES="--PESO SORTER--"
F_M3_ORI="--METROS CÚBICOS ORIGEN--"
F_M3_VOLPES="--METROS CÚBICOS SORTER--"
B_REM_SMS="--AVISO AL REMITENTE POR SMS--"
B_REM_EMAIL="--AVISO AL REMITENTE POR EMAIL--"
V_REM_MOVILES="--MÓVILES DEL REMITENTE--"
V_REM_DIR_EMAILS="--EMAILS DEL REMITENTE--"
B_REM_ALTA="--AVISO AL REMITENTE EN EL ALTA DE ENVÍOS--"
B_REM_ENTREGA="--AVISO AL REMITENTE EN LA ENTREGA DE ENVÍOS--"
B_REM_INCI="--AVISO AL REMITENTE EN LA GENERACIÓN DE INCIDENCIAS--"
B_REM_RES_INCI="--AVISO AL REMITENTE EN LA RESOLUCIÓN DE INCIDENCIAS--"
B_REM_REP="--AVISO AL REMITENTE EN EL REPARTO DEL ENVÍO--"
B_REM_REC_DEL="--AVISO AL REMITENTE AL RECOGER EN DELEGACIÓN--"
B_DES_SMS="--AVISO AL DESTINATARIO POR SMS--"
B_DES_EMAIL="--AVISO AL DESTINATARIO POR EMAIL--"
V_DES_MOVILES="--MÓVILES DEL DESTINATARIO--"
V_DES_DIR_EMAILS="--EMAILS DEL DESTINATARIO--"
B_DES_ALTA="--AVISO AL DESTINATARIO EN EL ALTA DE ENVÍOS--"
B_DES_INCI="--AVISO AL DESTINATARIO EN LA GENERACIÓN DE INCIDENCIAS--"
B_DES_RES_INCI="--AVISO AL DESTINATARIO EN LA RESOLUCIÓN DE INCIDENCIAS--"
B_DES_REP="--AVISO AL DESTINATARIO EN EL REPARTO DEL ENVÍO--"
B_DES_REC_DEL="--AVISO AL DESTINATARIO AL RECOGER EN DELEGACIÓN--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
/>

//DEVOLVERÁ UN BLOQUE POR CADA ENVÍO

<INF_ENVIOS
V_COD_AGE_CARGO="--AGENCIA DE CARGO N--"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN N--"
V_ALBARAN="--ALBARAN N--"
D_FECHA="--ETC en formato mm/dd/yyyy hh:mm:ss--"
V_NOM_ORI="--ETC--"
V_DIR_ORI="--ETC--"
V_POB_ORI="--ETC--"
V_CP_ORI="--ETC--"
V_NOM_DES="--ETC--"

Pág. 58
Documentación WebServices

V_TIPO_VIA_DES="--ETC--"
V_DIR_DES="--ETC--"
V_NUM_DES="--ETC--"
V_PISO_DES="--ETC--"
V_POB_DES="--ETC--"
V_CP_DES="--ETC--"
V_TLF_DES="--ETC--"
D_FEC_ENTR="--ETC en formato mm/dd/yyyy hh:mm:ss--"
I_BUL="--ETC--"
V_REF="--ETC--"
F_REEMBOLSO="--ETC--"
F_PORTE_DEB="--ETC--"
F_VALOR="--ETC--"
V_COD_CLI="--ETC--"
V_ULT_TIPO_VIA="--ETC--"
V_ULT_DIR="--ETC--"
V_ULT_NUM="--ETC--"
V_ULT_PISO="--ETC--"
F_PESO_ORI="--ETC--"
V_NOM_CLI="--ETC--"
V_COD_CLI_DEP="--ETC--"
V_NOM_DEP="--ETC--"
V_COD_TIPO_SERV="--ETC--"
V_ASOCIADO_RET="--ETC--"
V_TIPO_ASOC="--ETC--"
V_COD_REC_ASOC="--ETC--"
V_OBS="--ETC--"
F_PESO_VOLPES="--ETC--"
F_M3_ORI="--ETC--"
F_M3_VOLPES="--ETC--"
B_REM_SMS="--ETC--"
B_REM_EMAIL="--ETC--"
V_REM_MOVILES="--ETC--"
V_REM_DIR_EMAILS="--ETC--"
B_REM_ALTA="--ETC--"
B_REM_ENTREGA="--ETC--"
B_REM_INCI="--ETC--"
B_REM_RES_INCI="--ETC--"
B_REM_REP="--ETC--"
B_REM_REC_DEL="--ETC--"
B_DES_SMS="--ETC--"
B_DES_EMAIL="--ETC--"
V_DES_MOVILES="--ETC--"
V_DES_DIR_EMAILS="--ETC--"
B_DES_ALTA="--ETC--"
B_DES_INCI="--ETC--"
B_DES_RES_INCI="--ETC--"
B_DES_REP="--ETC--"
B_DES_REC_DEL="--ETC--"
V_CAMPO_1="--ETC--"
V_CAMPO_2="--ETC--"
V_CAMPO_3="--ETC--"
V_CAMPO_4="--ETC--"
B_CAMPO_5="--ETC--"
/>
</CONSULTA>
</v1:strInfEnvios>
</v1:WebServService___InfEnviosResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Pág. 59
Documentación WebServices

1.2.2.12.Método ConsEtiquetaEnvio6

PARÁMETRO E/S TIPO DESCRIPCIÓN


strCodAgeOri Entrada String Agencia origen del envío.
strAlbaran Entrada String Albarán del envío.
Bulto a imprimir (dejar en blanco para imprimir todos los bultos
strBulto Entrada String
del envío.
boPaginaA4 Entrada Boolean Imprime la etiqueta en páginas tamaño A4.
Nº de etiquetas que hay impresas en la hoja A4 donde se
intNumEtiqImpresasA4 Entrada Integer continuará imprimiendo (si no se imprime en tamaño A4 este
parámetro no se tiene en cuenta, por defecto darle el valor cero)
Formato en el que se exporta la etiqueta. Los valores posibles
strFormato Entrada String
son: PDF o JPG.
Si el formato es PDF devuelve la etiqueta en pdf codificada en
strEtiquetas Salida String base64. Si por el contrario el formato es JPG devuelve un XML
con las etiquetas en jpg codificadas en base64.

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:

El uso es similar a la anterior.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

string strResult = wsWebService.ConsEtiquetaEnvio6("agencia-origen”, ”albaran", “001”, “pagina-A4”, “nº-


etiquetas-impresas-A4”, “formato”);

Una vez ejecutada la función, si el formato es PDF, la variable strResult contendrá la etiqueta en pdf
codificada en base64. Si por el contrario el formato es JPG, la variable contendrá un XML de respuesta
con el siguiente formato, que habrá que tratar para extraer cada una de las etiquetas:

XML
<CONSULTA>

Pág. 60
Documentación WebServices

<ETIQUETAS
ETIQUETA="--ETIQUETA CODIFICADA EN BASE 64 - 1--"
/>

//DEVOLVERÁ UN BLOQUE POR CADA ETIQUETA

<ETIQUETAS
ETIQUETA="--ETIQUETA CODIFICADA EN BASE 64 - N--"
/>

</CONSULTA>

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--ID de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsEtiquetaEnvio6>
<strCodAgeOri>-agencia-origen-</strCodAgeOri>
<strAlbaran>-albaran-</strAlbaran>
<strBulto>-bulto-</strBulto>
<boPaginaA4>-pagina-A4-</boPaginaA4>
<intNumEtiqImpresasA4>-nº-etiquetas-impresas-A4-
</intNumEtiqImpresasA4>
<strFormato>-formato-</strFormato>
</WebServService___ConsEtiquetaEnvio6>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data, si el formato es PDF, la variable $strRespuestaServer


contendrá la etiqueta en pdf codificada en base64. Si por el contrario el formato es JPG, la variable

Pág. 61
Documentación WebServices

contendrá un XML de respuesta con el siguiente formato, que habrá que tratar para extraer cada una de
las etiquetas:

XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/"
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:WebServService___ConsEtiquetaEnvio6Response>
<v1:strEtiquetas>
<CONSULTA>
<ETIQUETAS
ETIQUETA="--ETIQUETA CODIFICADA EN BASE 64 - 1--"
/>

//DEVOLVERÁ UN BLOQUE POR CADA ETIQUETA

<ETIQUETA
ETIQUETA="--ETIQUETA CODIFICADA EN BASE 64 - N--"
/>
</CONSULTA>
</v1:strEtiquetas>
</v1:WebServService___ConsEtiquetaEnvio6Response>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

1.2.2.13.Método ConsEtiquetaEnvioMasiva

PARÁMETRO E/S TIPO DESCRIPCIÓN


XML que contiene la agencia de origen y el albarán de cada
envío que se quiere imprimir.

strEnvios Entrada String Ejemplo de XML que contiene dos envíos:


<Envios><Envio strCodAgeOri = '008052' strAlbaran =
'0015654771' /><Envio strCodAgeOri = '002000' strAlbaran =
'0015654766' /></Envios>
boPaginaA4 Entrada Boolean Imprime las etiquetas en páginas tamaño A4.
Nº de etiquetas que hay impresas en la hoja A4 donde se
intNumEtiqImpresasA4 Entrada Integer continuará imprimiendo (si no se imprime en tamaño A4 este
parámetro no se tiene en cuenta, por defecto darle el valor cero)
strEtiqueta Salida String Etiqueta en pdf codificada en base64.

Pág. 62
Documentación WebServices

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:

El uso es similar a la anterior.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

string strResult = wsWebService.ConsEtiquetaEnvioMasiva("xml-envios", “pagina-A4”, “nº-etiquetas-impresas-


A4”);

Una vez ejecutada la función la variable strResult contendrá la etiqueta en pdf codificada en base64.

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
Una vez ejecutado
'<?xml el http_post_data
version="1.0" la variable $strRespuestaServer contendrá la etiqueta en
encoding="utf-8"?>
<soap:Envelope
pdf codificada en base64.
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
1.2.2.14.Método ConsEnvIncidencias <ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--ID de la sesión establecida--</ID>
PARÁMETRO E/S </ROClientIDHeader>
TIPO DESCRIPCIÓN
strCodAgeCargo </soap:Header>
Entrada String Agencia de cargo.
<soap:Body>
strCodAgeOri Entrada String Agencia de origen.
<WebServService___ConsEtiquetaEnvioMasiva>
strAlbaran Entrada String Albarán.
<strEnvios>-xml-envios-</strEnvios>
strEnvIncidencias Salida String XML con los datos de las incidencias del envío.
<boPaginaA4>-pagina-A4-</boPaginaA4>
<intNumEtiqImpresasA4>-nº-etiquetas-impresas-A4-
</intNumEtiqImpresasA4>
</WebServService___ConsEtiquetaEnvioMasiva>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?> Pág. 63
Documentación WebServices

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:
Si disponemos de un lenguaje que interprete los archivos .wsdl (como por ejemplo C#),
simplemente tendremos que crear una referencia Web importando el fichero .wsdl y a continuación
instanciar esa referencia para poder llamar a las funciones.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

string xmlResult = wsWebService.ConsEnvIncidencias("agencia-cargo", "agencia-origen", "albaran");

Una vez ejecutada la función la variable xmlResult contendrá un XML de respuesta con el
siguiente formato, que habrá que tratar para extraer los valores:

XML
<CONSULTA>
<ENV_INCIDENCIAS
I_ID="--ID DE LA INCIDENCIA 1--"
V_COD_TIPO_INC="--TIPO INCIDENCIA--"
T_OBS="--OBSERVACIONES--"
D_FEC_HORA_CIERRE="--FECHA/HORA CIERRE en formato mm/dd/yyyy hh:mm:ss--"
B_RESUELTA="--RESUELTA--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--USUARIO ALTA--"
V_COD_USU_RES="--USUARIO RESUELVE--"
V_COD_AGE_ALTA="--AGENCIA ALTA--"
V_COD_REP_ALTA="--REPARTIDOR ALTA--"
V_COD_CLI_ALTA="--CLIENTE ALTA--"
V_COD_CLI_DEP_ALTA="--DEPARTAMENTO ALTA--"
SD_HORA_INC="--HORA INCIDENCIA en formato mm/dd/yyyy hh:mm:ss--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
/>

Pág. 64
Documentación WebServices

.
. //DEVOLVERÁ UN BLOQUE POR CADA INCIDENCIA QUE TENGA ESE ENVÍO
.
<ENV_INCIDENCIAS
I_ID="--ID DE LA INCIDENCIA N--"
V_COD_TIPO_INC="--ETC--"
T_OBS="--ETC--"
D_FEC_HORA_CIERRE="--ETC en formato mm/dd/yyyy hh:mm:ss--"
B_RESUELTA="--ETC--"
D_FEC_HORA_ALTA="--ETC en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--ETC –"
V_COD_USU_RES="--ETC --"
V_COD_AGE_ALTA="--ETC --"
V_COD_REP_ALTA="--ETC --"
V_COD_CLI_ALTA="--ETC --"
V_COD_CLI_DEP_ALTA="--ETC –"
SD_HORA_INC="--ETC en formato mm/dd/yyyy hh:mm:ss--"
V_CAMPO_1="--ETC--"
V_CAMPO_2="--ETC--"
V_CAMPO_3="--ETC--"
V_CAMPO_4="--ETC--"
B_CAMPO_5="--ETC--"
/>
</CONSULTA>

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--ID de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsEnvIncidencias>
<strCodAgeCargo>-agencia-cargo-</strCodAgeCargo>
<strCodAgeOri>--agencia-origen--</strCodAgeOri>
<strAlbaran>--albaran--</strAlbaran>
</WebServService___ConsEnvIncidencias>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Pág. 65
Documentación WebServices

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato, que habrá que tratar para extraer los valores:

XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/"
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:WebServService___ConsEnvIncidenciasResponse>
<v1:strEnvIncidencias>
<CONSULTA>
<ENV_INCIDENCIAS
I_ID="--ID DE LA INCIDENCIA 1--"
V_COD_TIPO_INC="--TIPO INCIDENCIA--"
T_OBS="--OBSERVACIONES--"
D_FEC_HORA_CIERRE="--FECHA/HORA CIERRE en formato mm/dd/yyyy hh:mm:ss--"
B_RESUELTA="--RESUELTA--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--USUARIO ALTA--"
V_COD_USU_RES="--USUARIO RESUELVE--"
V_COD_AGE_ALTA="--AGENCIA ALTA--"
V_COD_REP_ALTA="--REPARTIDOR ALTA--"
V_COD_CLI_ALTA="--CLIENTE ALTA--"
V_COD_CLI_DEP_ALTA="--DEPARTAMENTO ALTA--"
SD_HORA_INC="--HORA INCIDENCIA en formato mm/dd/yyyy hh:mm:ss--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA INCIDENCIA QUE TENGA ESE ENVÍO
.
<ENV_INCIDENCIAS
I_ID="--ID DE LA INCIDENCIA N--"
V_COD_TIPO_INC="--ETC –"
T_OBS="--ETC –"
D_FEC_HORA_CIERRE="--ETC en formato mm/dd/yyyy hh:mm:ss--"
B_RESUELTA="--ETC –"
D_FEC_HORA_ALTA="--ETC en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--ETC –"
V_COD_USU_RES="--ETC --"
V_COD_AGE_ALTA="--ETC --"
V_COD_REP_ALTA="--ETC --"
V_COD_CLI_ALTA="--ETC --"
V_COD_CLI_DEP_ALTA="--ETC –"

Pág. 66
Documentación WebServices

SD_HORA_INC="--ETC en formato mm/dd/yyyy hh:mm:ss--"


V_CAMPO_1="--ETC--"
V_CAMPO_2="--ETC--"
V_CAMPO_3="--ETC--"
V_CAMPO_4="--ETC--"
B_CAMPO_5="--ETC--"
/>
</CONSULTA>
</v1:strEnvIncidencias>
</v1:WebServService___ConsEnvIncidenciasResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

1.2.2.15.Método ConsEnvIncidenciasRef

PARÁMETRO E/S TIPO DESCRIPCIÓN


strRef Entrada String Referencia de envío.
strEnvIncidenciasRef Salida String XML con los datos de las incidencias de los envíos.

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:
Si disponemos de un lenguaje que interprete los archivos .wsdl (como por ejemplo C#),
simplemente tendremos que crear una referencia Web importando el fichero .wsdl y a continuación
instanciar esa referencia para poder llamar a las funciones.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

string xmlResult = wsWebService.ConsEnvIncidenciasRef("referencia-envío");

Una vez ejecutada la función la variable xmlResult contendrá un XML de respuesta con el
siguiente formato, que habrá que tratar para extraer los valores:

Pág. 67
Documentación WebServices

XML
<CONSULTA>
<ENV_INCIDENCIAS_REF
V_COD_AGE_CARGO="--AGENCIA CARGO--
V_COD_AGE_ORI="--AGENCIA ORIGEN--
V_ALBARAN="--ALBARÁN--
I_ID="--ID DE LA INCIDENCIA 1--"
V_COD_TIPO_INC="--TIPO INCIDENCIA--"
T_OBS="--OBSERVACIONES--"
D_FEC_HORA_CIERRE="--FECHA/HORA CIERRE en formato mm/dd/yyyy hh:mm:ss--"
B_RESUELTA="--RESUELTA--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--USUARIO ALTA--"
V_COD_USU_RES="--USUARIO RESUELVE--"
V_COD_AGE_ALTA="--AGENCIA ALTA--"
V_COD_REP_ALTA="--REPARTIDOR ALTA--"
V_COD_CLI_ALTA="--CLIENTE ALTA--"
V_COD_CLI_DEP_ALTA="--DEPARTAMENTO ALTA--"
SD_HORA_INC="--HORA INCIDENCIA en formato mm/dd/yyyy hh:mm:ss--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA INCIDENCIA QUE TENGA CADA ENVÍO
.
<ENV_INCIDENCIAS_REF
V_COD_AGE_CARGO="--AGENCIA CARGO--
V_COD_AGE_ORI="--AGENCIA ORIGEN--
V_ALBARAN="--ALBARÁN--
I_ID="--ID DE LA INCIDENCIA N--"
V_COD_TIPO_INC="--ETC--"
T_OBS="--ETC--"
D_FEC_HORA_CIERRE="--ETC en formato mm/dd/yyyy hh:mm:ss--"
B_RESUELTA="--ETC--"
D_FEC_HORA_ALTA="--ETC en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--ETC –"
V_COD_USU_RES="--ETC --"
V_COD_AGE_ALTA="--ETC --"
V_COD_REP_ALTA="--ETC --"
V_COD_CLI_ALTA="--ETC --"
V_COD_CLI_DEP_ALTA="--ETC –"
SD_HORA_INC="--ETC en formato mm/dd/yyyy hh:mm:ss--"
V_CAMPO_1="--ETC--"
V_CAMPO_2="--ETC--"
V_CAMPO_3="--ETC--"
V_CAMPO_4="--ETC--"
B_CAMPO_5="--ETC--"
/>
</CONSULTA>

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Pág. 68
Documentación WebServices

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--ID de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsEnvIncidenciasRef>
<strRef>-referencia-envío-</strRef>
</WebServService___ConsEnvIncidenciasRef>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato, que habrá que tratar para extraer los valores:

XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/"
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:WebServService___ConsEnvIncidenciasRefResponse>
<v1:strEnvIncidenciasRef>
<CONSULTA>
<ENV_INCIDENCIAS_REF
V_COD_AGE_CARGO="--AGENCIA CARGO--
V_COD_AGE_ORI="--AGENCIA ORIGEN--
V_ALBARAN="--ALBARÁN--
I_ID="--ID DE LA INCIDENCIA 1--"
V_COD_TIPO_INC="--TIPO INCIDENCIA--"
T_OBS="--OBSERVACIONES--"
D_FEC_HORA_CIERRE="--FECHA/HORA CIERRE en formato mm/dd/yyyy hh:mm:ss--"
B_RESUELTA="--RESUELTA--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA en formato mm/dd/yyyy hh:mm:ss--"

Pág. 69
Documentación WebServices

V_COD_USU_ALTA="--USUARIO ALTA--"
V_COD_USU_RES="--USUARIO RESUELVE--"
V_COD_AGE_ALTA="--AGENCIA ALTA--"
V_COD_REP_ALTA="--REPARTIDOR ALTA--"
V_COD_CLI_ALTA="--CLIENTE ALTA--"
V_COD_CLI_DEP_ALTA="--DEPARTAMENTO ALTA--"
SD_HORA_INC="--HORA INCIDENCIA en formato mm/dd/yyyy hh:mm:ss--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA INCIDENCIA QUE TENGA CADA ENVÍO
.
<ENV_INCIDENCIAS_REF
V_COD_AGE_CARGO="--AGENCIA CARGO--
V_COD_AGE_ORI="--AGENCIA ORIGEN--
V_ALBARAN="--ALBARÁN--
I_ID="--ID DE LA INCIDENCIA N--"
V_COD_TIPO_INC="--ETC –"
T_OBS="--ETC –"
D_FEC_HORA_CIERRE="--ETC en formato mm/dd/yyyy hh:mm:ss--"
B_RESUELTA="--ETC –"
D_FEC_HORA_ALTA="--ETC en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--ETC –"
V_COD_USU_RES="--ETC --"
V_COD_AGE_ALTA="--ETC --"
V_COD_REP_ALTA="--ETC --"
V_COD_CLI_ALTA="--ETC --"
V_COD_CLI_DEP_ALTA="--ETC –"
SD_HORA_INC="--ETC en formato mm/dd/yyyy hh:mm:ss--"
V_CAMPO_1="--ETC--"
V_CAMPO_2="--ETC--"
V_CAMPO_3="--ETC--"
V_CAMPO_4="--ETC--"
B_CAMPO_5="--ETC--"
/>
</CONSULTA>
</v1:strEnvIncidenciasRef>
</v1:WebServService___ConsEnvIncidenciasRefResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

1.2.2.16.Método ConsRecIncidencias

PARÁMETRO E/S TIPO DESCRIPCIÓN


strCodRec Entrada String Código de recogida.
strRecIncidencias Salida String XML con los datos de las incidencias de la recogida.

ATENCIÓN:

Pág. 70
Documentación WebServices

Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:

El uso es similar a la anterior.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

string xmlResult = wsWebService.ConsRecIncidencias("codigo-recogida");

Una vez ejecutada la función la variable xmlResult contendrá un XML de respuesta con el
siguiente formato, que habrá que tratar para extraer los valores:

XML
<CONSULTA>
<REC_INCIDENCIAS=""
I_ID="--ID DE LA INCIDENCIA 1--"
V_COD_TIPO_INC="--TIPO INCIDENCIA--"
T_OBS="--OBSERVACIONES--"
D_FEC_HORA_CIERRE="--FECHA/HORA CIERRE en formato mm/dd/yyyy hh:mm:ss--"
B_RESUELTA="--RESUELTA--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--USUARIO ALTA--"
V_COD_USU_RES="--USUARIO RESUELVE--"
V_COD_AGE_ALTA="--AGENCIA ALTA--"
V_COD_REP_ALTA="--REPARTIDOR ALTA--"
SD_HORA_INC="--HORA INCIDENCIA en formato mm/dd/yyyy hh:mm:ss--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA INCIDENCIA QUE TENGA ESA RECOGIDA
.
<REC_INCIDENCIAS
I_ID="--ID DE LA INCIDENCIA N--"
V_COD_TIPO_INC="--ETC –"
T_OBS="--ETC –"
D_FEC_HORA_CIERRE="--ETC en formato mm/dd/yyyy hh:mm:ss--"
B_RESUELTA="--ETC –"
D_FEC_HORA_ALTA="--ETC en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--ETC –"

Pág. 71
Documentación WebServices

V_COD_USU_RES="--ETC --"
V_COD_AGE_ALTA="--ETC --"
V_COD_REP_ALTA="--ETC –"
SD_HORA_INC="--ETC en formato mm/dd/yyyy hh:mm:ss--"
V_CAMPO_1="--ETC--"
V_CAMPO_2="--ETC--"
V_CAMPO_3="--ETC--"
V_CAMPO_4="--ETC--"
B_CAMPO_5="--ETC--"
/>
</CONSULTA>

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--id de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsRecIncidencias>
<strCodRec>--código-recogida--</strCodRec>
</WebServService___ConsRecIncidencias>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato, que habrá que tratar para extraer los valores:

XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

Pág. 72
Documentación WebServices

xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/"
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:WebServService___ConsRecIncidenciasResponse>
<v1:strRecIncidencias>
<CONSULTA>
<REC_INCIDENCIAS
I_ID="--ID DE LA INCIDENCIA 1--"
V_COD_TIPO_INC="--TIPO INCIDENCIAS--"
T_OBS="--OBSERVACIONES--"
D_FEC_HORA_CIERRE="--FECHA/HORA CIERRE en formato mm/dd/yyyy hh:mm:ss--"
B_RESUELTA="--RESUELTA--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--USUARIO ALTA--"
V_COD_USU_RES="--USUARIO RESUELVE--"
V_COD_AGE_ALTA="--AGENCIA ALTA--"
V_COD_REP_ALTA="--REPARTIDOR ALTA--"
SD_HORA_INC="--HORA INCIDENCIA en formato mm/dd/yyyy hh:mm:ss--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA INCIDENCIA QUE TENGA ESA RECOGIDA
.
<REC_INCIDENCIAS
I_ID="--ID DE INCIDENCIA N--"
V_COD_TIPO_INC="--ETC –"
T_OBS="--ETC –"
D_FEC_HORA_CIERRE="--ETC en formato mm/dd/yyyy hh:mm:ss--"
B_RESUELTA="--ETC –"
D_FEC_HORA_ALTA="--ETC en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--ETC –"
V_COD_USU_RES="--ETC --"
V_COD_AGE_ALTA="--ETC --"
V_COD_REP_ALTA="--ETC –"
SD_HORA_INC="--ETC en formato mm/dd/yyyy hh:mm:ss--"
V_CAMPO_1="--ETC--"
V_CAMPO_2="--ETC--"
V_CAMPO_3="--ETC--"
V_CAMPO_4="--ETC--"
B_CAMPO_5="--ETC--"
/>
</CONSULTA>
</v1:strRecIncidencias>
</v1:WebServService___ConsRecIncidenciasResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Pág. 73
Documentación WebServices

1.2.2.17.Método ConsRecIncidenciasRef

PARÁMETRO E/S TIPO DESCRIPCIÓN


strRef Entrada String Referencia de recogida.
strRecIncidenciasRef Salida String XML con los datos de las incidencias de las recogidas.

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:

El uso es similar a la anterior.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

string xmlResult = wsWebService.ConsRecIncidenciasRef("referencia-recogida");

Una vez ejecutada la función la variable xmlResult contendrá un XML de respuesta con el
siguiente formato, que habrá que tratar para extraer los valores:

XML
<CONSULTA>
<REC_INCIDENCIAS_REF=""
V_COD_REC="--CÓDIGO DE RECOGIDA--"
I_ID="--ID DE LA INCIDENCIA 1--"
V_COD_TIPO_INC="--TIPO INCIDENCIA--"
T_OBS="--OBSERVACIONES--"
D_FEC_HORA_CIERRE="--FECHA/HORA CIERRE en formato mm/dd/yyyy hh:mm:ss--"
B_RESUELTA="--RESUELTA--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--USUARIO ALTA--"
V_COD_USU_RES="--USUARIO RESUELVE--"
V_COD_AGE_ALTA="--AGENCIA ALTA--"
V_COD_REP_ALTA="--REPARTIDOR ALTA--"
SD_HORA_INC="--HORA INCIDENCIA en formato mm/dd/yyyy hh:mm:ss--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"

Pág. 74
Documentación WebServices

/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA INCIDENCIA QUE TENGA CADA RECOGIDA
.
<REC_INCIDENCIAS_REF
V_COD_REC="--CÓDIGO DE RECOGIDA--"
I_ID="--ID DE LA INCIDENCIA N--"
V_COD_TIPO_INC="--ETC –"
T_OBS="--ETC –"
D_FEC_HORA_CIERRE="--ETC en formato mm/dd/yyyy hh:mm:ss--"
B_RESUELTA="--ETC –"
D_FEC_HORA_ALTA="--ETC en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--ETC –"
V_COD_USU_RES="--ETC --"
V_COD_AGE_ALTA="--ETC --"
V_COD_REP_ALTA="--ETC –"
SD_HORA_INC="--ETC en formato mm/dd/yyyy hh:mm:ss--"
V_CAMPO_1="--ETC--"
V_CAMPO_2="--ETC--"
V_CAMPO_3="--ETC--"
V_CAMPO_4="--ETC--"
B_CAMPO_5="--ETC--"
/>
</CONSULTA>

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--id de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsRecIncidenciasRef>
<strRef>--referencia-recogida--</strRef>
</WebServService___ConsRecIncidenciasRef>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Pág. 75
Documentación WebServices

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato, que habrá que tratar para extraer los valores:

XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/"
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:WebServService___ConsRecIncidenciasRefResponse>
<v1:strRecIncidenciasRef>
<CONSULTA>
<REC_INCIDENCIAS_REF
V_COD_REC="--CÓDIGO DE RECOGIDA--
I_ID="--ID DE LA INCIDENCIA 1--"
V_COD_TIPO_INC="--TIPO INCIDENCIAS--"
T_OBS="--OBSERVACIONES--"
D_FEC_HORA_CIERRE="--FECHA/HORA CIERRE en formato mm/dd/yyyy hh:mm:ss--"
B_RESUELTA="--RESUELTA--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--USUARIO ALTA--"
V_COD_USU_RES="--USUARIO RESUELVE--"
V_COD_AGE_ALTA="--AGENCIA ALTA--"
V_COD_REP_ALTA="--REPARTIDOR ALTA--"
SD_HORA_INC="--HORA INCIDENCIA en formato mm/dd/yyyy hh:mm:ss--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA INCIDENCIA QUE TENGA CADA RECOGIDA
.
<REC_INCIDENCIAS_REF
V_COD_REC="--CÓDIGO DE RECOGIDA--
I_ID="--ID DE INCIDENCIA N--"
V_COD_TIPO_INC="--ETC –"
T_OBS="--ETC –"
D_FEC_HORA_CIERRE="--ETC en formato mm/dd/yyyy hh:mm:ss--"
B_RESUELTA="--ETC –"
D_FEC_HORA_ALTA="--ETC en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--ETC –"
V_COD_USU_RES="--ETC --"
V_COD_AGE_ALTA="--ETC --"
V_COD_REP_ALTA="--ETC –"
SD_HORA_INC="--ETC en formato mm/dd/yyyy hh:mm:ss--"
V_CAMPO_1="--ETC--"
V_CAMPO_2="--ETC--"
V_CAMPO_3="--ETC--"
V_CAMPO_4="--ETC--"
B_CAMPO_5="--ETC--"

Pág. 76
Documentación WebServices

/>
</CONSULTA>
</v1:strRecIncidenciasRef>
</v1:WebServService___ConsRecIncidenciasRefResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

1.2.2.18.Método ConsEnvPODDig2

PARÁMETRO E/S TIPO DESCRIPCIÓN


strCodAgeCargo Entrada String Agencia de cargo del envío.
strCodAgeOri Entrada String Agencia de origen del envío.
strAlbaran Entrada String Albarán del envío.
strURLEnvPODDig Salida String URL del POD digitalizado.
boDigitalizado Salida Boolean Si el envío está digitalizado o no.

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:

Este método recibe 3 parámetros para indicar el código del envío y devuelve la URL que contiene el POD
digitalizado y si el envío está digitalizado o no.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

bool boDigitalizado = false;


string strURLEnvPODDig = wsWebService.ConsEnvPODDig2("agencia-cargo", “agencia-origen”, “albarán”, out
boDigitalizado);

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

Pág. 77
Documentación WebServices

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--id de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsEnvPODDig2>
<strCodAgeCargo>-agencia-cargo-</strCodAgeCargo>
<strCodAgeOri>-agencia-origen-</strCodAgeOri>
<strAlbaran>-albarán-</strAlbaran>
</WebServService___ConsEnvPODDig2>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato, que habrá que tratar para extraer los valores:

XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/"
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:WebServService___ConsEnvPODDig2Response>
<v1:strURLEnvPODDig>
URL DEL POD DIGITALIZADO
</v1:strURLEnvPODDig>
<v1:boDigitalizado>
DIGITALIZADO
</v1:boDigitalizado>
</v1:WebServService___ConsEnvPODDig2Response>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Pág. 78
Documentación WebServices

Excepciones:

Esta función devuelve una excepción si el envío no existe o no se tiene permiso de visualización.
Para saber cómo controlar las excepciones devueltas por favor consulte el apartado 1.2.3, Excepciones.

1.2.2.19.Método ConsEnvPODDigRef

PARÁMETRO E/S TIPO DESCRIPCIÓN


strRef Entrada String Referencia de envío.
strURLEnvPODDigRef Salida String XML con las URL de POD digitalizado de cada envío.

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:

El uso es similar a la anterior, sólo que ésta devuelve las URL en un XML.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

string xmlResult = wsWebService.ConsEnvPODDigRef("referencia-envío");

Una vez ejecutada la función la variable xmlResult contendrá un XML de respuesta con el
siguiente formato, que habrá que tratar para extraer los valores:

XML
<CONSULTA>
<ENV_POD_DIG_REF=""
V_COD_AGE_CARGO="--AGENCIA CARGO--"
V_COD_AGE_ORI="--AGENCIA ORIGEN--"
V_ALBARAN="--ALBARÁN--"
URL="--URL POD DIGITALIZADO--"

Pág. 79
Documentación WebServices

/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA ENVÍO QUE TENGA ESA REFERENCIA.
.
<ENV_POD_DIG_REF
V_COD_AGE_CARGO="--ETC--"
V_COD_AGE_ORI="--ETC--"
V_ALBARAN="--ETC –"
URL="--ETC –"
/>
</CONSULTA>

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--id de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsEnvPODDigRef>
<strRef>--referencia-envío--</strRef>
</WebServService___ConsEnvPODDigRef>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato, que habrá que tratar para extraer los valores:

XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

Pág. 80
Documentación WebServices

xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/"
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:WebServService___ConsEnvPODDigRefResponse>
<v1:strURLEnvPODDigRef>
<CONSULTA>
<ENV_POD_DIG_REF
V_COD_AGE_CARGO="--AGENCIA CARGO--
V_COD_AGE_ORI="--AGENCIA ORIGEN--"
V_ALBARAN="--ALBARÁN--"
URL="--URL POD DIGITALIZADO--"
/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA ENVÍO QUE TENGA ESA REFERENCIA.
.
<ENV_POD_DIG_REF
V_COD_AGE_CARGO="--ETC--
V_COD_AGE_ORI="--ETC--"
V_ALBARAN="--ETC –"
URL="--ETC –"
/>
</CONSULTA>
</v1:strURLEnvPODDigRef>
</v1:WebServService___ConsEnvPODDigRefResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Excepciones:

Esta función devuelve una excepción si el envío no existe o no se tiene permiso de visualización.
Para saber cómo controlar las excepciones devueltas por favor consulte el apartado 1.2.3, Excepciones.

1.2.2.20.Método BorraEnvio

PARÁMETRO E/S TIPO DESCRIPCIÓN


strCodAgeCargo Entrada String Agencia de cargo.
strCodAgeOri Entrada String Agencia de origen.
strAlbaran Entrada String Albarán del envío.

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Pág. 81
Documentación WebServices

Uso:

El uso es similar a la anterior.

Ejemplo:

C#
/*código-error*/
int intCodError;

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

try
{
intCodError = wsWebService.BorraEnvio("agencia-cargo", "agencia-ori", “albaran” );
}
catch (Exception eExcepcion)
{
MessageBox.Show(eExcepcion.Message);
}

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--id de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___BorraEnvio xmlns="http://tempuri.org/">
<strCodAgeCargo>--agencia-cargo--</strCodAgeCargo>
<strCodAgeOri>--agencia-origen--</strCodAgeOri>
<strAlbaran>--albaran--</strAlbaran>
</WebServService___BorraEnvio>
</soap:Body>

Pág. 82
Documentación WebServices

</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato, que habrá que tratar para extraer los valores:

XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/">
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:WebServService___BorraEnvioResponse>
<v1:intCodError>"--OUT CÓDIGO DE ERROR--"</v1:intCodError>
</v1:WebServService___BorraEnvioResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Excepciones:

Esta función devuelve las siguientes excepciones:

CÓDIGO DESCRIPCIÓN
1 El envío no existe
2 El usuario no tiene permiso para borrar este envío
3 La fecha está fuera del rango permitido

Para saber cómo controlar las excepciones devueltas por favor consulte el apartado 1.2.3, Excepciones.

1.2.2.21.Método InfEnvEstPOD

PARÁMETRO E/S TIPO DESCRIPCIÓN


dtFecha Entrada DateTime Fecha de alta de los estados de envíos a consultar.
strInfEstEnvPOD Salida String XML con los datos de los estados de envíos.

Pág. 83
Documentación WebServices

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:

El uso es similar a la anterior.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

string xmlResult = wsWebService.InfEnvEstPOD("fecha-alta");

Una vez ejecutada la función la variable xmlResult contendrá un XML de respuesta con el
siguiente formato, que habrá que tratar para extraer los valores:

XML
<CONSULTA>
<ENVIO>
<ENV
V_COD_AGE_CARGO="--AGENCIA DE CARGO 1--"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN 1--"
V_ALBARAN="--ALBARAN 1--"
D_FECHA="--FECHA SALIDA en formato mm/dd/yyyy hh:mm:ss--"
V_COD_AGE_DES="--AGENCIA DE DESTINO 1--"
V_COD_TIPO_SERV="--TIPO DE SERVICIO 1--"
V_COD_CLI="--CLIENTE 1--"
V_COD_CLI_DEP="--DEPARTAMENTO 1--"
V_NOM_ORI="--REMITENTE 1--"
V_TIPO_VIA_ORI="--TIPO DE VÍA ORIGEN 1--"
V_DIR_ORI="--DIRECCIÓN ORIGEN 1--"
V_NUM_ORI="--NÚMERO ORIGEN 1--"
V_PISO_ORI="--PISO ORIGEN 1--"
V_POB_ORI="--POBLACIÓN ORIGEN 1--"
V_CP_ORI="--C.P. ORIGEN 1--"
V_COD_PRO_ORI="--PROVINCIA ORIGEN 1--"
V_TLF_ORI="--TELÉFONO ORIGEN 1--"
V_NOM_DES="--DESTINATARIO 1--"
V_TIPO_VIA_DES="--TIPO DE VÍA DESTINO 1--"
V_DIR_DES="--DIRECCIÓN DESTINO 1--"
V_NUM_DES="--NÚMERO DESTINO 1--"
V_PISO_DES="--PISO DESTINO 1--"
V_POB_DES="--POBLACIÓN DESTINO 1--"
V_CP_DES="--C.P. DESTINO 1--"

Pág. 84
Documentación WebServices

V_COD_PRO_DES="--PROVINCIA DESTINO 1--"


V_TLF_DES="--TELÉFONO DESTINO 1--"
I_DOC="--DOCUMENTOS 1--"
I_PAQ="--PAQUETES 1--"
I_BUL="--BULTOS 1--"
F_PESO_ORI="--PESO ORIGEN 1--"
F_ALTO_ORI="--ALTO ORIGEN 1--"
F_ANCHO_ORI="--ANCHO ORIGEN 1--"
F_LARGO_ORI="--LARGO ORIGEN 1--"
F_PESO_VOLPES="--PESO VOLPES 1--"
F_ALTO_VOLPES="--ALTO VOLPES 1--"
F_ANCHO_VOLPES="--ANCHO VOLPES 1--"
F_LARGO_VOLPES="--LARGO VOLPES 1--"
F_REEMBOLSO="--REEMBOLSO 1--"
F_VALOR="--VALOR 1--"
F_ANTICIPO="--ANTICIPO 1--"
F_COB_CLI="--COB. CTE. 1--"
F_PORTE_DEB="--PORTE DEBIDO 1--"
V_OBS="--OBSERVACIONES 1--"
D_FEC_ENTR="--FECHA DE ENTREGA en formato mm/dd/yyyy hh:mm:ss--"
B_SABADO="--SÁBADO 1--"
B_TECLE_DES="--TECLEADO EN DESTINO 1--"
B_RETORNO="--RETORNO 1--"
B_GEST_ORI="--GESTIÓN EN ORIGEN 1--"
B_GEST_DES="--GESTIÓN EN DESTINO 1--"
B_ANULADO="--ANULADO 1--"
B_ACUSE="--ACUSE 1--"
V_COD_REP="--REPARTIDOR 1--"
V_COD_USU_ALTA="--USUARIO DE ALTA 1--"
V_COD_CLI_ALTA="--CLIENTE DE ALTA 1--"
V_COD_CLI_DEP_ALTA="--DEPARTAMENTO DE ALTA 1--"
V_COD_AGE_ALTA="--AGENCIA DE ALTA 1--"
V_REF="--REFERENCIA 1--"
V_ASOCIADO_RET="--ENVÍO ASOCIADO 1--"
V_COD_SAL_RUTA="--SALIDA DE RUTA 1--"
V_TIPO_ENV="--TIPO DE ENVÍO 1--"
F_BASE_IMP="--BASE IMPONIBLE 1--"
F_IMPUESTO="--IMPUESTO 1--"
D_FEC_HORA_ALTA="--FECHA Y HORA DE ALTA en formato mm/dd/yyyy hh:mm:ss--"
B_VALIDADO="--VALIDADO 1--"
B_CLIENTE="--DADO DE ALTA POR UN CLIENTE 1--"
B_PORTE_DEB_CLI="--PORTE DEBIDO CLIENTE 1--"
V_PERS_CONTACTO="--PERSONA DE CONTACTO 1--"
V_COD_REC_ASOC="--RECOGIDA ASOCIADA 1--"
D_FEC_HORA_ASIG_REP="--FECHA Y HORA DE ASIGNACIÓN DE REPARTIDOR en formato
mm/dd/yyyy hh:mm:ss--"
B_REM_SMS="--AVISO AL REMITENTE POR SMS 1--"
B_REM_EMAIL="--AVISO AL REMITENTE POR EMAIL 1--"
V_REM_MOVILES="--MÓVILES DEL REMITENTE 1--"
V_REM_DIR_EMAILS="--EMAILS DEL REMITENTE 1--"
B_REM_ALTA="--AVISO AL REMITENTE EN EL ALTA DE ENVÍOS 1--"
B_REM_ENTREGA="--AVISO AL REMITENTE EN LA ENTREGA DE ENVÍOS 1--"
B_REM_INCI="--AVISO AL REMITENTE EN LA GENERACIÓN DE INCIDENCIAS 1--"
B_REM_RES_INCI="--AVISO AL REMITENTE EN LA RESOLUCIÓN DE INCIDENCIAS 1--"
B_DES_SMS="--AVISO AL DESTINATARIO POR SMS 1--"
B_DES_EMAIL="--AVISO AL DESTINATARIO POR EMAIL 1--"
V_DES_MOVILES="--MÓVILES DEL DESTINATARIO 1--"
V_DES_DIR_EMAILS="--EMAILS DEL DESTINATARIO 1--"
B_DES_ALTA="--AVISO AL DESTINATARIO EN EL ALTA DE ENVÍOS 1--"
B_DES_INCI="--AVISO AL DESTINATARIO EN LA GENERACIÓN DE INCIDENCIAS 1--"
B_DES_RES_INCI="--AVISO AL DESTINATARIO EN LA RESOLUCIÓN DE INCIDENCIAS 1--"
B_REM_REP="--AVISO AL REMITENTE EN EL REPARTO DEL ENVÍO 1--"
B_REM_REC_DEL="--AVISO AL REMITENTE AL RECOGER EN DELEGACIÓN 1--"
B_DES_REP="--AVISO AL DESTINATARIO EN EL REPARTO DEL ENVÍO 1--"
B_DES_REC_DEL="--AVISO AL DESTINATARIO AL RECOGER EN DELEGACIÓN 1--"

Pág. 85
Documentación WebServices

V_COD_PAIS="--PAÍS 1--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
/>
<PODENV
V_NOM_POD="--NOMBRE DEL POD--"
V_DNI_POD="--D.N.I. DEL POD--"
D_FEC_HORA_ENTR_POD="--FECHA Y HORA DEL POD en formato mm/dd/yyyy hh:mm:ss--"
V_OBS_POD="--OBSERVACIONES DEL POD--"
D_FEC_HORA_ALTA_POD="--FECHA Y HORA DE ALTA DEL POD en formato mm/dd/yyyy hh:mm:ss-
-"
V_COD_USU_ALTA_POD="--USUARIO DE ALTA DEL POD--"
V_COD_REP_ALTA_POD="--REPARTIDOR DE ALTA DEL POD--"
V_COD_AGE_ALTA_POD="--AGENCIA DE ALTA DEL POD--"
/>
<ESTADO
I_ID_EST="--ID DEL ESTADO 1--"
V_COD_TIPO_EST="--CÓDIGO DEL TIPO DE ESTADO 1--"
D_FEC_HORA_ALTA_EST="--FECHA Y HORA DE ALTA DEL ESTADO 1 en formato mm/dd/yyyy
hh:mm:ss--"
V_COD_USU_ALTA_EST="--USUARIO DE ALTA DEL ESTADO 1--"
V_COD_CLI_ALTA_EST="--CLIENTE DE ALTA DEL ESTADO 1--"
V_COD_CLI_DEP_ALTA_EST="--DEPARTAMENTO DE ALTA DEL ESTADO 1--"
V_COD_AGE_ALTA_EST="--AGENCIA DE ALTA DEL ESTADO 1--"
V_COD_REP_ALTA_POD="--REPARTIDOR DE ALTA DEL ESTADO 1--"
B_ULT_EST="--SI ESTE ESTADO ES EL ÚLTIMO--"
/>

// DEVOLVERÁ UN BLOQUE POR CADA ESTADO QUE TENGA EL ENVÍO

</ENVIO>

// DEVOLVERÁ UN BLOQUE POR CADA ENVÍO

</CONSULTA>

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>

Pág. 86
Documentación WebServices

<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--ID de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___InfEnvEstPOD>
<dtFecha>-fecha-salida en formato yyyy/mm/dd-</dtFecha>
</WebServService___InfEnvEstPOD>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato, que habrá que tratar para extraer los valores:

XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/"
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:WebServService___InfEnvEstPODResponse>
<v1:strInfEnvios>
<CONSULTA>
<ENVIO>
<ENV
V_COD_AGE_CARGO="--AGENCIA DE CARGO 1--"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN 1--"
V_ALBARAN="--ALBARAN 1--"
D_FECHA="--FECHA SALIDA en formato mm/dd/yyyy hh:mm:ss--"
V_COD_AGE_DES="--AGENCIA DE DESTINO 1--"
V_COD_TIPO_SERV="--TIPO DE SERVICIO 1--"
V_COD_CLI="--CLIENTE 1--"
V_COD_CLI_DEP="--DEPARTAMENTO 1--"
V_NOM_ORI="--REMITENTE 1--"
V_TIPO_VIA_ORI="--TIPO DE VÍA ORIGEN 1--"
V_DIR_ORI="--DIRECCIÓN ORIGEN 1--"
V_NUM_ORI="--NÚMERO ORIGEN 1--"
V_PISO_ORI="--PISO ORIGEN 1--"
V_POB_ORI="--POBLACIÓN ORIGEN 1--"
V_CP_ORI="--C.P. ORIGEN 1--"
V_COD_PRO_ORI="--PROVINCIA ORIGEN 1--"
V_TLF_ORI="--TELÉFONO ORIGEN 1--"

Pág. 87
Documentación WebServices

V_NOM_DES="--DESTINATARIO 1--"
V_TIPO_VIA_DES="--TIPO DE VÍA DESTINO 1--"
V_DIR_DES="--DIRECCIÓN DESTINO 1--"
V_NUM_DES="--NÚMERO DESTINO 1--"
V_PISO_DES="--PISO DESTINO 1--"
V_POB_DES="--POBLACIÓN DESTINO 1--"
V_CP_DES="--C.P. DESTINO 1--"
V_COD_PRO_DES="--PROVINCIA DESTINO 1--"
V_TLF_DES="--TELÉFONO DESTINO 1--"
I_DOC="--DOCUMENTOS 1--"
I_PAQ="--PAQUETES 1--"
I_BUL="--BULTOS 1--"
F_PESO_ORI="--PESO ORIGEN 1--"
F_ALTO_ORI="--ALTO ORIGEN 1--"
F_ANCHO_ORI="--ANCHO ORIGEN 1--"
F_LARGO_ORI="--LARGO ORIGEN 1--"
F_PESO_VOLPES="--PESO VOLPES 1--"
F_ALTO_VOLPES="--ALTO VOLPES 1--"
F_ANCHO_VOLPES="--ANCHO VOLPES 1--"
F_LARGO_VOLPES="--LARGO VOLPES 1--"
F_REEMBOLSO="--REEMBOLSO 1--"
F_VALOR="--VALOR 1--"
F_ANTICIPO="--ANTICIPO 1--"
F_COB_CLI="--COB. CTE. 1--"
F_PORTE_DEB="--PORTE DEBIDO 1--"
V_OBS="--OBSERVACIONES 1--"
D_FEC_ENTR="--FECHA DE ENTREGA en formato mm/dd/yyyy hh:mm:ss--"
B_SABADO="--SÁBADO 1--"
B_TECLE_DES="--TECLEADO EN DESTINO 1--"
B_RETORNO="--RETORNO 1--"
B_GEST_ORI="--GESTIÓN EN ORIGEN 1--"
B_GEST_DES="--GESTIÓN EN DESTINO 1--"
B_ANULADO="--ANULADO 1--"
B_ACUSE="--ACUSE 1--"
V_COD_REP="--REPARTIDOR 1--"
V_COD_USU_ALTA="--USUARIO DE ALTA 1--"
V_COD_CLI_ALTA="--CLIENTE DE ALTA 1--"
V_COD_CLI_DEP_ALTA="--DEPARTAMENTO DE ALTA 1--"
V_COD_AGE_ALTA="--AGENCIA DE ALTA 1--"
V_REF="--REFERENCIA 1--"
V_ASOCIADO_RET="--ENVÍO ASOCIADO 1--"
V_COD_SAL_RUTA="--SALIDA DE RUTA 1--"
V_TIPO_ENV="--TIPO DE ENVÍO 1--"
F_BASE_IMP="--BASE IMPONIBLE 1--"
F_IMPUESTO="--IMPUESTO 1--"
D_FEC_HORA_ALTA="--FECHA Y HORA DE ALTA en formato mm/dd/yyyy hh:mm:ss--"
B_VALIDADO="--VALIDADO 1--"
B_CLIENTE="--DADO DE ALTA POR UN CLIENTE 1--"
B_PORTE_DEB_CLI="--PORTE DEBIDO CLIENTE 1--"
V_PERS_CONTACTO="--PERSONA DE CONTACTO 1--"
V_COD_REC_ASOC="--RECOGIDA ASOCIADA 1--"
D_FEC_HORA_ASIG_REP="--FECHA Y HORA DE ASIGNACIÓN DE REPARTIDOR en formato
mm/dd/yyyy hh:mm:ss--"
B_REM_SMS="--AVISO AL REMITENTE POR SMS 1--"
B_REM_EMAIL="--AVISO AL REMITENTE POR EMAIL 1--"
V_REM_MOVILES="--MÓVILES DEL REMITENTE 1--"
V_REM_DIR_EMAILS="--EMAILS DEL REMITENTE 1--"
B_REM_ALTA="--AVISO AL REMITENTE EN EL ALTA DE ENVÍOS 1--"
B_REM_ENTREGA="--AVISO AL REMITENTE EN LA ENTREGA DE ENVÍOS 1--"
B_REM_INCI="--AVISO AL REMITENTE EN LA GENERACIÓN DE INCIDENCIAS 1--"
B_REM_RES_INCI="--AVISO AL REMITENTE EN LA RESOLUCIÓN DE INCIDENCIAS 1--"
B_DES_SMS="--AVISO AL DESTINATARIO POR SMS 1--"
B_DES_EMAIL="--AVISO AL DESTINATARIO POR EMAIL 1--"
V_DES_MOVILES="--MÓVILES DEL DESTINATARIO 1--"
V_DES_DIR_EMAILS="--EMAILS DEL DESTINATARIO 1--"

Pág. 88
Documentación WebServices

B_DES_ALTA="--AVISO AL DESTINATARIO EN EL ALTA DE ENVÍOS 1--"


B_DES_INCI="--AVISO AL DESTINATARIO EN LA GENERACIÓN DE INCIDENCIAS 1--"
B_DES_RES_INCI="--AVISO AL DESTINATARIO EN LA RESOLUCIÓN DE INCIDENCIAS 1--"
B_REM_REP="--AVISO AL REMITENTE EN EL REPARTO DEL ENVÍO 1--"
B_REM_REC_DEL="--AVISO AL REMITENTE AL RECOGER EN DELEGACIÓN 1--"
B_DES_REP="--AVISO AL DESTINATARIO EN EL REPARTO DEL ENVÍO 1--"
B_DES_REC_DEL="--AVISO AL DESTINATARIO AL RECOGER EN DELEGACIÓN 1--"
V_COD_PAIS="--PAÍS 1--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
/>
<PODENV
V_NOM_POD="--NOMBRE DEL POD--"
V_DNI_POD="--D.N.I. DEL POD--"
D_FEC_HORA_ENTR_POD="--FECHA Y HORA DEL POD en formato mm/dd/yyyy hh:mm:ss--"
V_OBS_POD="--OBSERVACIONES DEL POD--"
D_FEC_HORA_ALTA_POD="--FECHA Y HORA DE ALTA DEL POD en formato mm/dd/yyyy
hh:mm:ss--"
V_COD_USU_ALTA_POD="--USUARIO DE ALTA DEL POD--"
V_COD_REP_ALTA_POD="--REPARTIDOR DE ALTA DEL POD--"
V_COD_AGE_ALTA_POD="--AGENCIA DE ALTA DEL POD--"
/>
<ESTADO
I_ID_EST="--ID DEL ESTADO 1--"
V_COD_TIPO_EST="--CÓDIGO DEL TIPO DE ESTADO 1--"
D_FEC_HORA_ALTA_EST="--FECHA Y HORA DE ALTA DEL ESTADO 1 en formato mm/dd/yyyy
hh:mm:ss--"
V_COD_USU_ALTA_EST="--USUARIO DE ALTA DEL ESTADO 1--"
V_COD_CLI_ALTA_EST="--CLIENTE DE ALTA DEL ESTADO 1--"
V_COD_CLI_DEP_ALTA_EST="--DEPARTAMENTO DE ALTA DEL ESTADO 1--"
V_COD_AGE_ALTA_EST="--AGENCIA DE ALTA DEL ESTADO 1--"
V_COD_REP_ALTA_POD="--REPARTIDOR DE ALTA DEL ESTADO 1--"
B_ULT_EST="--SI ESTE ESTADO ES EL ÚLTIMO--"
/>

// DEVOLVERÁ UN BLOQUE POR CADA ESTADO QUE TENGA EL ENVÍO

</ENVIO>

// DEVOLVERÁ UN BLOQUE POR CADA ENVÍO

</CONSULTA>
</v1:strInfEnvEstPOD>
</v1:WebServService___InfEnvEstPODResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

1.2.2.22.Método GrabaRecDestino4

PARÁMETRO E/S TIPO DESCRIPCIÓN

Pág. 89
Documentación WebServices

strCodRec Entrada String Código recogida.


strNom Entrada String Destinatario.
strTipoVia Entrada String Tipo de vía.
strDir Entrada String Dirección.
strNum Entrada String Número de casa.
strPiso Entrada String Piso.
strPob Entrada String Población.
strCP Entrada String Código postal.
strTlf Entrada String Teléfono.
strCodPro Entrada String Código de provincia.
strCodAge Entrada String Código de agencia.
strObs Entrada String Observaciones.
strCodTipoServ Entrada String Código de tipo servicio.
strRef Entrada String Referencia.
intBul Entrada Integer Número de bultos.
dPeso Entrada Double Peso.
dReembolso Entrada Double Reembolso.
dValor Entrada Double Valor.
dCobCli Entrada Double Cobro cliente.
boAcuse Entrada Boolean Acuse.
boRetorno Entrada Boolean Retorno.
boGestDes Entrada Boolean Gestión en destino.
boSabado Entrada Boolean Recogida en sábado.
strCodPais Entraga String País.
strDesMoviles Entrada String Móviles del destinatario para enviar los avisos.
strDesDirEmails Entrada String Emails del destinatario para enviar los avisos.
boDesSmsAlta Entrada Boolean Aviso en el alta de recogida para el destinatario por sms.
boDesEmailAlta Entrada Boolean Aviso en el alta de recogida para el destinatario por email.
boDesSmsFin Entrada Boolean Aviso al finalizar recogidas para el destinatario por sms.
boDesEmailFin Entrada Boolean Aviso al finalizar recogidas para el destinatario por email.
boDesSmsInci Entrada Boolean Aviso al generar incidencias para el destinatario por sms.
boDesEmailInci Entrada Boolean Aviso al generar incidencias para el destinatario por email.
Aviso en la resolución de incidencias para el destinatario por
boDesSmsResInci Entrada Boolean
sms.
Aviso en la resolución de incidencias para el destinatario por
boDesEmailResInci Entrada Boolean
email.
boDesSmsRep Entrada Boolean Aviso en el reparto para el destinatario por sms.
boDesEmailRep Entrada Boolean Aviso en el reparto para el destinatario por email.
dBaseImp Entrada Double Base imponible.
dImpuesto Entrada Double Impuesto.
strCampo1 Entrada String Campo personalizado 1
strCampo2 Entrada String Campo personalizado 2
strCampo3 Entrada String Campo personalizado 3
strCampo4 Entrada String Campo personalizado 4
boCampo5 Entrada Boolean Campo personalizado 5

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:

El uso es similar a la anterior.

Ejemplo:

Pág. 90
Documentación WebServices

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = strSesion;

try
{
wsWebService.GrabaRecDestino4("codigo-recogida", "destinatario”, “tipo-vía”, “dirección”, “número”,
“piso”, “población”, “código-postal”, “teléfono”, “provincia”,
“agencia”, “observaciones”, “referencia”, “bultos”, “peso”,
“reembolso”, “valor”, “cob-cli”, “acuse”, “retorno”, “gest-des”,
“sábado”, “cód-país”, “moviles-destinatario”, “emails-destinatario”,
aviso-alta-destinatario-sms, aviso-alta-destinatario-email,
aviso-finalizada-destinatario-sms, aviso-finalizada-destinatario-email,
aviso-incidencia-destinatario-sms, aviso-incidencia-destinatario-email,
aviso-resolucion-incidencia-destinatario-sms,
aviso-resolucion-incidencia-destinatario-email,
aviso-reparto-destinatario-sms, aviso-reparto-destinatario-email,
base-imponible, impuesto, “campo1”, “campo2”, “campo3”, “campo4”,
campo5);
}
catch (Exception eExcepcion)
{
MessageBox.Show(eExcepcion.Message);
}

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--ID-SESION--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___GrabaRecDestino4 xmlns="http://tempuri.org/">
<strCodRec>--código-recogida--</strCodRec>
<strNom>--destinatario--</strNom>
<strTipoVia>--tipo de vía--</strTipoVia>
<strDir>--dirección--</strDir>
<strNum>--número--</strNum>
<strPiso>--piso--</strPiso>
<strPob>--población--</strPob>
<strCP>--código-postal--</strCP>
<strTlf>--teléfono--</strTlf>
<strCodPro>--provincia--</strCodPro>

Pág. 91
Documentación WebServices

<strCodAge>--agencia--</strCodAge>
<strObs>--observaciones--</strObs>
<strCodTipoServ>--tipo-servicio--</strCodTipoServ>
<strRef>--referencia--</strRef>
<intBul>--bultos--</intBul>
<dPeso>--peso--</dPeso>
<dReembolso>--reembolso--</dReembolso>
<dValor>--valor--</dValor>
<dCobCli>--cob-cli--</dCobCli>
<boAcuse>--acuse--</boAcuse>
<boRetorno>--retorno--</boRetorno>
<boGestDes>--gest-des--</boGestDes>
<boSabado>--sábado--</boSabado>
<strCodPais>--país--</strCodPais>
<strDesMoviles>--moviles-destinatario--</strDesMoviles>
<strDesDirEmails>--emails-destinatario--</strDesDirEmails>
<boDesSmsAlta>--aviso-alta-destinatario-sms--</boDesSmsAlta>
<boDesEmailAlta>--aviso-alta-destinatario-email--</boDesEmailAlta>
<boDesSmsFin>--aviso-recogida-finalizada-destinatario-sms--</boDesSmsFin>
<boDesEmailFin>--aviso-recogida-finalizada-destinatario-email--</boDesEmailFin>
<boDesSmsInci>--aviso-incidencia-destinatario-sms--</boDesSmsInci>
<boDesEmailInci>--aviso-incidencia-destinatario-email--</boDesEmailInci>
<boDesSmsResInci>--aviso-resolucion-incidencia-destinatario-sms--</boDesSmsResInci>
<boDesEmailResInci>--aviso-resolucion-incidencia-destinatario-email--</boDesEmailResInci>
<boDesSmsRep>--aviso-reparto-destinatario-sms--</boDesSmsRep>
<boDesEmailRep>--aviso-reparto-destinatario-email--</boDesEmailRep>
<dBaseImp>--base imponible--</dBaseImp>
<dImpuesto>--impuesto--</dImpuesto>
<strCampo1>--campo1--</strCampo1>
<strCampo2>--campo2--</strCampo2>
<strCampo3>--campo3--</strCampo3>
<strCampo4>--campo4--</strCampo4>
<boCampo5>--campo5--</boCampo5>
</WebServService___GrabaRecDestino4>
</soap:Body>
</soap:Envelope>’);
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Excepciones:

Esta función devuelve las siguientes excepciones:

CÓDIGO DESCRIPCIÓN
1 El código postal es nulo o no válido.
2 La agencia no existe o está inactiva.
3 Error de admisión.
4 El tipo de servicio no existe o está inactivo.
5 El país no existe.
6 La referencia es obligatoria para el cliente seleccionado.
7 La recogida no existe.

Para saber cómo controlar las excepciones devueltas por favor consulte el apartado 1.2.3, Excepciones.

Pág. 92
Documentación WebServices

1.2.2.23.Método GrabaRecogeme2

PARÁMETRO E/S TIPO DESCRIPCIÓN


strCod Entrada String Código recogida.
strCodAgeCargo Entrada String Código de la agencia de cargo.
strCodCli Entrada String Código de cliente.
strCodCliDep Entrada String Código de departamento.
strCodAgeOri Entrada String Código de la agencia de origen.
dtFecRec Entrada Datetime Fecha de recogida.
dtHoraRecIni Entrada Datetime Inicio de hora de recogida.
dtHoraRecFin Entrada Datetime Fin de hora de recogida.
dtHoraRecIniTarde Entrada Datetime Inicio de hora de recogida por la tarde.
dtHoraRecFinTarde Entrada Datetime Fin de hora de recogida por la tarde.
strNomOri Entrada String Nombre remitente.
strTipoViaOri Entrada String Tipo de vía del remitente (C = calle, PZA = plaza, etc.).
strDirOri Entrada String Nombre de vía del remitente.
strNumOri Entrada String Número de casa del remitente.
strPisoOri Entrada String Número de piso del remitente.
strPobOri Entrada String Población del remitente.
strCPOri Entrada String Código postal del remitente.
strTlfOri Entrada String Teléfono del remitente.
strCodProOri Entrada String Código provincia del remitente.
intBul Entrada Integer Número de bultos.
dPeso Entrada Double Peso de la recogida.
intEnvios Entrada Integer Nº de envíos asociados al recógeme.
strObs Entrada String Observaciones.
strRef Entrada String Referencia.
strPersContacto Entrada String Persona de contacto.
strCodVeh Entrada String Vehículo.
dAnticipo Entrada Double Anticipo.
dValor Entrada Double Valor.
dReembolso Entrada Double Reembolso.
dCobCli Entrada Double Cobro cliente.
dImpuesto Entrada Double Impuesto.
dBaseImp Entrada Double Base imponible.
boAutKM Entrada Boolean Autoriza kilómetros.
boSabado Entrada Boolean Recogida en sábado.
boAcuse Entrada Boolean Acuse.
boRetorno Entrada Boolean Retorno.
boGestOri Entrada Boolean Gestión en origen.
boGestDes Entrada Boolean Gestión en destino.
strCampo1 Entrada String Campo personalizado 1.
strCampo2 Entrada String Campo personalizado 2.
strCampo3 Entrada String Campo personalizado 3.
strCampo4 Entrada String Campo personalizado 4.
boCampo5 Entrada Boolean Campo personalizado 5.
strRemMoviles Entrada String Móviles del remitente para enviar los avisos.
strRemDirEmails Entrada String Emails del remitente para enviar los avisos.
boRemSmsAlta Entrada Boolean Aviso en el alta de recogida para el remitente por sms.
boRemEmailAlta Entrada Boolean Aviso en el alta de recogida para el remitente por email.
boRemSmsInci Entrada Boolean Aviso al generar incidencias para el remitente por sms.
boRemEmailInci Entrada Boolean Aviso al generar incidencias para el remitente por email.
boRemSmsResInci Entrada Boolean Aviso en la resolución de incidencias para el remitente por sms.
Aviso en la resolución de incidencias para el remitente por
boRemEmailResInci Entrada Boolean
email.

Pág. 93
Documentación WebServices

boRemSmsRep Entrada Boolean Aviso en el reparto para el remitente por sms.


boRemEmailRep Entrada Boolean Aviso en el reparto para el remitente por email.
strCodOut Salida String Código de recogida (cuando no se indica al grabar).
strTipoRecOut Salida String Tipo de recogida.
dtFechaHoraAltaOut Salida Datetime Fecha de alta.
strCodAgeOriOut Salida String Código de agencia de origen.
strCodProOriOut Salida String Código de provincia de origen.
dPorteDebOut Salida Double Porte debido.

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:

El uso es similar a la anterior.

Ejemplo:

C#
/*cod-rec*/ /*tipo-recogida*/ /*cod-age-ori*/ /*cod-provincia-ori*/
string strCodOut, strTipoRecOut, strCodAgeOriOut, strCodProOriOut;

/*fecha-hora-alta*/
DateTime dtFecHoraAltaOut;

/*porte-debido*/
Double dPorteDebOut;

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = strSesion;

try
{
strCodOut = wsWebService.GrabaRecogeme2("codigo-recogida", “agencia-cargo”, “código-cliente”,
“código-departamento”, "agencia-origen", "fecha-recogida", "hora-recogida-ini”, “hora-recogida-fin",
“hora-recogida-ini-tarde”, “hora-recogida-fin-tarde”, “nombre-origen”, "tipo-via-origen",
"dirección-origen", "numero-origen", "piso-origen", "poblacion-origen", "codigo-postal-origen",
"telefono-origen", "codigo-provincia-origen", bultos, peso, número-envíos, "observaciones",
“referencia”, “persona-contacto”, “código-vehículo”, anticipo, valor, reembolso, cobro-cliente,
impuesto, base-imponible, autoriza-kilómetros, recogida-sábado,acuse, retorno, gestión-origen,
gestión-destino, “campo1”, “campo2”, “campo3”, “campo4”, campo5, “moviles-remitente”,
“emails-remitente”, aviso-alta-remitente-sms, aviso-alta-remitente-email, aviso-incidencia-remitente-sms,
aviso-incidencia-remitente-email, aviso-resolucion-incidencia-remitente-sms,
aviso-resolucion-incidencia-remitente-email, aviso-reparto-remitente-sms, aviso-reparto-remitente-email,
out strCodOut, out strTipoRecOut, out dtFecHoraAltaOut, out strCodAgeOriOut, out strCodProOriOut,
out dPorteDebOut);
}
catch (Exception eExcepcion)
{
MessageBox.Show(eExcepcion.Message);

Pág. 94
Documentación WebServices

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--ID-SESION--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___GrabaRecogeme2 xmlns="http://tempuri.org/">
<strCod>--codigo-recogida--</strCod>
<strCodAgeCargo>--agencia-cargo--</strCodAgeCargo>
<strCodCli>--codigo-cliente--</strCodCli>
<strCodCliDep>--codigo-departamento--</strCodCliDep>
<strCodAgeOri>--agencia-origen--</strCodAgeOri>
<dtFecRec>--fecha-recogida en formato yyyy/mm/dd--</dtFecRec>
<dtHoraRecIni>--hora-inicio-rec en formato yyyy/mm/dd hh:mm:ss--</dtHoraRecIni>
<dtHoraRecFin>--hora-fin-rec en formato yyyy/mm/dd hh:mm:ss--</dtHoraRecFin>
<dtHoraRecIniTarde>--hora-inicio-rec-tarde yyyy/mm/dd hh:mm:ss--</dtHoraRecIniTarde>
<dtHoraRecFinTarde>--hora-fin-rec-tarde en formato yyyy/mm/dd hh:mm:ss--</dtHoraRecFinTarde>
<strNomOri>--nombre-origen--</strNomOri>
<strTipoViaOri>--tipo-via-origen--</strTipoViaOri>
<strDirOri>--dirección-origen--</strDirOri>
<strNumOri>--numero-origen--</strNumOri>
<strPisoOri>--piso--</strPisoOri>
<strPobOri>--poblacion-origen--</strPobOri>
<strCPOri>--cod-postal-ori--</strCPOri>
<strTlfOri>--telefono-origen--</strTlfOri>
<strCodProOri>--codigo-provincia-origen--</strCodProOri>
<intBul>--bultos--</intBul>
<dPeso>--peso--</dPeso>
<intEnvios>--número-envíos--</intEnvios>
<strObs>--observaciones--</strObs>
<strRef>--referencia--</strRef>

Pág. 95
Documentación WebServices

<strPersContacto>--persona-contacto--</strPersContacto>
<strCodVeh>--codigo-vehículo--</strCodVeh>
<dAnticipo>--anticipo--</dAnticipo>
<dValor>--valor--</dValor>
<dReembolso>--reembolso--</dReembolso>
<dCobCli>--cobro-cliente--</dCobCli>
<dImpuesto>--impuesto--</dImpuesto>
<dBaseImp>--base-imponible--</dBaseImp>
<boAutKm>--autoriza-kilómetros--</boAutKm>
<boSabado>--recogida-sabado--</boSabado>
<boAcuse>--acuse--</boAcuse>
<boRetorno>--retorno--</boRetorno>
<boGestOri>--gestión-origen--</boGestOri>
<strCampo1>--campo-1--</strCampo1>
<strCampo2>--campo-2--</strCampo2>
<strCampo3>--campo-3--</strCampo3>
<strCampo4>--campo-4--</strCampo4>
<boCampo5>--campo-5--</boCampo5>
<strRemMoviles>--moviles-remitente--</strRemMoviles>
<strRemDirEmails>--emails-remitente--</strRemDirEmails>
<boRemSmsAlta>--aviso-alta-remitente-sms--</boRemSmsAlta>
<boRemEmailAlta>--aviso-alta-remitente-email--</boRemEmailAlta>
<boRemSmsInci>--aviso-incidencia-remitente-sms--</boRemSmsInci>
<boRemEmailInci>--aviso-incidencia-remitente-email--</boRemEmailInci>
<boRemSmsResInci>--aviso-resolucion-incidencia-remitente-sms--</boRemSmsResInci>
<boRemEmailResInci>--aviso-resolucion-incidencia-remitente-email--</boRemEmailResInci>
<boRemSmsRep>--aviso-reparto-remitente-sms--</boRemSmsRep>
<boRemEmailRep>--aviso-reparto-remitente-email--</boRemEmailRep>
</WebServService___GrabaRecogeme2>
</soap:Body>
</soap:Envelope>’);
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato, que habrá que tratar para extraer los valores:

XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/">
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--ID-SESION--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:WebServService___GrabaRecogeme2Response>
<v1:strCodOut>--OUT-CODIGO-RECOGIDA--</v1:strCodOut>
<v1:strTipoRecOut>--OUT-TIPO-RECOGIDA--</v1:strTipoRecOut>
<v1:dtFecHoraAltaOut>--OUT-FECHA-HORA-ALTA en formato yyyy/mm/dd hh:mm:ss--
</v1:dtFecHoraAltaOut>
<v1:strCodAgeOriOut>--OUT-CODIGO-AGENCIA-ORI--</v1:strCodAgeOriOut>
<v1:strCodProOriOut>--OUT-CODIGO-PROVINCIA-ORI--</v1:strCodProOriOut>
<v1:fPorteDebOut>--OUT-PORTE-DEB --</v1:fPorteDebOut>

Pág. 96
Documentación WebServices

</v1:WebServService___GrabaRecogeme2Response>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Excepciones:

Esta función devuelve las siguientes excepciones:

CÓDIGO DESCRIPCIÓN
-2 Error al intentar realizar la canalización en destino.
-1 Error al intentar realizar la canalización en origen.
1 El usuario no existe.
2 El usuario no tiene suficientes permisos para modificar esta recogida.
3 El usuario no tiene suficientes permisos para realizar esta acción.
4 La fecha no es válida.
5 La fecha está fuera del rango permitido.
6 El tipo de servicio no existe o está inactivo.
7 La agencia de origen no existe o está inactiva.
8 La agencia solicitante no existe o está inactiva.
9 La agencia de destino no existe o está inactiva.
10 La agencia de cargo no existe o está inactiva.
11 El cliente no pertenece a la agencia de cargo.
12 El cliente no autoriza recogidas a su cargo.
13 El código del envío asociado a la recogida no es válido.
14 El departamento no pertenece al cliente.
15 Error en la admisión de la recogida.
16 El código postal origen es nulo o no válido.
17 El código postal destino es nulo o no válido.
18 El país no existe.
19 El número de envíos debe ser un dato numérico.
20 La referencia es obligatoria para el cliente seleccionado.
21 El usuario no puede dar de alta recogidas para esta agencia de cargo.

Para saber cómo controlar las excepciones devueltas por favor consulte el apartado 1.2.3, Excepciones.

1.2.2.24.Método ConsEnvEstIncRef

PARÁMETRO E/S TIPO DESCRIPCIÓN


strRef Entrada String Referencia de los envíos a consultar.

Pág. 97
Documentación WebServices

strEnvEstIncRef Salida String XML con los datos de los envíos, estados e incidencias.

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:

El uso es similar a la anterior.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

string xmlResult = wsWebService.ConsEnvEstIncRef("referencia");

Una vez ejecutada la función la variable xmlResult contendrá un XML de respuesta con el
siguiente formato, que habrá que tratar para extraer los valores:

XML
<CONSULTA>
<ENV_EST_INC_REF
V_COD_AGE_CARGO="--AGENCIA DE CARGO 1--"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN 1--"
V_ALBARAN="--ALBARAN 1--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
I_ID_EST="--ID DEL ESTADO 1--"
V_COD_TIPO_EST="--CÓDIGO DEL TIPO DE ESTADO 1--"
D_FEC_HORA_ALTA_EST="--FECHA Y HORA DE ALTA DEL ESTADO 1 en formato mm/dd/yyyy
hh:mm:ss--"
V_COD_USU_ALTA_EST="--USUARIO DE ALTA DEL ESTADO 1--"
V_COD_AGE_ALTA_EST="--AGENCIA DE ALTA DEL ESTADO 1--"
V_COD_CLI_ALTA_EST="--CLIENTE DE ALTA DEL ESTADO 1--"
V_COD_CLI_DEP_ALTA_EST="--DEPARTAMENTO DE ALTA DEL ESTADO 1--"
V_COD_REP_ALTA_POD="--REPARTIDOR DE ALTA DEL ESTADO 1--"
I_ID_INC="--ID DE LA INCIDENCIA 1--"
V_COD_TIPO_INC="--CÓDIGO DEL TIPO DE INCIDENCIA 1--"
V_OBS_INC="--OBSERVACIONES DE LA INCIDENCIA 1--"
D_FEC_HORA_CIERRE_INC="--FECHA Y HORA DE CIERRE DE LA INCIDENCIA 1 en formato
mm/dd/yyyy hh:mm:ss--"

Pág. 98
Documentación WebServices

B_RESUELTA_INC="--SI ESTA INCIDENCIA ESTÁ RESUELTA--"


V_COD_USU_RES_INC="--USUARIO QUE RESUELVE LA INCIDENCIA--"
SD_HORA_INC="--HORA DE LA INCIDENCIA 1 en formato hh:mm:ss--"
D_FEC_HORA_ALTA_INC="--FECHA Y HORA DE ALTA DE LA INCIDENCIA 1 en formato mm/dd/yyyy
hh:mm:ss--"
V_COD_USU_ALTA_INC="--USUARIO DE ALTA DE LA INCIDENCIA 1--"
V_COD_AGE_ALTA_INC="--AGENCIA DE ALTA DE LA INCIDENCIA 1--"
V_COD_CLI_ALTA_INC="--CLIENTE DE ALTA DE LA INCIDENCIA 1--"
V_COD_CLI_DEP_ALTA_INC="--DEPARTAMENTO DE ALTA DE LA INCIDENCIA 1--"
V_COD_REP_ALTA_INC="--REPARTIDOR DE ALTA DE LA INCIDENCIA 1--"
/>

// DEVOLVERÁ UN BLOQUE POR CADA ENVÍO

<ENV_EST_INC_REF
V_COD_AGE_CARGO="--AGENCIA DE CARGO N--"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN N--"
V_ALBARAN="--ALBARAN N--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1 N--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2 N--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3 N--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4 N--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5 N--"
I_ID_EST="--ID DEL ESTADO N--"
V_COD_TIPO_EST="--CÓDIGO DEL TIPO DE ESTADO N--"
D_FEC_HORA_ALTA_EST="--FECHA Y HORA DE ALTA DEL ESTADO N en formato mm/dd/yyyy
hh:mm:ss--"
V_COD_USU_ALTA_EST="--USUARIO DE ALTA DEL ESTADO N--"
V_COD_AGE_ALTA_EST="--AGENCIA DE ALTA DEL ESTADO N--"
V_COD_CLI_ALTA_EST="--CLIENTE DE ALTA DEL ESTADO N--"
V_COD_CLI_DEP_ALTA_EST="--DEPARTAMENTO DE ALTA DEL ESTADO N--"
V_COD_REP_ALTA_POD="--REPARTIDOR DE ALTA DEL ESTADO N--"
I_ID_INC="--ID DE LA INCIDENCIA N--"
V_COD_TIPO_INC="--CÓDIGO DEL TIPO DE INCIDENCIA N--"
V_OBS_INC="--OBSERVACIONES DE LA INCIDENCIA N--"
D_FEC_HORA_CIERRE_INC="--FECHA Y HORA DE CIERRE DE LA INCIDENCIA N en formato
mm/dd/yyyy hh:mm:ss--"
B_RESUELTA_INC="--SI ESTA INCIDENCIA ESTÁ RESUELTA N--"
V_COD_USU_RES_INC="--USUARIO QUE RESUELVE LA INCIDENCIA N--"
SD_HORA_INC="--HORA DE LA INCIDENCIA N en formato hh:mm:ss--"
D_FEC_HORA_ALTA_INC="--FECHA Y HORA DE ALTA DE LA INCIDENCIA N en formato
mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_INC="--USUARIO DE ALTA DE LA INCIDENCIA N--"
V_COD_AGE_ALTA_INC="--AGENCIA DE ALTA DE LA INCIDENCIA N--"
V_COD_CLI_ALTA_INC="--CLIENTE DE ALTA DE LA INCIDENCIA N--"
V_COD_CLI_DEP_ALTA_INC="--DEPARTAMENTO DE ALTA DE LA INCIDENCIA N--"
V_COD_REP_ALTA_INC="--REPARTIDOR DE ALTA DE LA INCIDENCIA N--"
/>

</CONSULTA>

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

Pág. 99
Documentación WebServices

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--ID de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsEnvEstIncRef>
<strRef>-referencia-</strRef>
</WebServService___ConsEnvEstIncRef>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato, que habrá que tratar para extraer los valores:

XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/"
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:WebServService___ConsEnvEstIncRefResponse>
<v1:strEnvEstIncRef>
<CONSULTA>
<ENV_EST_INC_REF
V_COD_AGE_CARGO="--AGENCIA DE CARGO 1--"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN 1--"
V_ALBARAN="--ALBARAN 1--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
I_ID_EST="--ID DEL ESTADO 1--"
V_COD_TIPO_EST="--CÓDIGO DEL TIPO DE ESTADO 1--"
D_FEC_HORA_ALTA_EST="--FECHA Y HORA DE ALTA DEL ESTADO 1 en formato mm/dd/yyyy

Pág. 100
Documentación WebServices

hh:mm:ss--"
V_COD_USU_ALTA_EST="--USUARIO DE ALTA DEL ESTADO 1--"
V_COD_AGE_ALTA_EST="--AGENCIA DE ALTA DEL ESTADO 1--"
V_COD_CLI_ALTA_EST="--CLIENTE DE ALTA DEL ESTADO 1--"
V_COD_CLI_DEP_ALTA_EST="--DEPARTAMENTO DE ALTA DEL ESTADO 1--"
V_COD_REP_ALTA_POD="--REPARTIDOR DE ALTA DEL ESTADO 1--"
I_ID_INC="--ID DE LA INCIDENCIA 1--"
V_COD_TIPO_INC="--CÓDIGO DEL TIPO DE INCIDENCIA 1--"
V_OBS_INC="--OBSERVACIONES DE LA INCIDENCIA 1--"
D_FEC_HORA_CIERRE_INC="--FECHA Y HORA DE CIERRE DE LA INCIDENCIA 1 en formato
mm/dd/yyyy hh:mm:ss--"
B_RESUELTA_INC="--SI ESTA INCIDENCIA ESTÁ RESUELTA--"
V_COD_USU_RES_INC="--USUARIO QUE RESUELVE LA INCIDENCIA--"
SD_HORA_INC="--HORA DE LA INCIDENCIA 1 en formato hh:mm:ss--"
D_FEC_HORA_ALTA_INC="--FECHA Y HORA DE ALTA DE LA INCIDENCIA 1 en formato
mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_INC="--USUARIO DE ALTA DE LA INCIDENCIA 1--"
V_COD_AGE_ALTA_INC="--AGENCIA DE ALTA DE LA INCIDENCIA 1--"
V_COD_CLI_ALTA_INC="--CLIENTE DE ALTA DE LA INCIDENCIA 1--"
V_COD_CLI_DEP_ALTA_INC="--DEPARTAMENTO DE ALTA DE LA INCIDENCIA 1--"
V_COD_REP_ALTA_INC="--REPARTIDOR DE ALTA DE LA INCIDENCIA 1--"
/>

// DEVOLVERÁ UN BLOQUE POR CADA ENVÍO

<ENV_EST_INC_REF
V_COD_AGE_CARGO="--AGENCIA DE CARGO N--"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN N--"
V_ALBARAN="--ALBARAN N--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1 N--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2 N--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3 N--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4 N--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5 N--"
I_ID_EST="--ID DEL ESTADO N--"
V_COD_TIPO_EST="--CÓDIGO DEL TIPO DE ESTADO N--"
D_FEC_HORA_ALTA_EST="--FECHA Y HORA DE ALTA DEL ESTADO N en formato mm/dd/yyyy
hh:mm:ss--"
V_COD_USU_ALTA_EST="--USUARIO DE ALTA DEL ESTADO N--"
V_COD_AGE_ALTA_EST="--AGENCIA DE ALTA DEL ESTADO N--"
V_COD_CLI_ALTA_EST="--CLIENTE DE ALTA DEL ESTADO N--"
V_COD_CLI_DEP_ALTA_EST="--DEPARTAMENTO DE ALTA DEL ESTADO N--"
V_COD_REP_ALTA_POD="--REPARTIDOR DE ALTA DEL ESTADO N--"
I_ID_INC="--ID DE LA INCIDENCIA N--"
V_COD_TIPO_INC="--CÓDIGO DEL TIPO DE INCIDENCIA N--"
V_OBS_INC="--OBSERVACIONES DE LA INCIDENCIA N--"
D_FEC_HORA_CIERRE_INC="--FECHA Y HORA DE CIERRE DE LA INCIDENCIA N en formato
mm/dd/yyyy hh:mm:ss--"
B_RESUELTA_INC="--SI ESTA INCIDENCIA ESTÁ RESUELTA N--"
V_COD_USU_RES_INC="--USUARIO QUE RESUELVE LA INCIDENCIA N--"
SD_HORA_INC="--HORA DE LA INCIDENCIA N en formato hh:mm:ss--"
D_FEC_HORA_ALTA_INC="--FECHA Y HORA DE ALTA DE LA INCIDENCIA N en formato
mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_INC="--USUARIO DE ALTA DE LA INCIDENCIA N--"
V_COD_AGE_ALTA_INC="--AGENCIA DE ALTA DE LA INCIDENCIA N--"
V_COD_CLI_ALTA_INC="--CLIENTE DE ALTA DE LA INCIDENCIA N--"
V_COD_CLI_DEP_ALTA_INC="--DEPARTAMENTO DE ALTA DE LA INCIDENCIA N--"
V_COD_REP_ALTA_INC="--REPARTIDOR DE ALTA DE LA INCIDENCIA N--"
/>

</CONSULTA>
</v1:strIEnvEstIncRef>
</v1:WebServService___ConsEnvEstIncRefResponse>
</SOAP-ENV:Body>

Pág. 101
Documentación WebServices

</SOAP-ENV:Envelope>

1.2.2.25.Método ConsRecEstIncRef

PARÁMETRO E/S TIPO DESCRIPCIÓN


strRef Entrada String Referencia de las recogidas a consultar.
strRecEstIncRef Salida String XML con los datos de las recogidas, estados e incidencias.

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:

El uso es similar a la anterior.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

string xmlResult = wsWebService.ConsRecEstIncRef("referencia");

Una vez ejecutada la función la variable xmlResult contendrá un XML de respuesta con el
siguiente formato, que habrá que tratar para extraer los valores:

XML
<CONSULTA>
<REC_EST_INC_REF
V_COD="--CÓDIGO DE RECOGIDA 1--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"

Pág. 102
Documentación WebServices

I_ID_EST="--ID DEL ESTADO 1--"


V_COD_TIPO_EST="--CÓDIGO DEL TIPO DE ESTADO 1--"
D_FEC_HORA_ALTA_EST="--FECHA Y HORA DE ALTA DEL ESTADO 1 en formato mm/dd/yyyy
hh:mm:ss--"
V_COD_USU_ALTA_EST="--USUARIO DE ALTA DEL ESTADO 1--"
V_COD_AGE_ALTA_EST="--AGENCIA DE ALTA DEL ESTADO 1--"
V_COD_CLI_ALTA_EST="--CLIENTE DE ALTA DEL ESTADO 1--"
V_COD_CLI_DEP_ALTA_EST="--DEPARTAMENTO DE ALTA DEL ESTADO 1--"
V_COD_REP_ALTA_POD="--REPARTIDOR DE ALTA DEL ESTADO 1--"
I_ID_INC="--ID DE LA INCIDENCIA 1--"
V_COD_TIPO_INC="--CÓDIGO DEL TIPO DE INCIDENCIA 1--"
V_OBS_INC="--OBSERVACIONES DE LA INCIDENCIA 1--"
D_FEC_HORA_CIERRE_INC="--FECHA Y HORA DE CIERRE DE LA INCIDENCIA 1 en formato
mm/dd/yyyy hh:mm:ss--"
B_RESUELTA_INC="--SI ESTA INCIDENCIA ESTÁ RESUELTA--"
V_COD_USU_RES_INC="--USUARIO QUE RESUELVE LA INCIDENCIA--"
SD_HORA_INC="--HORA DE LA INCIDENCIA 1 en formato hh:mm:ss--"
D_FEC_HORA_ALTA_INC="--FECHA Y HORA DE ALTA DE LA INCIDENCIA 1 en formato mm/dd/yyyy
hh:mm:ss--"
V_COD_USU_ALTA_INC="--USUARIO DE ALTA DE LA INCIDENCIA 1--"
V_COD_AGE_ALTA_INC="--AGENCIA DE ALTA DE LA INCIDENCIA 1--"
V_COD_REP_ALTA_INC="--REPARTIDOR DE ALTA DE LA INCIDENCIA 1--"
/>

// DEVOLVERÁ UN BLOQUE POR CADA RECOGIDA

<REC_EST_INC_REF
V_COD="--CÓDIGO DE RECOGIDA N--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1 N--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2 N--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3 N--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4 N--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5 N--"
I_ID_EST="--ID DEL ESTADO N--"
V_COD_TIPO_EST="--CÓDIGO DEL TIPO DE ESTADO N--"
D_FEC_HORA_ALTA_EST="--FECHA Y HORA DE ALTA DEL ESTADO N en formato mm/dd/yyyy
hh:mm:ss--"
V_COD_USU_ALTA_EST="--USUARIO DE ALTA DEL ESTADO N--"
V_COD_AGE_ALTA_EST="--AGENCIA DE ALTA DEL ESTADO N--"
V_COD_CLI_ALTA_EST="--CLIENTE DE ALTA DEL ESTADO N--"
V_COD_CLI_DEP_ALTA_EST="--DEPARTAMENTO DE ALTA DEL ESTADO N--"
V_COD_REP_ALTA_POD="--REPARTIDOR DE ALTA DEL ESTADO N--"
I_ID_INC="--ID DE LA INCIDENCIA N--"
V_COD_TIPO_INC="--CÓDIGO DEL TIPO DE INCIDENCIA N--"
V_OBS_INC="--OBSERVACIONES DE LA INCIDENCIA N--"
D_FEC_HORA_CIERRE_INC="--FECHA Y HORA DE CIERRE DE LA INCIDENCIA N en formato
mm/dd/yyyy hh:mm:ss--"
B_RESUELTA_INC="--SI ESTA INCIDENCIA ESTÁ RESUELTA N--"
V_COD_USU_RES_INC="--USUARIO QUE RESUELVE LA INCIDENCIA N--"
SD_HORA_INC="--HORA DE LA INCIDENCIA N en formato hh:mm:ss--"
D_FEC_HORA_ALTA_INC="--FECHA Y HORA DE ALTA DE LA INCIDENCIA N en formato
mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_INC="--USUARIO DE ALTA DE LA INCIDENCIA N--"
V_COD_AGE_ALTA_INC="--AGENCIA DE ALTA DE LA INCIDENCIA N--"
V_COD_REP_ALTA_INC="--REPARTIDOR DE ALTA DE LA INCIDENCIA N--"
/>

</CONSULTA>

Pág. 103
Documentación WebServices

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--ID de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsRecEstIncRef>
<strRef>-referencia-</strRef>
</WebServService___ConsRecEstIncRef>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato, que habrá que tratar para extraer los valores:

XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/"
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:WebServService___ConsRecEstIncRefResponse>
<v1:strRecEstIncRef>
<CONSULTA>
<REC_EST_INC_REF
V_COD="--CÓDIGO RECOGIDA 1--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"

Pág. 104
Documentación WebServices

V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"


V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
I_ID_EST="--ID DEL ESTADO 1--"
V_COD_TIPO_EST="--CÓDIGO DEL TIPO DE ESTADO 1--"
D_FEC_HORA_ALTA_EST="--FECHA Y HORA DE ALTA DEL ESTADO 1 en formato mm/dd/yyyy
hh:mm:ss--"
V_COD_USU_ALTA_EST="--USUARIO DE ALTA DEL ESTADO 1--"
V_COD_AGE_ALTA_EST="--AGENCIA DE ALTA DEL ESTADO 1--"
V_COD_CLI_ALTA_EST="--CLIENTE DE ALTA DEL ESTADO 1--"
V_COD_CLI_DEP_ALTA_EST="--DEPARTAMENTO DE ALTA DEL ESTADO 1--"
V_COD_REP_ALTA_POD="--REPARTIDOR DE ALTA DEL ESTADO 1--"
I_ID_INC="--ID DE LA INCIDENCIA 1--"
V_COD_TIPO_INC="--CÓDIGO DEL TIPO DE INCIDENCIA 1--"
V_OBS_INC="--OBSERVACIONES DE LA INCIDENCIA 1--"
D_FEC_HORA_CIERRE_INC="--FECHA Y HORA DE CIERRE DE LA INCIDENCIA 1 en formato
mm/dd/yyyy hh:mm:ss--"
B_RESUELTA_INC="--SI ESTA INCIDENCIA ESTÁ RESUELTA--"
V_COD_USU_RES_INC="--USUARIO QUE RESUELVE LA INCIDENCIA--"
SD_HORA_INC="--HORA DE LA INCIDENCIA 1 en formato hh:mm:ss--"
D_FEC_HORA_ALTA_INC="--FECHA Y HORA DE ALTA DE LA INCIDENCIA 1 en formato
mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_INC="--USUARIO DE ALTA DE LA INCIDENCIA 1--"
V_COD_AGE_ALTA_INC="--AGENCIA DE ALTA DE LA INCIDENCIA 1--"
V_COD_CLI_ALTA_INC="--CLIENTE DE ALTA DE LA INCIDENCIA 1--"
V_COD_CLI_DEP_ALTA_INC="--DEPARTAMENTO DE ALTA DE LA INCIDENCIA 1--"
V_COD_REP_ALTA_INC="--REPARTIDOR DE ALTA DE LA INCIDENCIA 1--"
/>

// DEVOLVERÁ UN BLOQUE POR CADA RECOGIDA

<REC_EST_INC_REF
V_COD="--CÓDIGO RECOGIDA N--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1 N--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2 N--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3 N--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4 N--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5 N--"
I_ID_EST="--ID DEL ESTADO N--"
V_COD_TIPO_EST="--CÓDIGO DEL TIPO DE ESTADO N--"
D_FEC_HORA_ALTA_EST="--FECHA Y HORA DE ALTA DEL ESTADO N en formato mm/dd/yyyy
hh:mm:ss--"
V_COD_USU_ALTA_EST="--USUARIO DE ALTA DEL ESTADO N--"
V_COD_AGE_ALTA_EST="--AGENCIA DE ALTA DEL ESTADO N--"
V_COD_CLI_ALTA_EST="--CLIENTE DE ALTA DEL ESTADO N--"
V_COD_CLI_DEP_ALTA_EST="--DEPARTAMENTO DE ALTA DEL ESTADO N--"
V_COD_REP_ALTA_POD="--REPARTIDOR DE ALTA DEL ESTADO N--"
I_ID_INC="--ID DE LA INCIDENCIA N--"
V_COD_TIPO_INC="--CÓDIGO DEL TIPO DE INCIDENCIA N--"
V_OBS_INC="--OBSERVACIONES DE LA INCIDENCIA N--"
D_FEC_HORA_CIERRE_INC="--FECHA Y HORA DE CIERRE DE LA INCIDENCIA N en formato
mm/dd/yyyy hh:mm:ss--"
B_RESUELTA_INC="--SI ESTA INCIDENCIA ESTÁ RESUELTA N--"
V_COD_USU_RES_INC="--USUARIO QUE RESUELVE LA INCIDENCIA N--"
SD_HORA_INC="--HORA DE LA INCIDENCIA N en formato hh:mm:ss--"
D_FEC_HORA_ALTA_INC="--FECHA Y HORA DE ALTA DE LA INCIDENCIA N en formato
mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_INC="--USUARIO DE ALTA DE LA INCIDENCIA N--"
V_COD_AGE_ALTA_INC="--AGENCIA DE ALTA DE LA INCIDENCIA N--"
V_COD_CLI_ALTA_INC="--CLIENTE DE ALTA DE LA INCIDENCIA N--"
V_COD_CLI_DEP_ALTA_INC="--DEPARTAMENTO DE ALTA DE LA INCIDENCIA N--"
V_COD_REP_ALTA_INC="--REPARTIDOR DE ALTA DE LA INCIDENCIA N--"
/>

Pág. 105
Documentación WebServices

</CONSULTA>
</v1:strIRecEstIncRef>
</v1:WebServService___ConsRecEstIncRefResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

1.2.2.26.Método ConsEnvEstInc

PARÁMETRO E/S TIPO DESCRIPCIÓN


strCodAgeCargo Entrada String Agencia de cargo del envío a consultar.
strCodAgeOri Entrada String Agencia de origen del envío a consultar.
strAlbaran Entrada String Albarán del envío a consultar.
strEnvEstInc Salida String XML con los datos del envío, estado e incidencia.

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:

El uso es similar a la anterior.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

string xmlResult = wsWebService.ConsEnvEstInc("agencia-cargo”, “agencia-origen”, “albaran");

Una vez ejecutada la función la variable xmlResult contendrá un XML de respuesta con el
siguiente formato, que habrá que tratar para extraer los valores:

XML
<CONSULTA>

Pág. 106
Documentación WebServices

<ENV_EST_INC
V_COD_AGE_CARGO="--AGENCIA DE CARGO--"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN--"
V_ALBARAN="--ALBARAN--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
I_ID_EST="--ID DEL ESTADO--"
V_COD_TIPO_EST="--CÓDIGO DEL TIPO DE ESTADO--"
D_FEC_HORA_ALTA_EST="--FECHA Y HORA DE ALTA DEL ESTADO en formato mm/dd/yyyy
hh:mm:ss--"
V_COD_USU_ALTA_EST="--USUARIO DE ALTA DEL ESTADO--"
V_COD_AGE_ALTA_EST="--AGENCIA DE ALTA DEL ESTADO--"
V_COD_CLI_ALTA_EST="--CLIENTE DE ALTA DEL ESTADO--"
V_COD_CLI_DEP_ALTA_EST="--DEPARTAMENTO DE ALTA DEL ESTADO--"
V_COD_REP_ALTA_POD="--REPARTIDOR DE ALTA DEL ESTADO--"
I_ID_INC="--ID DE LA INCIDENCIA--"
V_COD_TIPO_INC="--CÓDIGO DEL TIPO DE INCIDENCIA--"
V_OBS_INC="--OBSERVACIONES DE LA INCIDENCIA--"
D_FEC_HORA_CIERRE_INC="--FECHA Y HORA DE CIERRE DE LA INCIDENCIA en formato
mm/dd/yyyy hh:mm:ss--"
B_RESUELTA_INC="--SI ESTA INCIDENCIA ESTÁ RESUELTA--"
V_COD_USU_RES_INC="--USUARIO QUE RESUELVE LA INCIDENCIA--"
SD_HORA_INC="--HORA DE LA INCIDENCIA en formato hh:mm:ss--"
D_FEC_HORA_ALTA_INC="--FECHA Y HORA DE ALTA DE LA INCIDENCIA en formato mm/dd/yyyy
hh:mm:ss--"
V_COD_USU_ALTA_INC="--USUARIO DE ALTA DE LA INCIDENCIA--"
V_COD_AGE_ALTA_INC="--AGENCIA DE ALTA DE LA INCIDENCIA--"
V_COD_CLI_ALTA_INC="--CLIENTE DE ALTA DE LA INCIDENCIA--"
V_COD_CLI_DEP_ALTA_INC="--DEPARTAMENTO DE ALTA DE LA INCIDENCIA--"
V_COD_REP_ALTA_INC="--REPARTIDOR DE ALTA DE LA INCIDENCIA--"
/>
</CONSULTA>

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--ID de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>

Pág. 107
Documentación WebServices

<soap:Body>
<WebServService___ConsEnvEstInc>
<strCodAgeCargo>-agencia-cargo-</strCodAgeCargo>
<strCodAgeOri>-agencia-origen-</strCodAgeOri>
<strAlbaran>-albaran-</strAlbaran>
</WebServService___ConsEnvEstInc>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato, que habrá que tratar para extraer los valores:

XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/"
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:WebServService___ConsEnvEstIncResponse>
<v1:strEnvEstInc>
<CONSULTA>
<ENV_EST_INC_
V_COD_AGE_CARGO="--AGENCIA DE CARGO--"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN--"
V_ALBARAN="--ALBARAN--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
I_ID_EST="--ID DEL ESTADO--"
V_COD_TIPO_EST="--CÓDIGO DEL TIPO DE ESTADO--"
D_FEC_HORA_ALTA_EST="--FECHA Y HORA DE ALTA DEL ESTADO en formato mm/dd/yyyy
hh:mm:ss--"
V_COD_USU_ALTA_EST="--USUARIO DE ALTA DEL ESTADO--"
V_COD_AGE_ALTA_EST="--AGENCIA DE ALTA DEL ESTADO--"
V_COD_CLI_ALTA_EST="--CLIENTE DE ALTA DEL ESTADO--"
V_COD_CLI_DEP_ALTA_EST="--DEPARTAMENTO DE ALTA DEL ESTADO--"
V_COD_REP_ALTA_POD="--REPARTIDOR DE ALTA DEL ESTADO--"
I_ID_INC="--ID DE LA INCIDENCIA--"
V_COD_TIPO_INC="--CÓDIGO DEL TIPO DE INCIDENCIA--"
V_OBS_INC="--OBSERVACIONES DE LA INCIDENCIA--"
D_FEC_HORA_CIERRE_INC="--FECHA Y HORA DE CIERRE DE LA INCIDENCIA en formato
mm/dd/yyyy hh:mm:ss--"
B_RESUELTA_INC="--SI ESTA INCIDENCIA ESTÁ RESUELTA--"
V_COD_USU_RES_INC="--USUARIO QUE RESUELVE LA INCIDENCIA--"
SD_HORA_INC="--HORA DE LA INCIDENCIA en formato hh:mm:ss--"

Pág. 108
Documentación WebServices

D_FEC_HORA_ALTA_INC="--FECHA Y HORA DE ALTA DE LA INCIDENCIA en formato


mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_INC="--USUARIO DE ALTA DE LA INCIDENCIA--"
V_COD_AGE_ALTA_INC="--AGENCIA DE ALTA DE LA INCIDENCIA--"
V_COD_CLI_ALTA_INC="--CLIENTE DE ALTA DE LA INCIDENCIA--"
V_COD_CLI_DEP_ALTA_INC="--DEPARTAMENTO DE ALTA DE LA INCIDENCIA--"
V_COD_REP_ALTA_INC="--REPARTIDOR DE ALTA DE LA INCIDENCIA--"
/>
</CONSULTA>
</v1:strIEnvEstInc>
</v1:WebServService___ConsEnvEstIncResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

1.2.2.27.Método ConsRecEstInc

PARÁMETRO E/S TIPO DESCRIPCIÓN


strRecogida Entrada String Número de recogida a consultar.
strRecEstInc Salida String XML con los datos de la recogida, estado e incidencia.

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:

El uso es similar a la anterior.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

string xmlResult = wsWebService.ConsRecEstInc("recogida");

Pág. 109
Documentación WebServices

Una vez ejecutada la función la variable xmlResult contendrá un XML de respuesta con el
siguiente formato, que habrá que tratar para extraer los valores:

XML
<CONSULTA>
<REC_EST_INC
V_COD="--CÓDIGO DE RECOGIDA--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
I_ID_EST="--ID DEL ESTADO--"
V_COD_TIPO_EST="--CÓDIGO DEL TIPO DE ESTADO--"
D_FEC_HORA_ALTA_EST="--FECHA Y HORA DE ALTA DEL ESTADO en formato mm/dd/yyyy
hh:mm:ss--"
V_COD_USU_ALTA_EST="--USUARIO DE ALTA DEL ESTADO--"
V_COD_AGE_ALTA_EST="--AGENCIA DE ALTA DEL ESTADO--"
V_COD_CLI_ALTA_EST="--CLIENTE DE ALTA DEL ESTADO--"
V_COD_CLI_DEP_ALTA_EST="--DEPARTAMENTO DE ALTA DEL ESTADO--"
V_COD_REP_ALTA_POD="--REPARTIDOR DE ALTA DEL ESTADO--"
I_ID_INC="--ID DE LA INCIDENCIA--"
V_COD_TIPO_INC="--CÓDIGO DEL TIPO DE INCIDENCIA--"
V_OBS_INC="--OBSERVACIONES DE LA INCIDENCIA--"
D_FEC_HORA_CIERRE_INC="--FECHA Y HORA DE CIERRE DE LA INCIDENCIA en formato
mm/dd/yyyy hh:mm:ss--"
B_RESUELTA_INC="--SI ESTA INCIDENCIA ESTÁ RESUELTA--"
V_COD_USU_RES_INC="--USUARIO QUE RESUELVE LA INCIDENCIA--"
SD_HORA_INC="--HORA DE LA INCIDENCIA en formato hh:mm:ss--"
D_FEC_HORA_ALTA_INC="--FECHA Y HORA DE ALTA DE LA INCIDENCIA en formato mm/dd/yyyy
hh:mm:ss--"
V_COD_USU_ALTA_INC="--USUARIO DE ALTA DE LA INCIDENCIA--"
V_COD_AGE_ALTA_INC="--AGENCIA DE ALTA DE LA INCIDENCIA--"
V_COD_REP_ALTA_INC="--REPARTIDOR DE ALTA DE LA INCIDENCIA--"
/>
</CONSULTA>

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">

Pág. 110
Documentación WebServices

<ID>--ID de la sesión establecida--</ID>


</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsRecEstInc>
<strRecogida>-recogida-</strRecogida>
</WebServService___ConsRecEstInc>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato, que habrá que tratar para extraer los valores:

XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/"
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:WebServService___ConsRecEstIncResponse>
<v1:strRecEstInc>
<CONSULTA>
<REC_EST_INC
V_COD="--CÓDIGO RECOGIDA--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
I_ID_EST="--ID DEL ESTADO--"
V_COD_TIPO_EST="--CÓDIGO DEL TIPO DE ESTADO--"
D_FEC_HORA_ALTA_EST="--FECHA Y HORA DE ALTA DEL ESTADO en formato mm/dd/yyyy
hh:mm:ss--"
V_COD_USU_ALTA_EST="--USUARIO DE ALTA DEL ESTADO--"
V_COD_AGE_ALTA_EST="--AGENCIA DE ALTA DEL ESTADO--"
V_COD_CLI_ALTA_EST="--CLIENTE DE ALTA DEL ESTADO--"
V_COD_CLI_DEP_ALTA_EST="--DEPARTAMENTO DE ALTA DEL ESTADO--"
V_COD_REP_ALTA_POD="--REPARTIDOR DE ALTA DEL ESTADO--"
I_ID_INC="--ID DE LA INCIDENCIA--"
V_COD_TIPO_INC="--CÓDIGO DEL TIPO DE INCIDENCIA--"
V_OBS_INC="--OBSERVACIONES DE LA INCIDENCIA--"
D_FEC_HORA_CIERRE_INC="--FECHA Y HORA DE CIERRE DE LA INCIDENCIA en formato
mm/dd/yyyy hh:mm:ss--"
B_RESUELTA_INC="--SI ESTA INCIDENCIA ESTÁ RESUELTA--"
V_COD_USU_RES_INC="--USUARIO QUE RESUELVE LA INCIDENCIA--"
SD_HORA_INC="--HORA DE LA INCIDENCIA en formato hh:mm:ss--"
D_FEC_HORA_ALTA_INC="--FECHA Y HORA DE ALTA DE LA INCIDENCIA en formato

Pág. 111
Documentación WebServices

mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_INC="--USUARIO DE ALTA DE LA INCIDENCIA--"
V_COD_AGE_ALTA_INC="--AGENCIA DE ALTA DE LA INCIDENCIA--"
V_COD_CLI_ALTA_INC="--CLIENTE DE ALTA DE LA INCIDENCIA--"
V_COD_CLI_DEP_ALTA_INC="--DEPARTAMENTO DE ALTA DE LA INCIDENCIA--"
V_COD_REP_ALTA_INC="--REPARTIDOR DE ALTA DE LA INCIDENCIA--"
/>
</CONSULTA>
</v1:strIRecEstInc>
</v1:WebServService___ConsRecEstIncResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

1.2.2.28.Método ConsEnvEstIncCambioEstado

PARÁMETRO E/S TIPO DESCRIPCIÓN


Fecha y hora de inicio del rango de fechas de cambio de
dtFecHoraEstadoInicio Entrada DateTime
estados de envíos.
Fecha y hora fin del rango de fechas de cambio de estados de
dtFecHoraEstadoFin Entrada DateTime
envíos.
strEnvEstIncCambioEsta
Salida String XML con los datos de los envíos, estados e incidencias.
do

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:

El uso es similar a la anterior.

Ejemplo:

Pág. 112
Documentación WebServices

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

string xmlResult = wsWebService.ConsEnvEstIncCambioEstado("fecha-hora-inicio-estado", "fecha-hora-fin-


estado");

Una vez ejecutada la función la variable xmlResult contendrá un XML de respuesta con el
siguiente formato, que habrá que tratar para extraer los valores:

XML
<CONSULTA>
<ENV_EST_INC_CAMBIO_ESTADO
V_COD_AGE_CARGO="--AGENCIA DE CARGO 1--"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN 1--"
V_ALBARAN="--ALBARAN 1--"
V_COD_TIPO_SERV="--CÓDIGO TIPO SERVICIO 1--"
V_DES_TIPO_SERV="--DESCRIPCIÓN TIPO SERVICIO 1--"
V_REF="--REFERENCIA 1--"
V_COD_CLI="--CÓDIGO CLIENTE 1--"
V_NOM_CLI="--NOMBRE CLIENTE 1--"
V_COD_CLI_DEP="--CÓDIGO DEPARTAMENTO 1--"
V_NOM_CLI_DEP="--NOMBRE DEPARTAMENTO 1--"
F_PESO_ORI="--PESO ORIGEN 1--"
F_PESO_VOLPES="--PESO SORTER 1--"
F_M3_ORI="--M3 ORIGEN 1--"
F_M3_VOLPES="--M3 SORTER 1--"
V_COD_AGE_DES="--AGENCIA DE DESTINO 1--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
I_ID_EST="--ID DEL ESTADO 1--"
V_COD_TIPO_EST="--CÓDIGO DEL TIPO DE ESTADO 1--"
D_FEC_HORA_ALTA_EST="--FECHA Y HORA DE ALTA DEL ESTADO 1 en formato mm/dd/yyyy
hh:mm:ss--"
D_FEC_HORA_ALTA_REG_EST="--FECHA Y HORA DE ALTA DE REGISTRO DEL ESTADO 1 en
formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_EST="--USUARIO DE ALTA DEL ESTADO 1--"
V_COD_AGE_ALTA_EST="--AGENCIA DE ALTA DEL ESTADO 1--"
V_COD_CLI_ALTA_EST="--CLIENTE DE ALTA DEL ESTADO 1--"
V_COD_CLI_DEP_ALTA_EST="--DEPARTAMENTO DE ALTA DEL ESTADO 1--"
V_COD_REP_ALTA_POD="--REPARTIDOR DE ALTA DEL ESTADO 1--"
I_ID_INC="--ID DE LA INCIDENCIA 1--"
V_COD_TIPO_INC="--CÓDIGO DEL TIPO DE INCIDENCIA 1--"
V_OBS_INC="--OBSERVACIONES DE LA INCIDENCIA 1--"
D_FEC_HORA_CIERRE_INC="--FECHA Y HORA DE CIERRE DE LA INCIDENCIA 1 en formato
mm/dd/yyyy hh:mm:ss--"
B_RESUELTA_INC="--SI ESTA INCIDENCIA ESTÁ RESUELTA--"
V_COD_USU_RES_INC="--USUARIO QUE RESUELVE LA INCIDENCIA--"
SD_HORA_INC="--HORA DE LA INCIDENCIA 1 en formato hh:mm:ss--"
D_FEC_HORA_ALTA_INC="--FECHA Y HORA DE ALTA DE LA INCIDENCIA 1 en formato mm/dd/yyyy
hh:mm:ss--"
V_COD_USU_ALTA_INC="--USUARIO DE ALTA DE LA INCIDENCIA 1--"

Pág. 113
Documentación WebServices

V_COD_AGE_ALTA_INC="--AGENCIA DE ALTA DE LA INCIDENCIA 1--"


V_COD_CLI_ALTA_INC="--CLIENTE DE ALTA DE LA INCIDENCIA 1--"
V_COD_CLI_DEP_ALTA_INC="--DEPARTAMENTO DE ALTA DE LA INCIDENCIA 1--"
V_COD_REP_ALTA_INC="--REPARTIDOR DE ALTA DE LA INCIDENCIA 1--"
/>

// DEVOLVERÁ UN BLOQUE POR CADA ENVÍO

<ENV_EST_INC_CAMBIO_ESTADO
V_COD_AGE_CARGO="--AGENCIA DE CARGO N--"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN N--"
V_ALBARAN="--ALBARAN N--"
V_COD_TIPO_SERV="--CÓDIGO TIPO SERVICIO N--"
V_DES_TIPO_SERV="--DESCRIPCIÓN TIPO SERVICIO N--"
V_REF="--REFERENCIA N--"
V_COD_CLI="--CÓDIGO CLIENTE N--"
V_NOM_CLI="--NOMBRE CLIENTE N--"
V_COD_CLI_DEP="--CÓDIGO DEPARTAMENTO N--"
V_NOM_CLI_DEP="--NOMBRE DEPARTAMENTO N--"
F_PESO_ORI="--PESO ORIGEN N--"
F_PESO_VOLPES="--PESO SORTER N--"
F_M3_ORI="--M3 ORIGEN N--"
F_M3_VOLPES="--M3 SORTER N--"
V_COD_AGE_DES="--AGENCIA DE DESTINO N--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1 N--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2 N--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3 N--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4 N--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5 N--"
I_ID_EST="--ID DEL ESTADO N--"
V_COD_TIPO_EST="--CÓDIGO DEL TIPO DE ESTADO N--"
D_FEC_HORA_ALTA_EST="--FECHA Y HORA DE ALTA DEL ESTADO N en formato mm/dd/yyyy
hh:mm:ss--"
D_FEC_HORA_ALTA_REG_EST="--FECHA Y HORA DE ALTA DE REGISTRO DEL ESTADO N en
formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_EST="--USUARIO DE ALTA DEL ESTADO N--"
V_COD_AGE_ALTA_EST="--AGENCIA DE ALTA DEL ESTADO N--"
V_COD_CLI_ALTA_EST="--CLIENTE DE ALTA DEL ESTADO N--"
V_COD_CLI_DEP_ALTA_EST="--DEPARTAMENTO DE ALTA DEL ESTADO N--"
V_COD_REP_ALTA_POD="--REPARTIDOR DE ALTA DEL ESTADO N--"
I_ID_INC="--ID DE LA INCIDENCIA N--"
V_COD_TIPO_INC="--CÓDIGO DEL TIPO DE INCIDENCIA N--"
V_OBS_INC="--OBSERVACIONES DE LA INCIDENCIA N--"
D_FEC_HORA_CIERRE_INC="--FECHA Y HORA DE CIERRE DE LA INCIDENCIA N en formato
mm/dd/yyyy hh:mm:ss--"
B_RESUELTA_INC="--SI ESTA INCIDENCIA ESTÁ RESUELTA N--"
V_COD_USU_RES_INC="--USUARIO QUE RESUELVE LA INCIDENCIA N--"
SD_HORA_INC="--HORA DE LA INCIDENCIA N en formato hh:mm:ss--"
D_FEC_HORA_ALTA_INC="--FECHA Y HORA DE ALTA DE LA INCIDENCIA N en formato
mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_INC="--USUARIO DE ALTA DE LA INCIDENCIA N--"
V_COD_AGE_ALTA_INC="--AGENCIA DE ALTA DE LA INCIDENCIA N--"
V_COD_CLI_ALTA_INC="--CLIENTE DE ALTA DE LA INCIDENCIA N--"
V_COD_CLI_DEP_ALTA_INC="--DEPARTAMENTO DE ALTA DE LA INCIDENCIA N--"
V_COD_REP_ALTA_INC="--REPARTIDOR DE ALTA DE LA INCIDENCIA N--"
/>

</CONSULTA>

Pág. 114
Documentación WebServices

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--ID de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsEnvEstIncCambioEstado>
<dtFecHoraEstadoInicio>-fecha inicio-
</dtFecHoraEstadoInicio>
<dtFecHoraEstadoFin>-fecha fin-</dtFecHoraEstadoFin>
</WebServService___ConsEnvEstIncCambioEstado>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato, que habrá que tratar para extraer los valores:

XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/"
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:WebServService___ConsEnvEstIncCambioEstadoResponse>
<v1:strEnvEstIncCambioEstado>
<CONSULTA>
<ENV_EST_INC_CAMBIO_ESTADO

Pág. 115
Documentación WebServices

V_COD_AGE_CARGO="--AGENCIA DE CARGO 1--"


V_COD_AGE_ORI="--AGENCIA DE ORIGEN 1--"
V_ALBARAN="--ALBARAN 1--"
V_COD_TIPO_SERV="--CÓDIGO TIPO SERVICIO 1--"
V_DES_TIPO_SERV="--DESCRIPCIÓN TIPO SERVICIO 1--"
V_REF="--REFERENCIA 1--"
V_COD_CLI="--CÓDIGO CLIENTE 1--"
V_NOM_CLI="--NOMBRE CLIENTE 1--"
V_COD_CLI_DEP="--CÓDIGO DEPARTAMENTO 1--"
V_NOM_CLI_DEP="--NOMBRE DEPARTAMENTO 1--"
F_PESO_ORI="--PESO ORIGEN 1--"
F_PESO_VOLPES="--PESO SORTER 1--"
F_M3_ORI="--M3 ORIGEN 1--"
F_M3_VOLPES="--M3 SORTER 1--"
V_COD_AGE_DES="--AGENCIA DE DESTINO 1--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
I_ID_EST="--ID DEL ESTADO 1--"
V_COD_TIPO_EST="--CÓDIGO DEL TIPO DE ESTADO 1--"
D_FEC_HORA_ALTA_EST="--FECHA Y HORA DE ALTA DEL ESTADO 1 en formato mm/dd/yyyy
hh:mm:ss--"
D_FEC_HORA_ALTA_REG_EST="--FECHA Y HORA DE ALTA DE REGISTRO DEL ESTADO 1
en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_EST="--USUARIO DE ALTA DEL ESTADO 1--"
V_COD_AGE_ALTA_EST="--AGENCIA DE ALTA DEL ESTADO 1--"
V_COD_CLI_ALTA_EST="--CLIENTE DE ALTA DEL ESTADO 1--"
V_COD_CLI_DEP_ALTA_EST="--DEPARTAMENTO DE ALTA DEL ESTADO 1--"
V_COD_REP_ALTA_POD="--REPARTIDOR DE ALTA DEL ESTADO 1--"
I_ID_INC="--ID DE LA INCIDENCIA 1--"
V_COD_TIPO_INC="--CÓDIGO DEL TIPO DE INCIDENCIA 1--"
V_OBS_INC="--OBSERVACIONES DE LA INCIDENCIA 1--"
D_FEC_HORA_CIERRE_INC="--FECHA Y HORA DE CIERRE DE LA INCIDENCIA 1 en formato
mm/dd/yyyy hh:mm:ss--"
B_RESUELTA_INC="--SI ESTA INCIDENCIA ESTÁ RESUELTA--"
V_COD_USU_RES_INC="--USUARIO QUE RESUELVE LA INCIDENCIA--"
SD_HORA_INC="--HORA DE LA INCIDENCIA 1 en formato hh:mm:ss--"
D_FEC_HORA_ALTA_INC="--FECHA Y HORA DE ALTA DE LA INCIDENCIA 1 en formato
mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_INC="--USUARIO DE ALTA DE LA INCIDENCIA 1--"
V_COD_AGE_ALTA_INC="--AGENCIA DE ALTA DE LA INCIDENCIA 1--"
V_COD_CLI_ALTA_INC="--CLIENTE DE ALTA DE LA INCIDENCIA 1--"
V_COD_CLI_DEP_ALTA_INC="--DEPARTAMENTO DE ALTA DE LA INCIDENCIA 1--"
V_COD_REP_ALTA_INC="--REPARTIDOR DE ALTA DE LA INCIDENCIA 1--"
/>

// DEVOLVERÁ UN BLOQUE POR CADA ENVÍO

<ENV_EST_INC_CAMBIO_ESTADO
V_COD_AGE_CARGO="--AGENCIA DE CARGO N--"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN N--"
V_ALBARAN="--ALBARAN N--"
V_COD_TIPO_SERV="--CÓDIGO TIPO SERVICIO N--"
V_DES_TIPO_SERV="--DESCRIPCIÓN TIPO SERVICIO N--"
V_REF="--REFERENCIA N--"
V_COD_CLI="--CÓDIGO CLIENTE N--"
V_NOM_CLI="--NOMBRE CLIENTE N--"
V_COD_CLI_DEP="--CÓDIGO DEPARTAMENTO N--"
V_NOM_CLI_DEP="--NOMBRE DEPARTAMENTO N--"
F_PESO_ORI="--PESO ORIGEN N--"
F_PESO_VOLPES="--PESO SORTER N--"
F_M3_ORI="--M3 ORIGEN N--"

Pág. 116
Documentación WebServices

F_M3_VOLPES="--M3 SORTER N--"


V_COD_AGE_DES="--AGENCIA DE DESTINO N--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1 N--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2 N--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3 N--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4 N--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5 N--"
I_ID_EST="--ID DEL ESTADO N--"
V_COD_TIPO_EST="--CÓDIGO DEL TIPO DE ESTADO N--"
D_FEC_HORA_ALTA_EST="--FECHA Y HORA DE ALTA DEL ESTADO N en formato mm/dd/yyyy
hh:mm:ss--"
D_FEC_HORA_ALTA_REG_EST="--FECHA Y HORA DE ALTA DE REGISTRO DEL ESTADO N
en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_EST="--USUARIO DE ALTA DEL ESTADO N--"
V_COD_AGE_ALTA_EST="--AGENCIA DE ALTA DEL ESTADO N--"
V_COD_CLI_ALTA_EST="--CLIENTE DE ALTA DEL ESTADO N--"
V_COD_CLI_DEP_ALTA_EST="--DEPARTAMENTO DE ALTA DEL ESTADO N--"
V_COD_REP_ALTA_POD="--REPARTIDOR DE ALTA DEL ESTADO N--"
I_ID_INC="--ID DE LA INCIDENCIA N--"
V_COD_TIPO_INC="--CÓDIGO DEL TIPO DE INCIDENCIA N--"
V_OBS_INC="--OBSERVACIONES DE LA INCIDENCIA N--"
D_FEC_HORA_CIERRE_INC="--FECHA Y HORA DE CIERRE DE LA INCIDENCIA N en formato
mm/dd/yyyy hh:mm:ss--"
B_RESUELTA_INC="--SI ESTA INCIDENCIA ESTÁ RESUELTA N--"
V_COD_USU_RES_INC="--USUARIO QUE RESUELVE LA INCIDENCIA N--"
SD_HORA_INC="--HORA DE LA INCIDENCIA N en formato hh:mm:ss--"
D_FEC_HORA_ALTA_INC="--FECHA Y HORA DE ALTA DE LA INCIDENCIA N en formato
mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_INC="--USUARIO DE ALTA DE LA INCIDENCIA N--"
V_COD_AGE_ALTA_INC="--AGENCIA DE ALTA DE LA INCIDENCIA N--"
V_COD_CLI_ALTA_INC="--CLIENTE DE ALTA DE LA INCIDENCIA N--"
V_COD_CLI_DEP_ALTA_INC="--DEPARTAMENTO DE ALTA DE LA INCIDENCIA N--"
V_COD_REP_ALTA_INC="--REPARTIDOR DE ALTA DE LA INCIDENCIA N--"
/>

</CONSULTA>
</v1:strIEnvEstIncCambioEstado>
</v1:WebServService___ConsEnvEstIncCambioEstadoResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Pág. 117
Documentación WebServices

1.2.2.29.Método ConsRecEstIncCambioEstado

PARÁMETRO E/S TIPO DESCRIPCIÓN


Fecha y hora de inicio del rango de fechas de cambio de
dtFecHoraEstadoInicio Entrada DateTime
estados de recogidas.
Fecha y hora fin del rango de fechas de cambio de estados de
dtFecHoraEstadoFin Entrada DateTime
recogidas.
strRecEstIncCambioEs
Salida String XML con los datos de las recogidas, estados e incidencias.
tado

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:

El uso es similar a la anterior.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

string xmlResult = wsWebService.ConsRecEstIncCambioEstado("fecha-hora-inicio-estado", "fecha-hora-fin-


estado");

Una vez ejecutada la función la variable xmlResult contendrá un XML de respuesta con el
siguiente formato, que habrá que tratar para extraer los valores:

XML
<CONSULTA>
<REC_EST_INC_CAMBIO_ESTADO
V_COD="--CÓDIGO DE RECOGIDA 1--"
V_COD_TIPO_SERV="--CÓDIGO TIPO SERVICIO 1--"
V_DES_TIPO_SERV="--DESCRIPCIÓN TIPO SERVICIO 1--"
V_REF="--REFERENCIA 1--"
V_COD_CLI="--CÓDIGO CLIENTE 1--"
V_NOM_CLI="--NOMBRE CLIENTE 1--"
V_COD_CLI_DEP="--CÓDIGO DEPARTAMENTO 1--"
V_NOM_CLI_DEP="--NOMBRE DEPARTAMENTO 1--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"

Pág. 118
Documentación WebServices

B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"


I_ID_EST="--ID DEL ESTADO 1--"
V_COD_TIPO_EST="--CÓDIGO DEL TIPO DE ESTADO 1--"
D_FEC_HORA_ALTA_EST="--FECHA Y HORA DE ALTA DEL ESTADO 1 en formato mm/dd/yyyy
hh:mm:ss--"
D_FEC_HORA_ALTA_REG_EST="--FECHA Y HORA DE ALTA DE REGISTRO DEL ESTADO 1 en
formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_EST="--USUARIO DE ALTA DEL ESTADO 1--"
V_COD_AGE_ALTA_EST="--AGENCIA DE ALTA DEL ESTADO 1--"
V_COD_CLI_ALTA_EST="--CLIENTE DE ALTA DEL ESTADO 1--"
V_COD_CLI_DEP_ALTA_EST="--DEPARTAMENTO DE ALTA DEL ESTADO 1--"
V_COD_REP_ALTA_POD="--REPARTIDOR DE ALTA DEL ESTADO 1--"
I_ID_INC="--ID DE LA INCIDENCIA 1--"
V_COD_TIPO_INC="--CÓDIGO DEL TIPO DE INCIDENCIA 1--"
V_OBS_INC="--OBSERVACIONES DE LA INCIDENCIA 1--"
D_FEC_HORA_CIERRE_INC="--FECHA Y HORA DE CIERRE DE LA INCIDENCIA 1 en formato
mm/dd/yyyy hh:mm:ss--"
B_RESUELTA_INC="--SI ESTA INCIDENCIA ESTÁ RESUELTA--"
V_COD_USU_RES_INC="--USUARIO QUE RESUELVE LA INCIDENCIA--"
SD_HORA_INC="--HORA DE LA INCIDENCIA 1 en formato hh:mm:ss--"
D_FEC_HORA_ALTA_INC="--FECHA Y HORA DE ALTA DE LA INCIDENCIA 1 en formato mm/dd/yyyy
hh:mm:ss--"
V_COD_USU_ALTA_INC="--USUARIO DE ALTA DE LA INCIDENCIA 1--"
V_COD_AGE_ALTA_INC="--AGENCIA DE ALTA DE LA INCIDENCIA 1--"
V_COD_REP_ALTA_INC="--REPARTIDOR DE ALTA DE LA INCIDENCIA 1--"
/>

// DEVOLVERÁ UN BLOQUE POR CADA RECOGIDA

<REC_EST_INC_CAMBIO_ESTADO
V_COD="--CÓDIGO DE RECOGIDA N--"
V_COD_TIPO_SERV="--CÓDIGO TIPO SERVICIO N--"
V_DES_TIPO_SERV="--DESCRIPCIÓN TIPO SERVICIO N--"
V_REF="--REFERENCIA N--"
V_COD_CLI="--CÓDIGO CLIENTE N--"
V_NOM_CLI="--NOMBRE CLIENTE N--"
V_COD_CLI_DEP="--CÓDIGO DEPARTAMENTO N--"
V_NOM_CLI_DEP="--NOMBRE DEPARTAMENTO N--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1 N--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2 N--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3 N--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4 N--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5 N--"
I_ID_EST="--ID DEL ESTADO N--"
V_COD_TIPO_EST="--CÓDIGO DEL TIPO DE ESTADO N--"
D_FEC_HORA_ALTA_EST="--FECHA Y HORA DE ALTA DEL ESTADO N en formato mm/dd/yyyy
hh:mm:ss--"
D_FEC_HORA_ALTA_REG_EST="--FECHA Y HORA DE ALTA DE REGISTRO DEL ESTADO N en
formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_EST="--USUARIO DE ALTA DEL ESTADO N--"
V_COD_AGE_ALTA_EST="--AGENCIA DE ALTA DEL ESTADO N--"
V_COD_CLI_ALTA_EST="--CLIENTE DE ALTA DEL ESTADO N--"
V_COD_CLI_DEP_ALTA_EST="--DEPARTAMENTO DE ALTA DEL ESTADO N--"
V_COD_REP_ALTA_POD="--REPARTIDOR DE ALTA DEL ESTADO N--"
I_ID_INC="--ID DE LA INCIDENCIA N--"
V_COD_TIPO_INC="--CÓDIGO DEL TIPO DE INCIDENCIA N--"
V_OBS_INC="--OBSERVACIONES DE LA INCIDENCIA N--"
D_FEC_HORA_CIERRE_INC="--FECHA Y HORA DE CIERRE DE LA INCIDENCIA N en formato
mm/dd/yyyy hh:mm:ss--"
B_RESUELTA_INC="--SI ESTA INCIDENCIA ESTÁ RESUELTA N--"
V_COD_USU_RES_INC="--USUARIO QUE RESUELVE LA INCIDENCIA N--"
SD_HORA_INC="--HORA DE LA INCIDENCIA N en formato hh:mm:ss--"
D_FEC_HORA_ALTA_INC="--FECHA Y HORA DE ALTA DE LA INCIDENCIA N en formato
mm/dd/yyyy hh:mm:ss--"

Pág. 119
Documentación WebServices

V_COD_USU_ALTA_INC="--USUARIO DE ALTA DE LA INCIDENCIA N--"


V_COD_AGE_ALTA_INC="--AGENCIA DE ALTA DE LA INCIDENCIA N--"
V_COD_REP_ALTA_INC="--REPARTIDOR DE ALTA DE LA INCIDENCIA N--"
/>

</CONSULTA>

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--ID de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsRecEstIncCambioEstado>
<dtFecHoraEstadoInicio>-fecha inicio-
</dtFecHoraEstadoInicio>
<dtFecHoraEstadoFin>-fecha fin-</dtFecHoraEstadoFin>
</WebServService___ConsRecEstIncCambioEstado>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato, que habrá que tratar para extraer los valores:

XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/"

Pág. 120
Documentación WebServices

>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:WebServService___ConsRecEstIncCambioEstadoResponse>
<v1:strRecEstIncCambioEstado>
<CONSULTA>
<REC_EST_INC_CAMBIO_ESTADO
V_COD="--CÓDIGO RECOGIDA 1--"
V_COD_TIPO_SERV="--CÓDIGO TIPO SERVICIO 1--"
V_DES_TIPO_SERV="--DESCRIPCIÓN TIPO SERVICIO 1--"
V_REF="--REFERENCIA 1--"
V_COD_CLI="--CÓDIGO CLIENTE 1--"
V_NOM_CLI="--NOMBRE CLIENTE 1--"
V_COD_CLI_DEP="--CÓDIGO DEPARTAMENTO 1--"
V_NOM_CLI_DEP="--NOMBRE DEPARTAMENTO 1--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
I_ID_EST="--ID DEL ESTADO 1--"
V_COD_TIPO_EST="--CÓDIGO DEL TIPO DE ESTADO 1--"
D_FEC_HORA_ALTA_EST="--FECHA Y HORA DE ALTA DEL ESTADO 1 en formato mm/dd/yyyy
hh:mm:ss--"
D_FEC_HORA_ALTA_REG_EST="--FECHA Y HORA DE ALTA DE REGISTRO DEL ESTADO 1
en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_EST="--USUARIO DE ALTA DEL ESTADO 1--"
V_COD_AGE_ALTA_EST="--AGENCIA DE ALTA DEL ESTADO 1--"
V_COD_CLI_ALTA_EST="--CLIENTE DE ALTA DEL ESTADO 1--"
V_COD_CLI_DEP_ALTA_EST="--DEPARTAMENTO DE ALTA DEL ESTADO 1--"
V_COD_REP_ALTA_POD="--REPARTIDOR DE ALTA DEL ESTADO 1--"
I_ID_INC="--ID DE LA INCIDENCIA 1--"
V_COD_TIPO_INC="--CÓDIGO DEL TIPO DE INCIDENCIA 1--"
V_OBS_INC="--OBSERVACIONES DE LA INCIDENCIA 1--"
D_FEC_HORA_CIERRE_INC="--FECHA Y HORA DE CIERRE DE LA INCIDENCIA 1 en formato
mm/dd/yyyy hh:mm:ss--"
B_RESUELTA_INC="--SI ESTA INCIDENCIA ESTÁ RESUELTA--"
V_COD_USU_RES_INC="--USUARIO QUE RESUELVE LA INCIDENCIA--"
SD_HORA_INC="--HORA DE LA INCIDENCIA 1 en formato hh:mm:ss--"
D_FEC_HORA_ALTA_INC="--FECHA Y HORA DE ALTA DE LA INCIDENCIA 1 en formato
mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_INC="--USUARIO DE ALTA DE LA INCIDENCIA 1--"
V_COD_AGE_ALTA_INC="--AGENCIA DE ALTA DE LA INCIDENCIA 1--"
V_COD_CLI_ALTA_INC="--CLIENTE DE ALTA DE LA INCIDENCIA 1--"
V_COD_CLI_DEP_ALTA_INC="--DEPARTAMENTO DE ALTA DE LA INCIDENCIA 1--"
V_COD_REP_ALTA_INC="--REPARTIDOR DE ALTA DE LA INCIDENCIA 1--"
/>

// DEVOLVERÁ UN BLOQUE POR CADA RECOGIDA

<REC_EST_INC_CAMBIO_ESTADO
V_COD="--CÓDIGO RECOGIDA N--"
V_COD_TIPO_SERV="--CÓDIGO TIPO SERVICIO N--"
V_DES_TIPO_SERV="--DESCRIPCIÓN TIPO SERVICIO N--"
V_REF="--REFERENCIA N--"
V_COD_CLI="--CÓDIGO CLIENTE N--"
V_NOM_CLI="--NOMBRE CLIENTE N--"
V_COD_CLI_DEP="--CÓDIGO DEPARTAMENTO N--"
V_NOM_CLI_DEP="--NOMBRE DEPARTAMENTO N--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1 N--"

Pág. 121
Documentación WebServices

V_CAMPO_2="--CAMPO PERSONALIZABLE 2 N--"


V_CAMPO_3="--CAMPO PERSONALIZABLE 3 N--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4 N--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5 N--"
I_ID_EST="--ID DEL ESTADO N--"
V_COD_TIPO_EST="--CÓDIGO DEL TIPO DE ESTADO N--"
D_FEC_HORA_ALTA_EST="--FECHA Y HORA DE ALTA DEL ESTADO N en formato mm/dd/yyyy
hh:mm:ss--"
D_FEC_HORA_ALTA_REG_EST="--FECHA Y HORA DE ALTA DE REGISTRO DEL ESTADO N
en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_EST="--USUARIO DE ALTA DEL ESTADO N--"
V_COD_AGE_ALTA_EST="--AGENCIA DE ALTA DEL ESTADO N--"
V_COD_CLI_ALTA_EST="--CLIENTE DE ALTA DEL ESTADO N--"
V_COD_CLI_DEP_ALTA_EST="--DEPARTAMENTO DE ALTA DEL ESTADO N--"
V_COD_REP_ALTA_POD="--REPARTIDOR DE ALTA DEL ESTADO N--"
I_ID_INC="--ID DE LA INCIDENCIA N--"
V_COD_TIPO_INC="--CÓDIGO DEL TIPO DE INCIDENCIA N--"
V_OBS_INC="--OBSERVACIONES DE LA INCIDENCIA N--"
D_FEC_HORA_CIERRE_INC="--FECHA Y HORA DE CIERRE DE LA INCIDENCIA N en formato
mm/dd/yyyy hh:mm:ss--"
B_RESUELTA_INC="--SI ESTA INCIDENCIA ESTÁ RESUELTA N--"
V_COD_USU_RES_INC="--USUARIO QUE RESUELVE LA INCIDENCIA N--"
SD_HORA_INC="--HORA DE LA INCIDENCIA N en formato hh:mm:ss--"
D_FEC_HORA_ALTA_INC="--FECHA Y HORA DE ALTA DE LA INCIDENCIA N en formato
mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_INC="--USUARIO DE ALTA DE LA INCIDENCIA N--"
V_COD_AGE_ALTA_INC="--AGENCIA DE ALTA DE LA INCIDENCIA N--"
V_COD_CLI_ALTA_INC="--CLIENTE DE ALTA DE LA INCIDENCIA N--"
V_COD_CLI_DEP_ALTA_INC="--DEPARTAMENTO DE ALTA DE LA INCIDENCIA N--"
V_COD_REP_ALTA_INC="--REPARTIDOR DE ALTA DE LA INCIDENCIA N--"
/>

</CONSULTA>
</v1:strIRecEstIncCambioEstado>
</v1:WebServService___ConsRecEstIncCambioEstadoResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Pág. 122
Documentación WebServices

1.2.2.30.Método ConsEnvEstIncCambiosEstados

PARÁMETRO E/S TIPO DESCRIPCIÓN


Fecha y hora de inicio del rango de fechas de cambios de
dtFecHoraEstadoInicio Entrada DateTime
estados de envíos.
Fecha y hora fin del rango de fechas de cambios de estados de
dtFecHoraEstadoFin Entrada DateTime
envíos.
strEnvEstIncCambiosEst
Salida String XML con los datos de los envíos, estados e incidencias.
ados

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:

El uso es similar a la anterior.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

string xmlResult = wsWebService.ConsEnvEstIncCambiosEstados("fecha-hora-inicio-estado", "fecha-hora-fin-


estado");

Una vez ejecutada la función la variable xmlResult contendrá un XML de respuesta con el
siguiente formato, que habrá que tratar para extraer los valores:

XML
<CONSULTA>
<ENV_EST_INC_CAMBIOS_ESTADOS
V_COD_AGE_CARGO="--AGENCIA DE CARGO 1--"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN 1--"
V_ALBARAN="--ALBARAN 1--"
D_FECHA="--FECHA SALIDA 1 en formato mm/dd/yyyy hh:mm:ss--"
D_FEC_ENTR="--FECHA ENTREGA 1 en formato mm/dd/yyyy hh:mm:ss--"
V_COD_TIPO_SERV="--CÓDIGO TIPO SERVICIO 1--"
V_DES_TIPO_SERV="--DESCRIPCIÓN TIPO SERVICIO 1--"
V_REF="--REFERENCIA 1--"
V_COD_CLI="--CÓDIGO CLIENTE 1--"
V_NOM_CLI="--NOMBRE CLIENTE 1--"
V_COD_CLI_DEP="--CÓDIGO DEPARTAMENTO 1--"

Pág. 123
Documentación WebServices

V_NOM_CLI_DEP="--NOMBRE DEPARTAMENTO 1--"


F_PESO_ORI="--PESO ORIGEN 1--"
F_PESO_VOLPES="--PESO SORTER 1--"
F_M3_ORI="--M3 ORIGEN 1--"
F_M3_VOLPES="--M3 SORTER 1--"
V_COD_AGE_DES="--AGENCIA DE DESTINO 1--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
I_ID_EST="--ID DEL ESTADO 1--"
V_COD_TIPO_EST="--CÓDIGO DEL TIPO DE ESTADO 1--"
D_FEC_HORA_ALTA_EST="--FECHA Y HORA DE ALTA DEL ESTADO 1 en formato mm/dd/yyyy
hh:mm:ss--"
D_FEC_HORA_ALTA_REG_EST="--FECHA Y HORA DE ALTA DE REGISTRO DEL ESTADO 1 en
formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_EST="--USUARIO DE ALTA DEL ESTADO 1--"
V_COD_AGE_ALTA_EST="--AGENCIA DE ALTA DEL ESTADO 1--"
V_COD_CLI_ALTA_EST="--CLIENTE DE ALTA DEL ESTADO 1--"
V_COD_CLI_DEP_ALTA_EST="--DEPARTAMENTO DE ALTA DEL ESTADO 1--"
V_COD_REP_ALTA_POD="--REPARTIDOR DE ALTA DEL ESTADO 1--"
I_ID_INC="--ID DE LA INCIDENCIA 1--"
V_COD_TIPO_INC="--CÓDIGO DEL TIPO DE INCIDENCIA 1--"
V_OBS_INC="--OBSERVACIONES DE LA INCIDENCIA 1--"
D_FEC_HORA_CIERRE_INC="--FECHA Y HORA DE CIERRE DE LA INCIDENCIA 1 en formato
mm/dd/yyyy hh:mm:ss--"
B_RESUELTA_INC="--SI ESTA INCIDENCIA ESTÁ RESUELTA--"
V_COD_USU_RES_INC="--USUARIO QUE RESUELVE LA INCIDENCIA--"
SD_HORA_INC="--HORA DE LA INCIDENCIA 1 en formato hh:mm:ss--"
D_FEC_HORA_ALTA_INC="--FECHA Y HORA DE ALTA DE LA INCIDENCIA 1 en formato mm/dd/yyyy
hh:mm:ss--"
V_COD_USU_ALTA_INC="--USUARIO DE ALTA DE LA INCIDENCIA 1--"
V_COD_AGE_ALTA_INC="--AGENCIA DE ALTA DE LA INCIDENCIA 1--"
V_COD_CLI_ALTA_INC="--CLIENTE DE ALTA DE LA INCIDENCIA 1--"
V_COD_CLI_DEP_ALTA_INC="--DEPARTAMENTO DE ALTA DE LA INCIDENCIA 1--"
V_COD_REP_ALTA_INC="--REPARTIDOR DE ALTA DE LA INCIDENCIA 1--"
V_FRANJA_HORARIA="--FRANJA HORARIA 1
 Espacio en blanco: sin franja horaria
 M: Mañana
 T: Tarde--"
SD_HORA_ENV_INI="--HORA INICIO 1 en formato hh:mm:ss--"
SD_HORA_ENV_FIN="--HORA FIN 1 en formato hh:mm:ss--"
/>

// DEVOLVERÁ UN BLOQUE POR CADA CAMBIO DE ESTADO

<ENV_EST_INC_CAMBIOS_ESTADOS
V_COD_AGE_CARGO="--AGENCIA DE CARGO N--"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN N--"
V_ALBARAN="--ALBARAN N--"
D_FECHA="--FECHA SALIDA N en formato mm/dd/yyyy hh:mm:ss--"
D_FEC_ENTR="--FECHA ENTREGA N en formato mm/dd/yyyy hh:mm:ss--"
V_COD_TIPO_SERV="--CÓDIGO TIPO SERVICIO N--"
V_DES_TIPO_SERV="--DESCRIPCIÓN TIPO SERVICIO N--"
V_REF="--REFERENCIA N--"
V_COD_CLI="--CÓDIGO CLIENTE N--"
V_NOM_CLI="--NOMBRE CLIENTE N--"
V_COD_CLI_DEP="--CÓDIGO DEPARTAMENTO N--"
V_NOM_CLI_DEP="--NOMBRE DEPARTAMENTO N--"
F_PESO_ORI="--PESO ORIGEN N--"
F_PESO_VOLPES="--PESO SORTER N--"
F_M3_ORI="--M3 ORIGEN N--"
F_M3_VOLPES="--M3 SORTER N--"

Pág. 124
Documentación WebServices

V_COD_AGE_DES="--AGENCIA DE DESTINO N--"


V_CAMPO_1="--CAMPO PERSONALIZABLE 1 N--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2 N--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3 N--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4 N--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5 N--"
I_ID_EST="--ID DEL ESTADO N--"
V_COD_TIPO_EST="--CÓDIGO DEL TIPO DE ESTADO N--"
D_FEC_HORA_ALTA_EST="--FECHA Y HORA DE ALTA DEL ESTADO N en formato mm/dd/yyyy
hh:mm:ss--"
D_FEC_HORA_ALTA_REG_EST="--FECHA Y HORA DE ALTA DE REGISTRO DEL ESTADO N en
formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_EST="--USUARIO DE ALTA DEL ESTADO N--"
V_COD_AGE_ALTA_EST="--AGENCIA DE ALTA DEL ESTADO N--"
V_COD_CLI_ALTA_EST="--CLIENTE DE ALTA DEL ESTADO N--"
V_COD_CLI_DEP_ALTA_EST="--DEPARTAMENTO DE ALTA DEL ESTADO N--"
V_COD_REP_ALTA_POD="--REPARTIDOR DE ALTA DEL ESTADO N--"
I_ID_INC="--ID DE LA INCIDENCIA N--"
V_COD_TIPO_INC="--CÓDIGO DEL TIPO DE INCIDENCIA N--"
V_OBS_INC="--OBSERVACIONES DE LA INCIDENCIA N--"
D_FEC_HORA_CIERRE_INC="--FECHA Y HORA DE CIERRE DE LA INCIDENCIA N en formato
mm/dd/yyyy hh:mm:ss--"
B_RESUELTA_INC="--SI ESTA INCIDENCIA ESTÁ RESUELTA N--"
V_COD_USU_RES_INC="--USUARIO QUE RESUELVE LA INCIDENCIA N--"
SD_HORA_INC="--HORA DE LA INCIDENCIA N en formato hh:mm:ss--"
D_FEC_HORA_ALTA_INC="--FECHA Y HORA DE ALTA DE LA INCIDENCIA N en formato
mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_INC="--USUARIO DE ALTA DE LA INCIDENCIA N--"
V_COD_AGE_ALTA_INC="--AGENCIA DE ALTA DE LA INCIDENCIA N--"
V_COD_CLI_ALTA_INC="--CLIENTE DE ALTA DE LA INCIDENCIA N--"
V_COD_CLI_DEP_ALTA_INC="--DEPARTAMENTO DE ALTA DE LA INCIDENCIA N--"
V_COD_REP_ALTA_INC="--REPARTIDOR DE ALTA DE LA INCIDENCIA N--"
V_FRANJA_HORARIA="--FRANJA HORARIA N--"
SD_HORA_ENV_INI="--HORA INICIO N--"
SD_HORA_ENV_FIN="--HORA FIN N--"
/>

</CONSULTA>

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>

Pág. 125
Documentación WebServices

<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--ID de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsEnvEstIncCambiosEstados>
<dtFecHoraEstadoInicio>-fecha inicio-
</dtFecHoraEstadoInicio>
<dtFecHoraEstadoFin>-fecha fin-</dtFecHoraEstadoFin>
</WebServService___ConsEnvEstIncCambiosEstados>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato, que habrá que tratar para extraer los valores:

XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/"
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:WebServService___ConsEnvEstIncCambiosEstadosResponse>
<v1:strEnvEstIncCambiosEstados>
<CONSULTA>
<ENV_EST_INC_CAMBIOS_ESTADOS
V_COD_AGE_CARGO="--AGENCIA DE CARGO 1--"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN 1--"
V_ALBARAN="--ALBARAN 1--"
D_FECHA="--FECHA SALIDA 1 en formato mm/dd/yyyy hh:mm:ss--"
D_FEC_ENTR="--FECHA ENTREGA 1 en formato mm/dd/yyyy hh:mm:ss--"
V_COD_TIPO_SERV="--CÓDIGO TIPO SERVICIO 1--"
V_DES_TIPO_SERV="--DESCRIPCIÓN TIPO SERVICIO 1--"
V_REF="--REFERENCIA 1--"
V_COD_CLI="--CÓDIGO CLIENTE 1--"
V_NOM_CLI="--NOMBRE CLIENTE 1--"
V_COD_CLI_DEP="--CÓDIGO DEPARTAMENTO 1--"
V_NOM_CLI_DEP="--NOMBRE DEPARTAMENTO 1--"
F_PESO_ORI="--PESO ORIGEN 1--"
F_PESO_VOLPES="--PESO SORTER 1--"
F_M3_ORI="--M3 ORIGEN 1--"
F_M3_VOLPES="--M3 SORTER 1--"
V_COD_AGE_DES="--AGENCIA DE DESTINO 1--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"

Pág. 126
Documentación WebServices

B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"


I_ID_EST="--ID DEL ESTADO 1--"
V_COD_TIPO_EST="--CÓDIGO DEL TIPO DE ESTADO 1--"
D_FEC_HORA_ALTA_EST="--FECHA Y HORA DE ALTA DEL ESTADO 1 en formato mm/dd/yyyy
hh:mm:ss--"
D_FEC_HORA_ALTA_REG_EST="--FECHA Y HORA DE ALTA DE REGISTRO DEL ESTADO 1
en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_EST="--USUARIO DE ALTA DEL ESTADO 1--"
V_COD_AGE_ALTA_EST="--AGENCIA DE ALTA DEL ESTADO 1--"
V_COD_CLI_ALTA_EST="--CLIENTE DE ALTA DEL ESTADO 1--"
V_COD_CLI_DEP_ALTA_EST="--DEPARTAMENTO DE ALTA DEL ESTADO 1--"
V_COD_REP_ALTA_POD="--REPARTIDOR DE ALTA DEL ESTADO 1--"
I_ID_INC="--ID DE LA INCIDENCIA 1--"
V_COD_TIPO_INC="--CÓDIGO DEL TIPO DE INCIDENCIA 1--"
V_OBS_INC="--OBSERVACIONES DE LA INCIDENCIA 1--"
D_FEC_HORA_CIERRE_INC="--FECHA Y HORA DE CIERRE DE LA INCIDENCIA 1 en formato
mm/dd/yyyy hh:mm:ss--"
B_RESUELTA_INC="--SI ESTA INCIDENCIA ESTÁ RESUELTA--"
V_COD_USU_RES_INC="--USUARIO QUE RESUELVE LA INCIDENCIA--"
SD_HORA_INC="--HORA DE LA INCIDENCIA 1 en formato hh:mm:ss--"
D_FEC_HORA_ALTA_INC="--FECHA Y HORA DE ALTA DE LA INCIDENCIA 1 en formato
mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_INC="--USUARIO DE ALTA DE LA INCIDENCIA 1--"
V_COD_AGE_ALTA_INC="--AGENCIA DE ALTA DE LA INCIDENCIA 1--"
V_COD_CLI_ALTA_INC="--CLIENTE DE ALTA DE LA INCIDENCIA 1--"
V_COD_CLI_DEP_ALTA_INC="--DEPARTAMENTO DE ALTA DE LA INCIDENCIA 1--"
V_COD_REP_ALTA_INC="--REPARTIDOR DE ALTA DE LA INCIDENCIA 1--"
V_FRANJA_HORARIA="--FRANJA HORARIA 1
 Espacio en blanco: sin franja horaria
 M: Mañana
 T: Tarde--"
SD_HORA_ENV_INI="--HORA INICIO 1 en formato hh:mm:ss--"
SD_HORA_ENV_FIN="--HORA FIN 1 en formato hh:mm:ss--"
/>

// DEVOLVERÁ UN BLOQUE POR CADA CAMBIO DE ESTADO

<ENV_EST_INC_CAMBIOS_ESTADOS
V_COD_AGE_CARGO="--AGENCIA DE CARGO N--"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN N--"
V_ALBARAN="--ALBARAN N--"
D_FECHA="--FECHA SALIDA N en formato mm/dd/yyyy hh:mm:ss--"
D_FEC_ENTR="--FECHA ENTREGA N en formato mm/dd/yyyy hh:mm:ss--"
V_COD_TIPO_SERV="--CÓDIGO TIPO SERVICIO N--"
V_DES_TIPO_SERV="--DESCRIPCIÓN TIPO SERVICIO N--"
V_REF="--REFERENCIA N--"
V_COD_CLI="--CÓDIGO CLIENTE N--"
V_NOM_CLI="--NOMBRE CLIENTE N--"
V_COD_CLI_DEP="--CÓDIGO DEPARTAMENTO N--"
V_NOM_CLI_DEP="--NOMBRE DEPARTAMENTO N--"
F_PESO_ORI="--PESO ORIGEN N--"
F_PESO_VOLPES="--PESO SORTER N--"
F_M3_ORI="--M3 ORIGEN N--"
F_M3_VOLPES="--M3 SORTER N--"
V_COD_AGE_DES="--AGENCIA DE DESTINO N--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1 N--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2 N--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3 N--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4 N--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5 N--"
I_ID_EST="--ID DEL ESTADO N--"
V_COD_TIPO_EST="--CÓDIGO DEL TIPO DE ESTADO N--"
D_FEC_HORA_ALTA_EST="--FECHA Y HORA DE ALTA DEL ESTADO N en formato mm/dd/yyyy
hh:mm:ss--"

Pág. 127
Documentación WebServices

D_FEC_HORA_ALTA_REG_EST="--FECHA Y HORA DE ALTA DE REGISTRO DEL ESTADO N


en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_EST="--USUARIO DE ALTA DEL ESTADO N--"
V_COD_AGE_ALTA_EST="--AGENCIA DE ALTA DEL ESTADO N--"
V_COD_CLI_ALTA_EST="--CLIENTE DE ALTA DEL ESTADO N--"
V_COD_CLI_DEP_ALTA_EST="--DEPARTAMENTO DE ALTA DEL ESTADO N--"
V_COD_REP_ALTA_POD="--REPARTIDOR DE ALTA DEL ESTADO N--"
I_ID_INC="--ID DE LA INCIDENCIA N--"
V_COD_TIPO_INC="--CÓDIGO DEL TIPO DE INCIDENCIA N--"
V_OBS_INC="--OBSERVACIONES DE LA INCIDENCIA N--"
D_FEC_HORA_CIERRE_INC="--FECHA Y HORA DE CIERRE DE LA INCIDENCIA N en formato
mm/dd/yyyy hh:mm:ss--"
B_RESUELTA_INC="--SI ESTA INCIDENCIA ESTÁ RESUELTA N--"
V_COD_USU_RES_INC="--USUARIO QUE RESUELVE LA INCIDENCIA N--"
SD_HORA_INC="--HORA DE LA INCIDENCIA N en formato hh:mm:ss--"
D_FEC_HORA_ALTA_INC="--FECHA Y HORA DE ALTA DE LA INCIDENCIA N en formato
mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_INC="--USUARIO DE ALTA DE LA INCIDENCIA N--"
V_COD_AGE_ALTA_INC="--AGENCIA DE ALTA DE LA INCIDENCIA N--"
V_COD_CLI_ALTA_INC="--CLIENTE DE ALTA DE LA INCIDENCIA N--"
V_COD_CLI_DEP_ALTA_INC="--DEPARTAMENTO DE ALTA DE LA INCIDENCIA N--"
V_COD_REP_ALTA_INC="--REPARTIDOR DE ALTA DE LA INCIDENCIA N--"
V_FRANJA_HORARIA="--FRANJA HORARIA N--"
SD_HORA_ENV_INI="--HORA INICIO N--"
SD_HORA_ENV_FIN="--HORA FIN N--"
/>

</CONSULTA>
</v1:strIEnvEstIncCambiosEstados>
</v1:WebServService___ConsEnvEstIncCambiosEstadosResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

1.2.2.31.Método ConsRecEstIncCambiosEstados

PARÁMETRO E/S TIPO DESCRIPCIÓN


Fecha y hora de inicio del rango de fechas de cambios de
dtFecHoraEstadoInicio Entrada DateTime
estados de recogidas.
Fecha y hora fin del rango de fechas de cambios de estados de
dtFecHoraEstadoFin Entrada DateTime
recogidas.
strRecEstIncCambiosE
Salida String XML con los datos de las recogidas, estados e incidencias.
stados

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:

Pág. 128
Documentación WebServices

El uso es similar a la anterior.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

string xmlResult = wsWebService.ConsRecEstIncCambiosEstados("fecha-hora-inicio-estado", "fecha-hora-fin-


estado");

Una vez ejecutada la función la variable xmlResult contendrá un XML de respuesta con el
siguiente formato, que habrá que tratar para extraer los valores:

XML
<CONSULTA>
<REC_EST_INC_CAMBIOS_ESTADOS
V_COD="--CÓDIGO DE RECOGIDA 1--"
V_COD_TIPO_SERV="--CÓDIGO TIPO SERVICIO 1--"
V_DES_TIPO_SERV="--DESCRIPCIÓN TIPO SERVICIO 1--"
V_REF="--REFERENCIA 1--"
V_COD_CLI="--CÓDIGO CLIENTE 1--"
V_NOM_CLI="--NOMBRE CLIENTE 1--"
V_COD_CLI_DEP="--CÓDIGO DEPARTAMENTO 1--"
V_NOM_CLI_DEP="--NOMBRE DEPARTAMENTO 1--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
I_ID_EST="--ID DEL ESTADO 1--"
V_COD_TIPO_EST="--CÓDIGO DEL TIPO DE ESTADO 1--"
D_FEC_HORA_ALTA_EST="--FECHA Y HORA DE ALTA DEL ESTADO 1 en formato mm/dd/yyyy
hh:mm:ss--"
D_FEC_HORA_ALTA_REG_EST="--FECHA Y HORA DE ALTA DE REGISTRO DEL ESTADO 1 en
formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_EST="--USUARIO DE ALTA DEL ESTADO 1--"
V_COD_AGE_ALTA_EST="--AGENCIA DE ALTA DEL ESTADO 1--"
V_COD_CLI_ALTA_EST="--CLIENTE DE ALTA DEL ESTADO 1--"
V_COD_CLI_DEP_ALTA_EST="--DEPARTAMENTO DE ALTA DEL ESTADO 1--"
V_COD_REP_ALTA_POD="--REPARTIDOR DE ALTA DEL ESTADO 1--"
I_ID_INC="--ID DE LA INCIDENCIA 1--"
V_COD_TIPO_INC="--CÓDIGO DEL TIPO DE INCIDENCIA 1--"
V_OBS_INC="--OBSERVACIONES DE LA INCIDENCIA 1--"
D_FEC_HORA_CIERRE_INC="--FECHA Y HORA DE CIERRE DE LA INCIDENCIA 1 en formato
mm/dd/yyyy hh:mm:ss--"
B_RESUELTA_INC="--SI ESTA INCIDENCIA ESTÁ RESUELTA--"
V_COD_USU_RES_INC="--USUARIO QUE RESUELVE LA INCIDENCIA--"
SD_HORA_INC="--HORA DE LA INCIDENCIA 1 en formato hh:mm:ss--"
D_FEC_HORA_ALTA_INC="--FECHA Y HORA DE ALTA DE LA INCIDENCIA 1 en formato mm/dd/yyyy
hh:mm:ss--"

Pág. 129
Documentación WebServices

V_COD_USU_ALTA_INC="--USUARIO DE ALTA DE LA INCIDENCIA 1--"


V_COD_AGE_ALTA_INC="--AGENCIA DE ALTA DE LA INCIDENCIA 1--"
V_COD_REP_ALTA_INC="--REPARTIDOR DE ALTA DE LA INCIDENCIA 1--"
V_COD_AGE_CARGO="--AGENCIA DE CARGO 1--"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN 1--"
V_COD_AGE_DES="--AGENCIA DE DESTINO 1--"
D_FEC_REC="--FECHA RECOGIDA 1 en formato mm/dd/yyyy--"
SD_HORA_REC_INI="--HORA INICIO 1 en formato hh:mm:ss--"
SD_HORA_REC_FIN="--HORA FIN 1 en formato hh:mm:ss--"
SD_HORA_REC_INI_TARDE="--HORA INICIO TARDE 1 en formato hh:mm:ss--"
SD_HORA_REC_FIN_TARDE="--HORA FIN TARDE 1 en formato hh:mm:ss--"
/>

// DEVOLVERÁ UN BLOQUE POR CADA CAMBIO DE ESTADO

<REC_EST_INC_CAMBIOS_ESTADOS
V_COD="--CÓDIGO DE RECOGIDA N--"
V_COD_TIPO_SERV="--CÓDIGO TIPO SERVICIO N--"
V_DES_TIPO_SERV="--DESCRIPCIÓN TIPO SERVICIO N--"
V_REF="--REFERENCIA N--"
V_COD_CLI="--CÓDIGO CLIENTE N--"
V_NOM_CLI="--NOMBRE CLIENTE N--"
V_COD_CLI_DEP="--CÓDIGO DEPARTAMENTO N--"
V_NOM_CLI_DEP="--NOMBRE DEPARTAMENTO N--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1 N--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2 N--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3 N--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4 N--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5 N--"
I_ID_EST="--ID DEL ESTADO N--"
V_COD_TIPO_EST="--CÓDIGO DEL TIPO DE ESTADO N--"
D_FEC_HORA_ALTA_EST="--FECHA Y HORA DE ALTA DEL ESTADO N en formato mm/dd/yyyy
hh:mm:ss--"
D_FEC_HORA_ALTA_REG_EST="--FECHA Y HORA DE ALTA DE REGISTRO DEL ESTADO N en
formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_EST="--USUARIO DE ALTA DEL ESTADO N--"
V_COD_AGE_ALTA_EST="--AGENCIA DE ALTA DEL ESTADO N--"
V_COD_CLI_ALTA_EST="--CLIENTE DE ALTA DEL ESTADO N--"
V_COD_CLI_DEP_ALTA_EST="--DEPARTAMENTO DE ALTA DEL ESTADO N--"
V_COD_REP_ALTA_POD="--REPARTIDOR DE ALTA DEL ESTADO N--"
I_ID_INC="--ID DE LA INCIDENCIA N--"
V_COD_TIPO_INC="--CÓDIGO DEL TIPO DE INCIDENCIA N--"
V_OBS_INC="--OBSERVACIONES DE LA INCIDENCIA N--"
D_FEC_HORA_CIERRE_INC="--FECHA Y HORA DE CIERRE DE LA INCIDENCIA N en formato
mm/dd/yyyy hh:mm:ss--"
B_RESUELTA_INC="--SI ESTA INCIDENCIA ESTÁ RESUELTA N--"
V_COD_USU_RES_INC="--USUARIO QUE RESUELVE LA INCIDENCIA N--"
SD_HORA_INC="--HORA DE LA INCIDENCIA N en formato hh:mm:ss--"
D_FEC_HORA_ALTA_INC="--FECHA Y HORA DE ALTA DE LA INCIDENCIA N en formato
mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_INC="--USUARIO DE ALTA DE LA INCIDENCIA N--"
V_COD_AGE_ALTA_INC="--AGENCIA DE ALTA DE LA INCIDENCIA N--"
V_COD_REP_ALTA_INC="--REPARTIDOR DE ALTA DE LA INCIDENCIA N--"
V_COD_AGE_CARGO="--AGENCIA DE CARGO N--"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN N--"
V_COD_AGE_DES="--AGENCIA DE DESTINO N--"
D_FEC_REC="--FECHA RECOGIDA N en formato mm/dd/yyyy--"
SD_HORA_REC_INI="--HORA INICIO N en formato hh:mm:ss--"
SD_HORA_REC_FIN="--HORA FIN N en formato hh:mm:ss--"
SD_HORA_REC_INI_TARDE="--HORA INICIO TARDE N en formato hh:mm:ss--"
SD_HORA_REC_FIN_TARDE="--HORA FIN TARDE N en formato hh:mm:ss--"
/>

</CONSULTA>

Pág. 130
Documentación WebServices

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--ID de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsRecEstIncCambiosEstados>
<dtFecHoraEstadoInicio>-fecha inicio-
</dtFecHoraEstadoInicio>
<dtFecHoraEstadoFin>-fecha fin-</dtFecHoraEstadoFin>
</WebServService___ConsRecEstIncCambiosEstados>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato, que habrá que tratar para extraer los valores:

XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/"
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>

Pág. 131
Documentación WebServices

<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:WebServService___ConsRecEstIncCambiosEstadosResponse>
<v1:strRecEstIncCambiosEstados>
<CONSULTA>
<REC_EST_INC_CAMBIOS_ESTADOS
V_COD="--CÓDIGO RECOGIDA 1--"
V_COD_TIPO_SERV="--CÓDIGO TIPO SERVICIO 1--"
V_DES_TIPO_SERV="--DESCRIPCIÓN TIPO SERVICIO 1--"
V_REF="--REFERENCIA 1--"
V_COD_CLI="--CÓDIGO CLIENTE 1--"
V_NOM_CLI="--NOMBRE CLIENTE 1--"
V_COD_CLI_DEP="--CÓDIGO DEPARTAMENTO 1--"
V_NOM_CLI_DEP="--NOMBRE DEPARTAMENTO 1--"
V_CAMPO_1="--CAMPO PERSONALIZABLE 1--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5--"
I_ID_EST="--ID DEL ESTADO 1--"
V_COD_TIPO_EST="--CÓDIGO DEL TIPO DE ESTADO 1--"
D_FEC_HORA_ALTA_EST="--FECHA Y HORA DE ALTA DEL ESTADO 1 en formato mm/dd/yyyy
hh:mm:ss--"
D_FEC_HORA_ALTA_REG_EST="--FECHA Y HORA DE ALTA DE REGISTRO DEL ESTADO 1
en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_EST="--USUARIO DE ALTA DEL ESTADO 1--"
V_COD_AGE_ALTA_EST="--AGENCIA DE ALTA DEL ESTADO 1--"
V_COD_CLI_ALTA_EST="--CLIENTE DE ALTA DEL ESTADO 1--"
V_COD_CLI_DEP_ALTA_EST="--DEPARTAMENTO DE ALTA DEL ESTADO 1--"
V_COD_REP_ALTA_POD="--REPARTIDOR DE ALTA DEL ESTADO 1--"
I_ID_INC="--ID DE LA INCIDENCIA 1--"
V_COD_TIPO_INC="--CÓDIGO DEL TIPO DE INCIDENCIA 1--"
V_OBS_INC="--OBSERVACIONES DE LA INCIDENCIA 1--"
D_FEC_HORA_CIERRE_INC="--FECHA Y HORA DE CIERRE DE LA INCIDENCIA 1 en formato
mm/dd/yyyy hh:mm:ss--"
B_RESUELTA_INC="--SI ESTA INCIDENCIA ESTÁ RESUELTA--"
V_COD_USU_RES_INC="--USUARIO QUE RESUELVE LA INCIDENCIA--"
SD_HORA_INC="--HORA DE LA INCIDENCIA 1 en formato hh:mm:ss--"
D_FEC_HORA_ALTA_INC="--FECHA Y HORA DE ALTA DE LA INCIDENCIA 1 en formato
mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_INC="--USUARIO DE ALTA DE LA INCIDENCIA 1--"
V_COD_AGE_ALTA_INC="--AGENCIA DE ALTA DE LA INCIDENCIA 1--"
V_COD_CLI_ALTA_INC="--CLIENTE DE ALTA DE LA INCIDENCIA 1--"
V_COD_CLI_DEP_ALTA_INC="--DEPARTAMENTO DE ALTA DE LA INCIDENCIA 1--"
V_COD_REP_ALTA_INC="--REPARTIDOR DE ALTA DE LA INCIDENCIA 1--"
V_COD_AGE_CARGO="--AGENCIA DE CARGO 1--"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN 1--"
V_COD_AGE_DES="--AGENCIA DE DESTINO 1--"
D_FEC_REC="--FECHA RECOGIDA 1 en formato mm/dd/yyyy--"
SD_HORA_REC_INI="--HORA INICIO 1 en formato hh:mm:ss--"
SD_HORA_REC_FIN="--HORA FIN 1 en formato hh:mm:ss--"
SD_HORA_REC_INI_TARDE="--HORA INICIO TARDE 1 en formato hh:mm:ss--"
SD_HORA_REC_FIN_TARDE="--HORA FIN TARDE 1 en formato hh:mm:ss--"
/>

// DEVOLVERÁ UN BLOQUE POR CADA CAMBIO DE ESTADO

<REC_EST_INC_CAMBIOS_ESTADOS
V_COD="--CÓDIGO RECOGIDA N--"
V_COD_TIPO_SERV="--CÓDIGO TIPO SERVICIO N--"
V_DES_TIPO_SERV="--DESCRIPCIÓN TIPO SERVICIO N--"
V_REF="--REFERENCIA N--"
V_COD_CLI="--CÓDIGO CLIENTE N--"
V_NOM_CLI="--NOMBRE CLIENTE N--"
V_COD_CLI_DEP="--CÓDIGO DEPARTAMENTO N--"

Pág. 132
Documentación WebServices

V_NOM_CLI_DEP="--NOMBRE DEPARTAMENTO N--"


V_CAMPO_1="--CAMPO PERSONALIZABLE 1 N--"
V_CAMPO_2="--CAMPO PERSONALIZABLE 2 N--"
V_CAMPO_3="--CAMPO PERSONALIZABLE 3 N--"
V_CAMPO_4="--CAMPO PERSONALIZABLE 4 N--"
B_CAMPO_5="--CAMPO PERSONALIZABLE 5 N--"
I_ID_EST="--ID DEL ESTADO N--"
V_COD_TIPO_EST="--CÓDIGO DEL TIPO DE ESTADO N--"
D_FEC_HORA_ALTA_EST="--FECHA Y HORA DE ALTA DEL ESTADO N en formato mm/dd/yyyy
hh:mm:ss--"
D_FEC_HORA_ALTA_REG_EST="--FECHA Y HORA DE ALTA DE REGISTRO DEL ESTADO N
en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_EST="--USUARIO DE ALTA DEL ESTADO N--"
V_COD_AGE_ALTA_EST="--AGENCIA DE ALTA DEL ESTADO N--"
V_COD_CLI_ALTA_EST="--CLIENTE DE ALTA DEL ESTADO N--"
V_COD_CLI_DEP_ALTA_EST="--DEPARTAMENTO DE ALTA DEL ESTADO N--"
V_COD_REP_ALTA_POD="--REPARTIDOR DE ALTA DEL ESTADO N--"
I_ID_INC="--ID DE LA INCIDENCIA N--"
V_COD_TIPO_INC="--CÓDIGO DEL TIPO DE INCIDENCIA N--"
V_OBS_INC="--OBSERVACIONES DE LA INCIDENCIA N--"
D_FEC_HORA_CIERRE_INC="--FECHA Y HORA DE CIERRE DE LA INCIDENCIA N en formato
mm/dd/yyyy hh:mm:ss--"
B_RESUELTA_INC="--SI ESTA INCIDENCIA ESTÁ RESUELTA N--"
V_COD_USU_RES_INC="--USUARIO QUE RESUELVE LA INCIDENCIA N--"
SD_HORA_INC="--HORA DE LA INCIDENCIA N en formato hh:mm:ss--"
D_FEC_HORA_ALTA_INC="--FECHA Y HORA DE ALTA DE LA INCIDENCIA N en formato
mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA_INC="--USUARIO DE ALTA DE LA INCIDENCIA N--"
V_COD_AGE_ALTA_INC="--AGENCIA DE ALTA DE LA INCIDENCIA N--"
V_COD_CLI_ALTA_INC="--CLIENTE DE ALTA DE LA INCIDENCIA N--"
V_COD_CLI_DEP_ALTA_INC="--DEPARTAMENTO DE ALTA DE LA INCIDENCIA N--"
V_COD_REP_ALTA_INC="--REPARTIDOR DE ALTA DE LA INCIDENCIA N--"
V_COD_AGE_CARGO="--AGENCIA DE CARGO 1--"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN 1--"
V_COD_AGE_DES="--AGENCIA DE DESTINO 1--"
D_FEC_REC="--FECHA RECOGIDA 1 en formato mm/dd/yyyy--"
SD_HORA_REC_INI="--HORA INICIO 1 en formato hh:mm:ss--"
SD_HORA_REC_FIN="--HORA FIN 1 en formato hh:mm:ss--"
SD_HORA_REC_INI_TARDE="--HORA INICIO TARDE 1 en formato hh:mm:ss--"
SD_HORA_REC_FIN_TARDE="--HORA FIN TARDE 1 en formato hh:mm:ss--"
/>

</CONSULTA>
</v1:strIRecEstIncCambiosEstados>
</v1:WebServService___ConsRecEstIncCambiosEstadosResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

1.2.2.32.Método ConsFirmasEnvios

PARÁMETRO E/S TIPO DESCRIPCIÓN


strCodAgeCargo Entrada String Agencia cargo del envío.
strCodCli Entrada String Cliente del envío.
dtFechaIni Entrada DateTime Fecha inicio del rango de fechas de alta de las firmas.
dtFechaFin Entrada DateTime Fecha fin del rango de fechas de alta de las firmas.
Devuelve un XML con el montaje de las firmas en jpg
strFirmasEnvios Salida String
codificados en base64 junto a su código de envío.

Pág. 133
Documentación WebServices

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:

El uso es similar a la anterior.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

string strResult = wsWebService.ConsFirmasEnvios("agencia-cargo”, ”cliente", “fecha-inicio”, “fecha-fin”);

Una vez ejecutada la función la variable contendrá un XML de respuesta con el siguiente formato, que
habrá que tratar para extraer cada una de las firmas:

XML
<CONSULTA>
<FIRMAS
FIRMA="--MONTAJE DE LA FIRMA CODIFICADO EN BASE 64 – 1--"
ENVIO="--CÓDIGO DE ENVÍO - 1--"
/>

//DEVOLVERÁ UN BLOQUE POR CADA FIRMA

<FIRMAS
FIRMA="--MONTAJE DE LA FIRMA CODIFICADO EN BASE 64 – N--"
ENVIO="--CÓDIGO DE ENVÍO - N--"
/>

</CONSULTA>

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

Pág. 134
Documentación WebServices

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--ID de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsFirmasEnvios>
<strCodAgeCargo>-agencia-cargo-</strCodAgeCargo>
<strCodCli>-cliente-</strCodCli>
<dtFechaIni>-fecha-inicio-</dtFechaIni>
<dtFechaFin>-fecha-fin-</dtFechaFin>
</WebServService___ConsFirmasEnvios>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable contendrá un XML de respuesta con el siguiente
formato, que habrá que tratar para extraer cada una de las firmas:

XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/"
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:WebServService___ConsFirmasEnviosResponse>
<v1:strFirmasEnvios>
<CONSULTA>
<FIRMAS
FIRMA="--MONTAJE DE LA FIRMA CODIFICADO EN BASE 64 – 1--"
ENVIO="--CÓDIGO DE ENVÍO - 1--"
/>

//DEVOLVERÁ UN BLOQUE POR CADA FIRMA

<FIRMAS
FIRMA="--MONTAJE DE LA FIRMA CODIFICADO EN BASE 64 – N--"
ENVIO="--CÓDIGO DE ENVÍO - N--"
/>

Pág. 135
Documentación WebServices

</CONSULTA>
</v1:strFirmasEnvios>
</v1:WebServService___ConsFirmasEnviosResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

1.2.2.33.Método Logout

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:

El uso es similar a la anterior.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

wsWebService.Logout();

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados.

Ejemplo:

PHP

<?php
http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope

Pág. 136
Documentación WebServices

xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--ID de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___Logout>
</WebServService___Logout>
</soap:Body>
</soap:Envelope>');
?>

1.2.2.34.Método ConsEnvIncActuaciones

PARÁMETRO E/S TIPO DESCRIPCIÓN


strCodAgeCargo Entrada String Agencia de cargo.
strAlbaran Entrada String Albarán.
XML con los datos de las actuaciones de las incidencias del
strEnvIncActuaciones Salida String
envío.

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:
Si disponemos de un lenguaje que interprete los archivos .wsdl (como por ejemplo C#),
simplemente tendremos que crear una referencia Web importando el fichero .wsdl y a continuación
instanciar esa referencia para poder llamar a las funciones.

Ejemplo:

Pág. 137
Documentación WebServices

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

string xmlResult = wsWebService.ConsEnvIncActuaciones("agencia-cargo", "albaran");

Una vez ejecutada la función la variable xmlResult contendrá un XML de respuesta con el
siguiente formato, que habrá que tratar para extraer los valores:

XML
<CONSULTA>
<ENV_INC_ACTUACIONES
V_COD_AGE_CARGO="--AGENCIA DE CARGO 1--"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN 1--"
V_ALBARAN="--ALBARÁN 1--"
I_ID_ENV_INC="--ID. INCIDENCIA 1--"
V_COD_TIPO_INC="--CÓDIGO DE TIPO DE INCIDENCIA 1--"
D_FEC_HORA_ALTA_ENV_INC="--FECHA/HORA DE ALTA DE INCIDENCIA 1 en formato mm/dd/yyyy
hh:mm:ss--"
I_ID="--ID DE LA ACTUACIÓN 1--"
V_COD_TIPO_ACTU="--CÓDIGO DE TIPO DE ACTUACIÓN 1--"
V_DES_TIPO_ACTU="--DESCRIPCIÓN DE TIPO DE ACTUACIÓN 1--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA 1 en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--USUARIO ALTA 1--"
V_COD_AGE_ALTA="--AGENCIA ALTA 1--"
V_COD_CLI_ALTA="--CLIENTE ALTA 1--"
V_COD_CLI_DEP_ALTA="--DEPARTAMENTO ALTA 1--"
V_COD_REP_ALTA="--REPARTIDOR ALTA 1--"
B_INCL_EMAIL_CLI="--INCLUIR EN EMAIL 1--"
V_COD_AGE="--AGENCIA DE LA ACTUACIÓN 1--"
B_LEIDA="--LEIDA 1--"
V_COD_USU_LEIDA="--USUARIO QUE HA LEIDO LA ACTUACIÓN 1--"
D_FEC_HORA_LEIDA="--FECHA/HORA DE LECTURA 1 en formato mm/dd/yyyy hh:mm:ss--"
V_TIPO="--TIPO DE ACTUACIÓN 1
 INT: Interno
 AGE: Agencia
 CLI: Cliente
 REP: Repartidor
 RUT: Ruta--"
V_COD_CARGO_A="--PUEDE CONTENER UNA AGENCIA A LA QUE SE CARGA LA ACTUACIÓN 1--"
/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA INCIDENCIA QUE TENGA ESE ENVÍO
.
<ENV_INC_ACTUACIONES
V_COD_AGE_CARGO="--AGENCIA DE CARGO N--"
V_COD_AGE_ORI="--ETC--"
V_ALBARAN="--ETC--"
I_ID_ENV_INC="--ETC--"
V_COD_TIPO_INC="--ETC--"
D_FEC_HORA_ALTA_ENV_INC="--ETC--"
I_ID="--ETC--"

Pág. 138
Documentación WebServices

V_COD_TIPO_ACTU="--ETC--"
V_DES_TIPO_ACTU="--ETC--"
D_FEC_HORA_ALTA="--ETC--"
V_COD_USU_ALTA="--ETC--"
V_COD_AGE_ALTA="--ETC--"
V_COD_CLI_ALTA="--ETC--"
V_COD_CLI_DEP_ALTA="--ETC--"
V_COD_REP_ALTA="--ETC--"
B_INCL_EMAIL_CLI="--ETC--"
V_COD_AGE="--ETC--"
B_LEIDA="--ETC--"
V_COD_USU_LEIDA="--ETC--"
D_FEC_HORA_LEIDA="--ETC--"
V_TIPO="--ETC--"
V_COD_CARGO_A="--ETC--"
/>
</CONSULTA>

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--ID de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsEnvIncActuaciones>
<strCodAgeCargo>-agencia-cargo-</strCodAgeCargo>
<strAlbaran>--albaran--</strAlbaran>
</WebServService___ConsEnvIncActuaciones>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato, que habrá que tratar para extraer los valores:

Pág. 139
Documentación WebServices

XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/"
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:WebServService___ConsEnvIncActuacionesResponse>
<v1:strEnvIncActuaciones>
<CONSULTA>
<ENV_INC_ACTUACIONES
V_COD_AGE_CARGO="--AGENCIA DE CARGO 1--"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN 1--"
V_ALBARAN="--ALBARÁN 1--"
I_ID_ENV_INC="--ID. INCIDENCIA 1--"
V_COD_TIPO_INC="--CÓDIGO DE TIPO DE INCIDENCIA 1--"
D_FEC_HORA_ALTA_ENV_INC="--FECHA/HORA DE ALTA DE INCIDENCIA 1 en formato
mm/dd/yyyy hh:mm:ss--"
I_ID="--ID DE LA ACTUACIÓN 1--"
V_COD_TIPO_ACTU="--CÓDIGO DE TIPO DE ACTUACIÓN 1--"
V_DES_TIPO_ACTU="--DESCRIPCIÓN DE TIPO DE ACTUACIÓN 1--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA 1 en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--USUARIO ALTA 1--"
V_COD_AGE_ALTA="--AGENCIA ALTA 1--"
V_COD_CLI_ALTA="--CLIENTE ALTA 1--"
V_COD_CLI_DEP_ALTA="--DEPARTAMENTO ALTA 1--"
V_COD_REP_ALTA="--REPARTIDOR ALTA 1--"
B_INCL_EMAIL_CLI="--INCLUIR EN EMAIL 1--"
V_COD_AGE="--AGENCIA DE LA ACTUACIÓN 1--"
B_LEIDA="--LEIDA 1--"
V_COD_USU_LEIDA="--USUARIO QUE HA LEIDO LA ACTUACIÓN 1--"
D_FEC_HORA_LEIDA="--FECHA/HORA DE LECTURA 1 en formato mm/dd/yyyy hh:mm:ss--
"
V_TIPO="--TIPO DE ACTUACIÓN 1
 INT: Interno
 AGE: Agencia
 CLI: Cliente
 REP: Repartidor
 RUT: Ruta--"
V_COD_CARGO_A="--PUEDE CONTENER UNA AGENCIA A LA QUE SE CARGA LA
ACTUACIÓN 1--"
/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA INCIDENCIA QUE TENGA ESE ENVÍO
.
<ENV_INC_ACTUACIONES
V_COD_AGE_CARGO="--AGENCIA DE CARGO N--"
V_COD_AGE_ORI="--ETC--"
V_ALBARAN="--ETC--"
I_ID_ENV_INC="--ETC--"
V_COD_TIPO_INC="--ETC--"
D_FEC_HORA_ALTA_ENV_INC="--ETC--"
I_ID="--ETC--"
V_COD_TIPO_ACTU="--ETC--"

Pág. 140
Documentación WebServices

V_DES_TIPO_ACTU="--ETC--"
D_FEC_HORA_ALTA="--ETC--"
V_COD_USU_ALTA="--ETC--"
V_COD_AGE_ALTA="--ETC--"
V_COD_CLI_ALTA="--ETC--"
V_COD_CLI_DEP_ALTA="--ETC--"
V_COD_REP_ALTA="--ETC--"
B_INCL_EMAIL_CLI="--ETC--"
V_COD_AGE="--ETC--"
B_LEIDA="--ETC--"
V_COD_USU_LEIDA="--ETC--"
D_FEC_HORA_LEIDA="--ETC--"
V_TIPO="--ETC--"
V_COD_CARGO_A="--ETC--"
/>
</CONSULTA>
</v1:strEnvIncActuaciones>
</v1:WebServService___ConsEnvIncActuacionesResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

1.2.2.35.Método GrabaEnvIncActuacion

PARÁMETRO E/S TIPO DESCRIPCIÓN


strCodAgeCargo Entrada String Agencia de cargo.
strAlbaran Entrada String Albarán del envío.
intIdEnvInc Entrada Integer Id. de incidencia.
strCodTipoActu Entrada String Código de tipo de actuación.
boInclEmailCli Entrada Boolean Incluir en email.

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:

Esta función no devuelve ninguna respuesta en caso de que se haya grabado correctamente, en caso
contrario devuelve una excepción con el código y descripción del error.

Ejemplo:

Pág. 141
Documentación WebServices

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

try
{
wsWebService.GrabaEnvIncActuacion("agencia-cargo", "albaran” , id-incidencia,
"código-tipo-actuacion", incluir-en-email)
}
catch (Exception eExcepcion)
{
MessageBox.Show(eExcepcion.Message);
}

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--id de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___GrabaEnvIncActuacion xmlns="http://tempuri.org/">
<strCodAgeCargo>--agencia-cargo--</strCodAgeCargo>
<strAlbaran>--albaran--</strAlbaran>
<intIdEnvInc>--id.-incidencia--</intIdEnvInc>
<strCodTipoActu>--código-tipo-actuacion--</strCodTipoActu>
<boInclEmailCli>--incluir-en-email--</boInclEmailCli>
</WebServService___GrabaEnvIncActuacion>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Excepciones:

Pág. 142
Documentación WebServices

Esta función devuelve las siguientes excepciones:

CÓDIGO DESCRIPCIÓN
-1 El usuario debe pertenecer a la agencia de cargo del envío.
1 El envío no existe.
2 La incidencia no existe.
3 La actuación no existe.

Para saber cómo controlar las excepciones devueltas por favor consulte el apartado 1.2.3, Excepciones.

1.2.2.36.Método ConsEnvTraz

PARÁMETRO E/S TIPO DESCRIPCIÓN


dtFecHoraAltaIni Entrada DateTime Desde fecha/hora de alta de la traza.
dtFecHoraAltaFin Entrada DateTime Hasta fecha/hora de alta de la traza.
strEnvTraz Salida String XML con los datos de las trazas de los envíos.

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:
Si disponemos de un lenguaje que interprete los archivos .wsdl (como por ejemplo C#),
simplemente tendremos que crear una referencia Web importando el fichero .wsdl y a continuación
instanciar esa referencia para poder llamar a las funciones.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

string xmlResult = wsWebService.ConsEnvTraz("fecha-hora-inicio", "fecha-hora-fin");

Pág. 143
Documentación WebServices

Una vez ejecutada la función la variable xmlResult contendrá un XML de respuesta con el
siguiente formato, que habrá que tratar para extraer los valores:

XML
<CONSULTA>
<ENV_TRAZ
V_COD_AGE_CARGO="--AGENCIA CARGO 1--"
V_ALBARAN="--ALBARÁN--"
V_BUL="--BULTO--"
V_COD_AGE_LEC="--AGENCIA DEL PUNTO DE LECTURA--"
V_COD_PUN_LEC="--CÓDIGO DEL PUNTO DE LECTURA--"
V_DES_PUN_LEC="--DESCRIPCIÓN DEL PUNTO DE LECTURA--"
D_FEC_HORA_LEC="--FECHA/HORA DE LECTURA en formato mm/dd/yyyy hh:mm:ss--"
V_TIPO_PUN_LEC="--TIPO DE PUNTO DE LECTURA (O: Origen, D: Destino, OT: Otros)--"
V_COD_AGE_DES="--AGENCIA DESTINO--"
V_COD_AGE_ORI="--AGENCIA ORIGEN--"
/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA ESTADO QUE TENGA ESE ENVÍO
.
<ENV_TRAZ
V_COD_AGE_CARGO="--AGENCIA CARGO N--"
V_ALBARAN="--ALBARÁN--"
V_BUL="--BULTO--"
V_COD_AGE_LEC="--AGENCIA DEL PUNTO DE LECTURA--"
V_COD_PUN_LEC="--CÓDIGO DEL PUNTO DE LECTURA--"
V_DES_PUN_LEC="--DESCRIPCIÓN DEL PUNTO DE LECTURA--"
D_FEC_HORA_LEC="--FECHA/HORA DE LECTURA en formato mm/dd/yyyy hh:mm:ss--"
V_TIPO_PUN_LEC="--TIPO DE PUNTO DE LECTURA (O: Origen, D: Destino, OT: Otros)--"
V_COD_AGE_DES="--AGENCIA DESTINO--"
V_COD_AGE_ORI="--AGENCIA ORIGEN--"
/>
</CONSULTA>

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">

Pág. 144
Documentación WebServices

<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--ID de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsEnvTraz>
<dtFecHoraAltaIni>-Fecha/Hora alta ini.-</dtFecHoraAltaIni>
<dtFecHoraAltaFin>-Fecha/Hora alta fin-</dtFecHoraAltaFin>
<strAlbaran>--albaran--</strAlbaran>
</WebServService___ConsEnvTraz>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato, que habrá que tratar para extraer los valores:

XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v1="http://tempuri.org/"
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<v1:WebServService___ConsEnvTrazResponse>
<v1:strEnvEstados>
<CONSULTA>
<ENV_TRAZ
V_COD_AGE_CARGO="--AGENCIA CARGO 1--"
V_ALBARAN="--ALBARÁN--"
V_BUL="--BULTO--"
V_COD_AGE_LEC="--AGENCIA DEL PUNTO DE LECTURA--"
V_COD_PUN_LEC="--CÓDIGO DEL PUNTO DE LECTURA--"
V_DES_PUN_LEC="--DESCRIPCIÓN DEL PUNTO DE LECTURA--"
D_FEC_HORA_LEC="--FECHA/HORA DE LECTURA en formato mm/dd/yyyy hh:mm:ss--"
V_TIPO_PUN_LEC="--TIPO DE PUNTO DE LECTURA (O: Origen, D: Destino, OT: Otros)--"
V_COD_AGE_DES="--AGENCIA DESTINO--"
V_COD_AGE_ORI="--AGENCIA ORIGEN--"
/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA ESTADO QUE TENGA ESE ENVÍO
.
<ENV_TRAZ
V_COD_AGE_CARGO="--AGENCIA CARGO N--"
V_ALBARAN="--ALBARÁN--"
V_BUL="--BULTO--"
V_COD_AGE_LEC="--AGENCIA DEL PUNTO DE LECTURA--"
V_COD_PUN_LEC="--CÓDIGO DEL PUNTO DE LECTURA--"

Pág. 145
Documentación WebServices

V_DES_PUN_LEC="--DESCRIPCIÓN DEL PUNTO DE LECTURA--"


D_FEC_HORA_LEC="--FECHA/HORA DE LECTURA en formato mm/dd/yyyy hh:mm:ss--"
V_TIPO_PUN_LEC="--TIPO DE PUNTO DE LECTURA (O: Origen, D: Destino, OT: Otros)--"
V_COD_AGE_DES="--AGENCIA DESTINO--"
V_COD_AGE_ORI="--AGENCIA ORIGEN--"
/>
</CONSULTA>
</v1:strEnvTraz>
</v1:WebServService___ConsEnvTrazResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

1.2.2.37.Método GrabaEnvIncActuacionLibre

PARÁMETRO E/S TIPO DESCRIPCIÓN


strCodAgeCargo Entrada String Agencia de cargo.
strAlbaran Entrada String Albarán del envío.
intIdEnvInc Entrada Integer Id. de incidencia.
strDesTipoActuLibre Entrada String Descripción para la actuación libre.
boInclEmailCli Entrada Boolean Incluir en email.

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:

Esta función no devuelve ninguna respuesta en caso de que se haya grabado correctamente, en caso
contrario devuelve una excepción con el código y descripción del error.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

Pág. 146
Documentación WebServices

try
{
wsWebService.GrabaEnvIncActuacionLibre("agencia-cargo", "albaran” , id-incidencia,
"descripción-actuacion-libre", incluir-en-email)
}
catch (Exception eExcepcion)
{
MessageBox.Show(eExcepcion.Message);
}

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--id de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___GrabaEnvIncActuacionLibre xmlns="http://tempuri.org/">
<strCodAgeCargo>--agencia-cargo--</strCodAgeCargo>
<strAlbaran>--albaran--</strAlbaran>
<intIdEnvInc>--id.-incidencia--</intIdEnvInc>
<strDesTipoActuLibre>--descripción-actuacion-libre--</strDesTipoActuLibre>
<boInclEmailCli>--incluir-en-email--</boInclEmailCli>
</WebServService___GrabaEnvIncActuacionLibre>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Excepciones:

Esta función devuelve las siguientes excepciones:

CÓDIGO DESCRIPCIÓN
-1 El usuario debe pertenecer a la agencia de cargo del envío.
1 El envío no existe.

Pág. 147
Documentación WebServices

2 La incidencia no existe.
3 El tipo de actuación libre no está definido.

Para saber cómo controlar las excepciones devueltas por favor consulte el apartado 1.2.3, Excepciones.

1.2.2.38.Método GrabaRecIncActuacionLibre

PARÁMETRO E/S TIPO DESCRIPCIÓN


strRecogida Entrada String Albarán del envío.
intIdRecInc Entrada Integer Id. de incidencia.
strDesTipoActuLibre Entrada String Descripción para la actuación libre.
boInclEmailCli Entrada Boolean Incluir en email.

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:

Esta función no devuelve ninguna respuesta en caso de que se haya grabado correctamente, en caso
contrario devuelve una excepción con el código y descripción del error.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

try
{
wsWebService.GrabaRecIncActuacionLibre("recogida” , id-incidencia,
"descripción-actuacion-libre", incluir-en-email)
}
catch (Exception eExcepcion)
{

Pág. 148
Documentación WebServices

MessageBox.Show(eExcepcion.Message);
}

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--id de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___GrabaRecIncActuacionLibre xmlns="http://tempuri.org/">
<strRecogida>--recogida--</strRecogida>
<intIdRecInc>--id.-incidencia--</intIdRecInc>
<strDesTipoActuLibre>--descripción-actuacion-libre--</strDesTipoActuLibre>
<boInclEmailCli>--incluir-en-email--</boInclEmailCli>
</WebServService___GrabaRecIncActuacionLibre>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Excepciones:

Esta función devuelve las siguientes excepciones:

CÓDIGO DESCRIPCIÓN
1 El envío no existe.
2 La incidencia no existe.
3 El tipo de actuación libre no está definido.
4 El usuario debe pertenecer a la agencia de cargo de la recogida

Para saber cómo controlar las excepciones devueltas por favor consulte el apartado 1.2.3, Excepciones.

Pág. 149
Documentación WebServices

1.2.2.39. Método LeeEnvIncActuacion

PARÁMETRO E/S TIPO DESCRIPCIÓN


strCodAgeCargo Entrada String Agencia de cargo.
strAlbaran Entrada String Albarán del envío.
intIdEnvInc Entrada Integer Id. de incidencia.
intIdEnvAct Entrada Integer Id. de actuación.

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:

Esta función no devuelve ninguna respuesta en caso de que se haya grabado correctamente, en caso
contrario devuelve una excepción con el código y descripción del error.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

try
{
wsWebService.LeeEnvIncActuacion("age-cargo”, "albaran”, id-incidencia,
id-actuacion)
}
catch (Exception eExcepcion)
{
MessageBox.Show(eExcepcion.Message);
}

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>

Pág. 150
Documentación WebServices

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--id de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ LeeEnvIncActuacion xmlns="http://tempuri.org/">
<strCodAgeCargo>--agenciaCargo--</strCodAgeCargo>
<strAlbaran>--albaran--</strAlbaran>
<intIdEnvInc>--idIncidencia--</intIdEnvInc>
<intIdEnvAct>--idActuacion--</intIdEnvAct>>
</WebServService___LeeEnvIncActuacion>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Excepciones:

Esta función devuelve las siguientes excepciones:

CÓDIGO DESCRIPCIÓN
1 El envío no existe.
2 La incidencia no existe.
3 El usuario no pertenece a la agencia de cargo o no existe la actuación.
4 La actuación ya ha sido leída.

Para saber cómo controlar las excepciones devueltas por favor consulte el apartado 1.2.3, Excepciones.

1.2.2.40. Método LeeRecIncActuacion

PARÁMETRO E/S TIPO DESCRIPCIÓN


strRecogida Entrada String Recogida
intIdRecInc Entrada Integer Id. de incidencia.
intIdRecAct Entrada Integer Id. de actuación.

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Pág. 151
Documentación WebServices

Uso:

Esta función no devuelve ninguna respuesta en caso de que se haya grabado correctamente, en caso
contrario devuelve una excepción con el código y descripción del error.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

try
{
wsWebService.LeeRecIncActuacion("recogida”, id-incidencia, id-actuacion)
}
catch (Exception eExcepcion)
{
MessageBox.Show(eExcepcion.Message);
}

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--id de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ LeeRecIncActuacion xmlns="http://tempuri.org/">
<strRecogida>--recogida--</strRecogida>
<intIdRecInc>--idIncidencia--</intIdRecInc>
<intIdRecAct>--idActuacion--</intIdRecAct>>
</WebServService___LeeRecIncActuacion>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Pág. 152
Documentación WebServices

Excepciones:

Esta función devuelve las siguientes excepciones:

CÓDIGO DESCRIPCIÓN
1 La recogida no existe.
2 La incidencia no existe.
3 El usuario no pertenece a la agencia de cargo o no existe la actuación.
4 La actuación ya ha sido leída.

Para saber cómo controlar las excepciones devueltas por favor consulte el apartado 1.2.3, Excepciones.

1.2.2.41. Método ConsEtiquetaEnvioEPL

PARÁMETRO E/S TIPO DESCRIPCIÓN


strCodAgeOri Entrada String Agencia de origen.
strAlbaran Entrada String Albarán del envío.
intIdReport Entrada Integer Id. de report
strTextoEPL Salida String Texto de etiqueta EPL

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:

Esta función no devuelve ninguna respuesta en caso de que se haya grabado correctamente, en caso
contrario devuelve una excepción con el código y descripción del error.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

try
{
string strResult = wsWebService.ConsEtiquetaEnvioEPL("AgenciaOri”, “Albaran”, id-Report)
}
catch (Exception eExcepcion)

Pág. 153
Documentación WebServices

{
MessageBox.Show(eExcepcion.Message);
}

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--id de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ ConsEtiquetaEnvioEPL xmlns="http://tempuri.org/">
<strCodAgeOri>--AgenciaOrigen--</strCodAgeOri>
<strAlbaran>--Albaran--</strAlbaran>
<intIdReport>--IdReport--</intIdReport>>
</WebServService___ConsEtiquetaEnvioEPL>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

1.2.2.42. Método ConsEstadoEnvioMasivo

PARÁMETRO E/S TIPO DESCRIPCIÓN


XML que contiene la agencia de cargo, origen y el albarán de
cada envío que se quiera conocer el estado.

Ejemplo de XML que contiene dos envíos:


strEnvios Entrada String <ENVIOS><ENVIO V_COD_AGE_CARGO = '008052'
V_COD_AGE_ORI = '008052' V_ALBARAN = '0015654771'
/><ENVIO V_COD_AGE_CARGO = '008052'
V_COD_AGE_ORI = '002000' V_ALBARAN = '0015654766'
/></ENVIOS>
XML que contiene el código de estado, la agencia de cargo,
strEstados Entrada String
origen y el albarán de cada envío.

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Pág. 154
Documentación WebServices

Uso:
Si disponemos de un lenguaje que interprete los archivos .wsdl (como por ejemplo C#),
simplemente tendremos que crear una referencia Web importando el fichero .wsdl y a continuación
instanciar esa referencia para poder llamar a las funciones.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

try
{
string strResult = wsWebService.ConsEstadoEnvioMasivo(“strEnvios”)
}
catch (Exception eExcepcion)
{
MessageBox.Show(eExcepcion.Message);
}

Una vez ejecutada la función la variable xmlResult contendrá un XML de respuesta con el
siguiente formato, que habrá que tratar para extraer los valores:

XML
<CONSULTA>
<ENV_ESTADOS V_COD_TIPO_EST="" V_COD_AGE_CARGO="" V_COD_AGE_ORI=""
V_ALBARAN=""/>
<ENV_ESTADOS V_COD_TIPO_EST="" V_COD_AGE_CARGO="" V_COD_AGE_ORI=""
V_ALBARAN=""/>
</CONSULTA>

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">

Pág. 155
Documentación WebServices

<ID>--id de la sesión establecida--</ID>


</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ ConsEstadoEnvioMasivo>
<strEnvios></strEnvios>
</WebServService___ConsEstadoEnvioMasivo>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato. Si no ha habido errores la variable strRespuesta vendrá vacía.
En el caso de que haya habido errores la variable strRespuesta contendrá los errores con el formato
anteriormente explicado.

1.2.2.43. Método BorraEnvioMasivo

PARÁMETRO E/S TIPO DESCRIPCIÓN


XML que contiene la agencia de cargo, origen y el albarán de
cada envío que se desee borrar.

Ejemplo de XML que contiene dos envíos:


strEnvios Entrada String <ENVIOS><ENVIO V_COD_AGE_CARGO = '008052'
V_COD_AGE_ORI = '008052' V_ALBARAN = '0015654771'
/><ENVIO V_COD_AGE_CARGO = '008052'
V_COD_AGE_ORI = '002000' V_ALBARAN = '0015654766'
/></ENVIOS>
XML que contiene resultado obtenido al borrar el envío (en caso
strResultados Entrada String
de error, devuelve en código de error de cada uno).

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:
Si disponemos de un lenguaje que interprete los archivos .wsdl (como por ejemplo C#),
simplemente tendremos que crear una referencia Web importando el fichero .wsdl y a continuación
instanciar esa referencia para poder llamar a las funciones.

Ejemplo:

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

Pág. 156
Documentación WebServices

try
{
string strResult = wsWebService.BorraEnvioMasivo(“strEnvios”)
}
catch (Exception eExcepcion)
{
MessageBox.Show(eExcepcion.Message);
}

Una vez ejecutada la función la variable xmlResult contendrá un XML de respuesta con el
siguiente formato, que habrá que tratar para extraer los valores:

XML
<CONSULTA>
<ENV_BORRADOS V_COD_AGE_CARGO="" V_COD_AGE_ORI="" V_ALBARAN=""/>
<ENV_BORRADOS V_COD_AGE_CARGO="" V_COD_AGE_ORI="" V_ALBARAN=""/>
</CONSULTA>

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--id de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ BorraEnvioMasivo>
<strEnvios></strEnvios>
</WebServService___BorraEnvioMasivo>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato. Si no ha habido errores la variable strRespuesta vendrá vacía.
En el caso de que haya habido errores la variable strRespuesta contendrá los errores con el formato
anteriormente explicado.

Pág. 157
Documentación WebServices

1.2.2.44. Método GrabaEnvioMasivo

PARÁMETRO E/S TIPO DESCRIPCIÓN


XML que contiene la agencia de cargo, origen y el albarán de
strEnvios Entrada String
cada envío que se desee grabar.
XML que contiene resultado obtenido al grabar el envío (en caso
strResultados Entrada String
de error, devuelve en código de error de cada uno).

ATENCIÓN:
Este método requiere sesión, así que es necesario que antes de utilizarlo realice el login
correspondiente mediante el servicio “LoginWSService”.

Uso:
Si disponemos de un lenguaje que interprete los archivos .wsdl (como por ejemplo C#),
simplemente tendremos que crear una referencia Web importando el fichero .wsdl y a continuación
instanciar esa referencia para poder llamar a las funciones.

XML entrada:
XML

<ENVIOS>
<ENVIO V_COD_AGE_CARGO = '' V_COD_AGE_ORI = '' V_ALBARAN = '' D_FECHA = ''
V_COD_AGE_DES = '' V_COD_TIPO_SERV = '' V_COD_CLI = '' V_COD_CLI_DEP = '' V_NOM_ORI = ''
V_TIPO_VIA_ORI = '' V_DIR_ORI = '' V_NUM_ORI = '' V_PISO_ORI = '' V_POB_ORI = '' V_CP_ORI = ''
V_COD_PRO_ORI = '' V_TLF_ORI = '' V_NOM_DES = '' V_TIPO_VIA_DES = '' V_DIR_DES = ''
V_NUM_DES = '' V_PISO_DES = '' V_POB_DES = '' V_CP_DES = '' V_COD_PRO_DES = '' V_TLF_DES =
'' I_DOC = '' I_PAQ = '' F_PESO_ORI = '' F_ALTO_ORI = '' F_ANCHO_ORI = '' F_LARGO_ORI = ''
F_REEMBOLSO = '' F_VALOR = '' F_ANTICIPO = '' F_COB_CLI = '' V_OBS = '' B_SABADO = ''
B_RETORNO = '' B_GEST_ORI = '' B_GEST_DES = '' B_ANULADO = '' B_ACUSE = '' V_REF = ''
V_COD_SAL_RUTA = '' F_BASE_IMP = '' F_IMPUESTO = '' B_PORTE_DEB_CLI = ''
V_PERS_CONTACTO = '' V_COD_PAIS = '' V_DES_MOVILES = '' V_DES_DIR_EMAILS = ''
V_FRANJA_HORARIA = '' SD_HORA_ENV_INI = '' SD_HORA_ENV_FIN = '' B_INSERT = '' V_CAMPO_1 =
'' V_CAMPO_2 = '' V_CAMPO_3 = '' V_CAMPO_4 = '' B_CAMPO_5 = '' B_PAGO_DUA_IMP = ''
B_PAGO_IMP_DES = '' />
<ENVIO V_COD_AGE_CARGO = '' V_COD_AGE_ORI = '' V_ALBARAN = '' D_FECHA = ''
V_COD_AGE_DES = '' V_COD_TIPO_SERV = '' V_COD_CLI = '' V_COD_CLI_DEP = '' V_NOM_ORI = ''
V_TIPO_VIA_ORI = '' V_DIR_ORI = '' V_NUM_ORI = '' V_PISO_ORI = '' V_POB_ORI = '' V_CP_ORI = ''
V_COD_PRO_ORI = '' V_TLF_ORI = '' V_NOM_DES = '' V_TIPO_VIA_DES = '' V_DIR_DES = ''
V_NUM_DES = '' V_PISO_DES = '' V_POB_DES = '' V_CP_DES = '' V_COD_PRO_DES = '' V_TLF_DES =
'' I_DOC = '' I_PAQ = '' F_PESO_ORI = '' F_ALTO_ORI = '' F_ANCHO_ORI = '' F_LARGO_ORI = ''
F_REEMBOLSO = '' F_VALOR = '' F_ANTICIPO = '' F_COB_CLI = '' V_OBS = '' B_SABADO = ''
B_RETORNO = '' B_GEST_ORI = '' B_GEST_DES = '' B_ANULADO = '' B_ACUSE = '' V_REF = ''
V_COD_SAL_RUTA = '' F_BASE_IMP = '' F_IMPUESTO = '' B_PORTE_DEB_CLI = ''
V_PERS_CONTACTO = '' V_COD_PAIS = '' V_DES_MOVILES = '' V_DES_DIR_EMAILS = ''
V_FRANJA_HORARIA = '' SD_HORA_ENV_INI = '' SD_HORA_ENV_FIN = '' B_INSERT = '' V_CAMPO_1 =
'' V_CAMPO_2 = '' V_CAMPO_3 = '' V_CAMPO_4 = '' B_CAMPO_5 = '' B_PAGO_DUA_IMP = ''
B_PAGO_IMP_DES = '' />
</ENVIOS>

Ejemplo:

Pág. 158
Documentación WebServices

C#

WebService.WebServService wsWebService = new WebService.WebServService();


wsWebService.ROClientIDHeaderValue = new WebService.ROClientIDHeader();
wsWebService.ROClientIDHeaderValue.ID = --ID DE SESIÓN RECOGIDO EN EL LOGIN--;

try
{
string strResult = wsWebService.GrabaEnvioMasivo(“strEnvios”)
}
catch (Exception eExcepcion)
{
MessageBox.Show(eExcepcion.Message);
}

Una vez ejecutada la función la variable xmlResult contendrá un XML de respuesta con el
siguiente formato, que habrá que tratar para extraer los valores:

XML

<CONSULTA>
<ENV_GRABADOS V_ID=”” V_ALBARAN="" V_COD_TIPO_SERV="" F_PESO_VOLPES=""
F_ALTO_VOLPES="" F_ANCHO_VOLPES="" F_LARGO_VOLPES="" D_FEC_ENTR="" V_TIPO_ENV=""
D_FEC_HORA_ALTA="" F_KMS_MAN="" B_TECLE_DES="" V_COD_AGE_ORI="" V_COD_AGE_DES=""
V_COD_PRO_ORI="" V_COD_PRO_DES="" F_PORTE_DEB="" V_COD_PAIS="" B_RETORNO=""
V_GUID="" V_ERROR=""/>
<ENV_GRABADOS V_ID=”” V_ALBARAN="" V_COD_TIPO_SERV="" F_PESO_VOLPES=""
F_ALTO_VOLPES="" F_ANCHO_VOLPES="" F_LARGO_VOLPES="" D_FEC_ENTR="" V_TIPO_ENV=""
D_FEC_HORA_ALTA="" F_KMS_MAN="" B_TECLE_DES="" V_COD_AGE_ORI="" V_COD_AGE_DES=""
V_COD_PRO_ORI="" V_COD_PRO_DES="" F_PORTE_DEB="" V_COD_PAIS="" B_RETORNO=""
V_GUID="" V_ERROR=""/>
</CONSULTA>

Otra alternativa de uso para lenguajes que no soporten .wsdl consiste en lanzar una petición
POST a la dirección y puerto deseados pasando un XML que lleve los datos de entrada, y el servidor nos
devolverá los datos de salida.

Ejemplo:

PHP

<?php
$strRespuestaServer = http_post_data('http://--ip servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<ROClientIDHeader xmlns="http://tempuri.org/">
<ID>--id de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ GrabaEnvioMasivo>

Pág. 159
Documentación WebServices

<strEnvios></strEnvios>
</WebServService___GrabaEnvioMasivo>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>

Una vez ejecutado el http_post_data la variable $strRespuestaServer contendrá un XML de


respuesta con el siguiente formato. Si no ha habido errores la variable strRespuesta vendrá vacía.
En el caso de que haya habido errores la variable strRespuesta contendrá los errores con el formato
anteriormente explicado.

1.2.3. Excepciones

Cuando se produzca una excepción en el servidor éste nos devolverá un XML con el siguiente
formato del que tendremos que sacar los valores:

XML

<?xml version="1.0" encoding="utf-8"?>


<SOAP-ENV:Envelope
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:HNS="http://tempuri.org/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:Envialianet">
<ID>--ID-SESION--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:Envialianet">
<SOAP-ENV:Fault>
<faultcode>Exception</faultcode>
<faultstring>--DESCRIPCION-EXCEPCION--</faultstring>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

En el caso de que el lenguaje que utilicemos disponga de cliente de servicios Web, es muy
probable que la interpretación de este XML sea automática y sea el propio cliente el que lance una
excepción nativa en el programa, que deberemos controlar:

La excepción siempre va a estar compuesta por un código (numérico), seguida de dos puntos (:),
y a continuación la descripción de la excepción.
Ejemplo:

Pág. 160
Documentación WebServices

Pág. 161

También podría gustarte