Servicios Web de Login y Seguimiento
Servicios Web de Login y Seguimiento
DINAPAQ
VERSION 1.40
VERSION SERVICIO WEB 23.0
ÍNDICE
1 Servicios ..................................................................... 3
1.1 Servicio “LoginWSService” .............................................................................. 3
1.1.1 Métodos:..................................................................................................... 3
1.1.2 Descripción y uso de los métodos: .............................................................. 3
[Link] Método Login ................................................................................. 3
[Link] Método LoginCli ............................................................................. 6
[Link] Método LoginDep ........................................................................... 8
1.1.3 Excepciones .............................................................................................. 10
1.2 Servicio “WebServService” ............................................................................. 11
1.2.1 Métodos:................................................................................................... 11
1.2.2 Descripción y uso de los métodos: ............................................................ 12
[Link] Método ConsEnvEstados............................................................... 12
[Link] Método ConsRecEstados ............................................................... 15
[Link] Método ConsEnvio ....................................................................... 18
[Link] Método ConsRecogida .................................................................. 23
[Link] Método GrabaEnvio10 .................................................................. 27
[Link] Método GrabaRecogida2 ............................................................... 32
[Link] Método InfEnvios ......................................................................... 37
[Link] Método ConsEtiquetaEnvio4 ......................................................... 42
[Link] Método GrabaPedido..................................................................... 44
[Link] Método ConsEnvEstadosUltimo .................................................... 47
[Link] Método ConsEnvIncidencias ......................................................... 50
[Link] Método ConsEnvEstadosFecha ..................................................... 54
[Link] Método ConsEnvIncidenciasFecha ................................................ 58
[Link] Método GrabaEnvIncActuacion .................................................... 62
[Link] Método ConsEnvTraz.................................................................... 64
[Link] Método ConsEnvTrazFecAge ........................................................ 68
[Link] Método DigitalizaEnvios ............................................................... 72
[Link] Método ConsEnvEstadosRef ......................................................... 75
[Link] Método ConsUltimoEstadoEnvio .................................................. 78
[Link] Método InfEnviosRef .................................................................... 80
[Link] Método ConsURLDocAgrupados ................................................... 85
[Link] Método GrabaEnvIncActuacionLibre............................................87
[Link] Método GrabaRecIncActuacionLibre............................................89
[Link] Método ConsRecogidasRef.................................................................92
1 Servicios
MÉTODOS. DESCRIPCIÓN
Login Permite hacer login a los usuarios.
LoginCli Permite hacer login a un cliente final.
LoginDep Permite hacer login a un departamento.
1.1.1 Métodos:
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#
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 3
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('[Link] servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="[Link]
xmlns:xsi="[Link]
xmlns:xsd="[Link]
<soap:Body>
<LoginWSService___Login>
<strCod>--usuario--</strCod>
<strPass>--contraseña--</strPass>
</LoginWSService___Login>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>
Ejemplo:
XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="[Link]
xmlns:xsi="[Link]
xmlns:HNS="[Link]
xmlns:SOAP-ENV="[Link]
xmlns:v1="[Link]
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:DinaPaq">
<ID>--OUT ID Sesión--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:DinaPaq">
<v1:LoginWSService___LoginResponse>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 4
Documentación WebServices
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.
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 5
Documentación WebServices
Uso:
Ejemplo:
C#
Ejemplo:
PHP
<?php
$strRespuestaServer = http_post_data('[Link] servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="[Link]
xmlns:xsi="[Link]
xmlns:xsd="[Link]
<soap:Body>
<LoginWSService___LoginCli>
<strCodAge>--cod-agencia--</strCodAge>
<strCod>--cod-cliente --</strCod>
<strPass>--contraseña--</strPass>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 6
Documentación WebServices
</LoginWSService___LoginCli>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>
Ejemplo:
XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="[Link]
xmlns:xsi="[Link]
xmlns:HNS="[Link]
xmlns:SOAP-ENV="[Link]
xmlns:v1="[Link]
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:DinaPaq">
<ID>--OUT ID Sesión--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:DinaPaq">
<v1:LoginWSService___LoginCliResponse>
<v1:Result>--OUT Valor Devuelto--</v1:Result>
<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___LoginCliResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
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
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 7
Documentación WebServices
Uso:
Ejemplo:
C#
Ejemplo:
PHP
<?php
$strRespuestaServer = http_post_data('[Link] servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="[Link]
xmlns:xsi="[Link]
xmlns:xsd="[Link]
<soap:Body>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 8
Documentación WebServices
<LoginWSService___LoginDep>
<strCodAge>--cod-agencia--</strCodAge>
<strCodCli>--cod-cliente--</strCodCli>
<strCod>--cod-departamento--</strCod>
<strPass>--contraseña--</strPass>
</LoginWSService___LoginDep>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>
Ejemplo:
XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="[Link]
xmlns:xsi="[Link]
xmlns:HNS="[Link]
xmlns:SOAP-ENV="[Link]
xmlns:v1="[Link]
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:DinaPaq">
<ID>--OUT ID Sesión--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:DinaPaq">
<v1:LoginWSService___LoginDepResponse>
<v1:Result>--OUT Valor Devuelto--</v1:Result>
<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___LoginDepResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
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.
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 9
Documentación WebServices
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
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:
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 10
Documentación WebServices
1.2.1 Métodos:
MÉTODOS. DESCRIPCIÓN
ConsEnvEstados Permite consultar los estados de un envío a partir de su código de envío.
Permite consultar los estados de una recogida a partir de su código de
ConsRecEstados
recogida.
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 una recogida a partir de su código de
ConsRecogida
recogida.
GrabaEnvio10 Permite insertar un envío.
GrabaRecogida Permite insertar o modificar una recogida.
Permite consultar los datos de los envíos que tengan como fecha de salida la
InfEnvios
recibida por parámetros.
ConsEtiquetaEnvio2 Devuelve la etiqueta de un envío codificada en base64.
GrabaPedido Graba un pedido.
ConsEnvEstadosUltimo Permite consultar los últimos estados de los envíos indicados por parámetros.
ConsEnvIncidencias Permite consultar las incidencias de un envío a partir de su código de envío.
ConsEnvEstadosFecha Permite consultar los estados de envíos que coincidan con la fecha.
ConsEnvIncidenciasFecha Permite consultar las incidencias de envíos que coincidan con la fecha.
GrabaEnvIncActuacion Graba una actuación a una incidencia indicada por parámetros.
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 11
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#
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--"
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 12
Documentación WebServices
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>
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('[Link] servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="[Link]
xmlns:xsi="[Link]
xmlns:xsd="[Link]
<soap:Header>
<ROClientIDHeader xmlns="[Link]
<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;
?>
XML
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 13
Documentación WebServices
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 14
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:
Ejemplo:
C#
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--"
/>
.
. //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 --"
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 15
Documentación WebServices
B_ULT="--ULTIMO --"
V_COD_AGE_ALTA="--ETC --"
V_COD_REP_ALTA="--ETC --"
V_COD_CLI_ALTA="--ETC--"
V_COD_CLI_DEP_ALTA="--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('[Link] servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="[Link]
xmlns:xsi="[Link]
xmlns:xsd="[Link]
<soap:Header>
<ROClientIDHeader xmlns="[Link]
<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;
?>
XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="[Link]
xmlns:xsi="[Link]
xmlns:HNS="[Link]
xmlns:SOAP-ENV="[Link]
xmlns:v1="[Link]
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:DinaPaq">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 16
Documentación WebServices
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:DinaPaq">
<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--"
/>
.
. //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 --"
/>
</CONSULTA>
</v1:strRecEstados>
</v1:WebServService___ConsRecEstadosResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 17
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:
Ejemplo:
C#
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--"
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--"
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 18
Documentación WebServices
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 19
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('[Link] servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="[Link]
xmlns:xsi="[Link]
xmlns:xsd="[Link]
<soap:Header>
<ROClientIDHeader xmlns="[Link]
<ID>--id de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsEnvio>
<strCodAgeCargo>-agencia-cargo-</strCodAgeCargo>
<strCodAgeOri>--agencia-origen--</strCodAgeOri>
<strAlbaran>--albaran--</strAlbaran>
</WebServService___ConsEnvio>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 20
Documentación WebServices
XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="[Link]
xmlns:xsi="[Link]
xmlns:HNS="[Link]
xmlns:SOAP-ENV="[Link]
xmlns:v1="[Link]
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:DinaPaq">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:DinaPaq">
<v1:WebServService___ConsEnvioResponse>
<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_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--"
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 21
Documentación WebServices
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--"
D_FEC_HORA_ENTR_POD="--FECHA Y HORA DE ENTREGA DEL POD--"
V_NOM_POD="--NOMBRE DEL REPCEPTOR DEL POD--"
V_DNI_POD="--DNI DEL REPCEPTOR DEL POD--"
F_PESO_MAYOR_4="--PESO MAYOR ENTRE PESO ORIGEN Y PESO VOLUMÉTRICO--"
V_ULT_DIR="--ÚLTIMA DIRECCIÓN--"
V_ULT_TIPO_VIA="--ÚLTIMO TIPO DE VÍA--"
V_ULT_NUM="--ÚLTIMO TIPO NÚMERO-"
V_ULT_PISO="--ÚLTIMO PISO--"
V_ULT_POB="--ÚLTIMA POBLACIÓN--"
V_ULT_CP="--ÚLTIMO CÓDIGO POSTAL--"
V_NOM_AGE_DES="--NOMBRE DE AGENCIA DESTINO--"
V_DES_SERV="--DESCRIPCIÓN TIPO SERVICIO--"
V_DES_SAL_RUTA="--DESCRIPCIÓN SALIDA RUTA--"
V_NOM_CLI="--NOMBRE DEL CLIENTE--"
SD_HORA_ENTR_INI="--HORA INICIO ENTREGA--"
SD_HORA_ENTR_FIN="--HORA FIN DE ENTREGA--"
V_NOM_CLI_DEP="--NOMBRE DEL DEPARTAMENTO--"
V_COD_PAIS="--CÓDIGO DEL PAÍS--"
V_NOM_PAIS="--NOMBRE DEL PAÍS--"
V_COD_REC_ASOC="--CÓDIGO DE RECOGIDA ASOCIADO--"
/>
</CONSULTA>
</v1:strEnvio>
</v1:WebServService___ConsEnvioResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 22
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:
Ejemplo:
C#
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--"
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 23
Documentación WebServices
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="--TIPO SERVICIO--"
B_SABADO="--SABADO--"
V_COD_REP="--CÓDIGO REPARTIDOR--"
V_COD_USU_ALTA="--USUARIO 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_COD_AGE_ALTA="--AGENCIA ALTA--"
V_COD_CLI_ALTA="--CLIENTE ALTA--"
V_COD_CLI_DEP_ALTA="--DEPARTAMENTO ALTA--"
V_COD_ENV="--CÓDIGO DE ENVIO--"
/>
</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:
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 24
Documentación WebServices
PHP
<?php
$strRespuestaServer = http_post_data('[Link] servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="[Link]
xmlns:xsi="[Link]
xmlns:xsd="[Link]
<soap:Header>
<ROClientIDHeader xmlns="[Link]
<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;
?>
XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="[Link]
xmlns:xsi="[Link]
xmlns:HNS="[Link]
xmlns:SOAP-ENV="[Link]
xmlns:v1="[Link]
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:DinaPaq">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:DinaPaq">
<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--"
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 25
Documentación WebServices
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_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_COD_AGE_ALTA="--AGENCIA ALTA--"
V_COD_CLI_ALTA="--CLIENTE ALTA--"
V_COD_CLI_DEP_ALTA="--DEPARTAMENTO ALTA--"
V_COD_ENV="--CÓDIGO DE ENVIO--"
/>
</CONSULTA>
</v1:strRecogida>
</v1:WebServService___ConsRecogidaResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 26
Documentación WebServices
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 27
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:
Ejemplo:
C#
/*peso-volumetrico*/ /*peso-volpes*/ /*alto-volpes*/ /*ancho-volpes*/ /*largo-volpes*/
double dPesoVolOriOut, dPesoVolpesOut, dAltoVolpesOut, dAnchoVolpesOut, dLargoVolpesOut;
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 28
Documentación WebServices
/*CP-destinatario*/ /*código-país*/
string strCPDesOut, strCodPaisOut;
/*fecha-entrega*/ /*fecha-alta*/
DateTime dtFecEntrOut, dtFecHoraAltaOut;
/*tecleado-destino*/ /*envío-agrupado*/
bool boTecleDesOut, boEnvioAgrupadoOut;
try
{
strAlbaranOut = wsWebService.GrabaEnvio10("agencia-cargo", "agencia-ori", "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”, enviar-SMS-destino,
enviar-email-destino, “moviles-destino”, “emails-destino”, “hora-entr-mín”, “hora-entr-máx”,
“código-país”, “insertando”, “albaran”, “conc-agrupa”,
out dPesoVolOriOut, out dPesoVolpesOut, out dAltoVolpesOut,
out dAnchoVolpesOut, out dLargoVolpesOut, out dPesoVolVolpesOut, out dtFecEntrOut,
out strTipoEnvOut, out dtFecHoraAltaOut, out dKmsManOut, out boTecleDesOut,
out strCodAgeDesOut, out strCodProDesOut, out dPorteDebOut, out strGuidOut,
out strCodSalRutaOut, out strCPDesOut, out strCodPaisOut, out boEnvioAgrupadoOut);
}
catch (Exception eExcepcion)
{
[Link]([Link]);
}
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('[Link] servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="[Link]
xmlns:xsi="[Link]
xmlns:xsd="[Link]
<soap:Header>
<ROClientIDHeader xmlns="[Link]
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 29
Documentación WebServices
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 30
Documentación WebServices
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>
XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="[Link]
xmlns:xsi="[Link]
xmlns:HNS="[Link]
xmlns:SOAP-ENV="[Link]
xmlns:v1="[Link]
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:DinaPaq">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:DinaPaq">
<v1:WebServService___GrabaEnvio10Response>
<v1:strAlbaranOut>"--OUT ALBARAN--"</v1:strAlbaranOut>
<v1:dPesoVolOriOut>"--OUT PESO VOLUMETRICO ORIGEN--"</v1:dPesoVolOriOut>
<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:dPesoVolVolpesOut>"--OUT PESO VOLUMETRICO VOLPES--"</v1:dPesoVolVolpesOut>
<v1:dtFecEntrOut>"--OUT FECHA ENTREGA en formato yyyy/mm/dd--"</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>
<v1:boTecleDesOut>"--OUT TECLEADO DESTINO--"</v1:boTecleDesOut>
<v1:strCodAgeDesOut>”--OUT AGENCIA DESTINO--"</v1:strCodAgeDesOut>
<v1:strCodProDesOut>"--OUT CODIGO PROVINCIA DESTINO--"</v1:strCodProDesOut>
<v1:dPorteDebOut>"--OUT PORTE DEBIDO--"</v1:dPorteDebOut>
<v1:strGuidOut>"--OUT GUID ENVIO--"</v1:strGuidOut>
<v1:strCodSalRutaOut>"--OUT SALIDA RUTA ENVIO--"</v1:strCodSalRutaOut>
<v1:strCPDesOut>"--OUT CP DESTINATARIO--"</v1:strCPDesOut>
<v1:strCodPaisOut>"--OUT CÓDIGO PAÍS--"</v1:strCodPaisOut>
<v1:boEnvioAgrupadoOut>"--OUT ENVIO AGRUPADO--"</v1:boEnvioAgrupadoOut>
</v1:WebServService___GrabaEnvio10Response>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Excepciones:
CÓDIGO DESCRIPCIÓN
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 31
Documentación WebServices
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ío ha de tener mínimo 1 bulto.
23 No se pueden introducir valores numéricos negativos.
24 La agencia no admite valor asegurado en envíos locales.
25 Los campos obligatorios deben tener valor.
26 El tipo de servicio no es admisible para el cliente seleccionado.
27 El nº de albarán no puede terminar en 000.
28 El tipo de servicio no es admisible para la agencia de destino seleccionada.
29 Agencia de origen no permitida
30 La agencia de cargo ha llegado al límite de envíos mensuales permitidos
Ya existe un envío con la misma agencia de cargo, origen y el número de albarán
31 especificado en la configuración de números de albarán para clientes finales. Debe
modificar dicha configuración para poder grabar envíos
32 No tiene permisos para grabar envíos con el código de cliente indicado
33 El país no existe
Para saber cómo controlar las excepciones devueltas por favor consulte el apartado 1.2.3, Excepciones.
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 32
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”.
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 33
Documentación WebServices
Uso:
Ejemplo:
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;
try
{
strCodOut = wsWebService.GrabaRecogida2("codigo-recogida", "agencia-origen",
"agencia-solicita", "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,AvisarRemSMS, AvisarRemEmail, “MovilesRem”,
“EmailsRem”, AvisarRemAlta, AvisarRemInci, AvisarRemResInci,
AvisarRemRecReparto ,out strTipoRecOut, out dtFecHoraAltaOut, out strCodAgeOriOut,
out strCodProOriOut, out strCodAgeDesOut, out strCodProDesOut, out dPorteDebOut);
}
catch (Exception eExcepcion)
{
[Link]([Link]);
}
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('[Link] servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 34
Documentación WebServices
<soap:Envelope
xmlns:soap="[Link]
xmlns:xsi="[Link]
xmlns:xsd="[Link]
<soap:Header>
<ROClientIDHeader xmlns="[Link]
<ID>--ID-SESION--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___GrabaRecogida2 xmlns="[Link]
<strCod>--codigo-recogida--</strCod>
<strCodAgeOri>--agencia-origen--</strCodAgeOri>
<strCodAgeSol>--agencia-solicita--</strCodAgeSol>
<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>
<boRetorno>--retorno--</boRetorno>
<boGestOri>--gestion-origen--</boGestOri>
<boGestDes>--gestion-destino--</boGestDes>
<boRemSms>--gestion-destino--</boRemSms>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 35
Documentación WebServices
<boRemEmail>--gestion-destino--</boRemEmail>
<strRemMoviles>--gestion-destino--</boGestDes>
<strRemDirEmails>--gestion-destino--</strRemDirEmails>
<boRemAlta>--gestion-destino--</boRemAlta>
<boRemInci>--gestion-destino--</boRemInci>
<boRemResInci>--gestion-destino--</boRemResInci>
<boRemRep>--gestion-destino--</boRemRep>
</WebServService___GrabaRecogida>
</soap:Body>
</soap:Envelope>’);
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>
XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="[Link]
xmlns:xsi="[Link]
xmlns:HNS="[Link]
xmlns:SOAP-ENV="[Link]
xmlns:v1="[Link]
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:DinaPaq">
<ID>--ID-SESION--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:DinaPaq">
<v1:WebServService___GrabaRecogidaResponse>
<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:strCodAgeDesOut>--OUT-CODIGO-AGENCIA-DEST--</v1:strCodAgeDesOut>
<v1:strCodProDesOut>--OUT-CODIGO-PROVINCIA-DEST--</v1:strCodProDesOut>
<v1:fPorteDebOut>--OUT-PORTE-DEB --</v1:fPorteDebOut>
</v1:WebServService___GrabaRecogidaResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
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.
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 36
Documentación WebServices
Para saber cómo controlar las excepciones devueltas por favor consulte el apartado 1.2.3, Excepciones.
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:
Ejemplo:
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 37
Documentación WebServices
C#
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 --"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN --"
V_ALBARAN="--ALBARAN --"
D_FECHA="--FECHA SALIDA en formato mm/dd/yyyy hh:mm:ss--"
V_COD_AGE_DES="--AGENCIA DE DESTINO --"
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--"
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_EST="--CÓDIGO TIPO DE ESTADO—"
D_FEC_HORA_ENTR_POD="--FECHA Y HORA DE ENTREGA DEL POD--"
V_COD_PAIS="--CÓDIGO DEL PAÍS--"
V_NOM_PAIS="--NOMBRE DEL PAÍS--"
/>
<INF_ENVIOS
V_COD_AGE_CARGO="--AGENCIA DE CARGO --"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN --"
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 38
Documentación WebServices
V_ALBARAN="--ALBARAN N--"
D_FECHA="—ETC en formato mm/dd/yyyy hh:mm:ss--"
V_COD_AGE_DES="--AGENCIA DE DESTINO --"
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--"
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_EST="--CÓDIGO TIPO DE ESTADO—"
D_FEC_HORA_ENTR_POD="--FECHA Y HORA DE ENTREGA DEL POD--"
V_COD_PAIS="--CÓDIGO DEL PAÍS--"
V_NOM_PAIS="--NOMBRE DEL PAÍS--"
/>
</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('[Link] servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="[Link]
xmlns:xsi="[Link]
xmlns:xsd="[Link]
<soap:Header>
<ROClientIDHeader xmlns="[Link]
<ID>--ID de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 39
Documentación WebServices
<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;
?>
XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="[Link]
xmlns:xsi="[Link]
xmlns:HNS="[Link]
xmlns:SOAP-ENV="[Link]
xmlns:v1="[Link]
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:DinaPaq">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:DinaPaq">
<v1:WebServService___InfEnviosResponse>
<v1:strInfEnvios>
<CONSULTA>
<INF_ENVIOS
V_COD_AGE_CARGO="--AGENCIA DE CARGO --"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN --"
V_ALBARAN="--ALBARAN --"
D_FECHA="--FECHA SALIDA en formato mm/dd/yyyy hh:mm:ss--"
V_COD_AGE_DES="--AGENCIA DE DESTINO --"
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--"
V_ULT_TIPO_VIA="--ULTIMO TIPO VIA--"
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 40
Documentación WebServices
<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_COD_AGE_DES="--AGENCIA DE DESTINO --"
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--"
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_EST="--CÓDIGO TIPO ESTADO--"
D_FEC_HORA_ENTR_POD="--FECHA Y HORA DE ENTREGA DEL POD--"
V_COD_PAIS="--CÓDIGO DEL PAÍS--"
V_NOM_PAIS="--NOMBRE DEL PAÍS--"
/>
</CONSULTA>
</v1:strInfEnvios>
</v1:WebServService___InfEnviosResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 41
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:
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 42
Documentación WebServices
Ejemplo:
C#
Una vez ejecutada la función la variable strResult contendrá la etiqueta en pdf o txt 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('[Link] servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="[Link]
xmlns:xsi="[Link]
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 43
Documentación WebServices
xmlns:xsd="[Link]
<soap:Header>
<ROClientIDHeader xmlns="[Link]
<ID>--ID de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsEtiquetaEnvio3>
<strCodAgeOri>-agencia-origen-</strCodAgeOri>
<strAlbaran>-albaran-</strAlbaran>
<intIdRepDet>-id. report-</intIdRepDet>
<strFormato>-formato-</strFormato>
</WebServService___ConsEtiquetaEnvio3>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 44
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:
Ejemplo:
C#
/*Código pedido*/
string strCodOut;
/*fecha-alta*/
DateTime dtFecHoraAltaOut;
try
{
strCodOut = [Link]("datos-artículos", grabar_pedido,
out strCodOut, out dtFecHoraAltaOut)
}
catch (Exception eExcepcion)
{
[Link]([Link]);
}
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
$xml = '--datos-artículos--';
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 45
Documentación WebServices
El parámetro strXmlArticulos debe contener los datos de los artículos dentro de un XML,
parseado previamente sustituyendo (<) por (<), (>) por (>), (\) por (') y (“) por ("), con la
siguiente forma:
XML
<strXmlArticulos>
<Root>
<Item Arti = 'código-artículo 1' UdSol = "unidades" DesArti = 'descripción-artículo 1'/>
<Item Arti = 'código-artículo 2' UdSol = "unidades" DesArti = 'descripción-artículo 2'/>
<Item Arti = 'código-artículo 3' UdSol = "unidades" DesArti = 'descripción-artículo 3'/>
</Root>
</strXmlArticulos>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 46
Documentación WebServices
XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="[Link]
xmlns:xsi="[Link]
xmlns:HNS="[Link]
xmlns:SOAP-ENV="[Link]
xmlns:v1="[Link]
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:DinaPaq">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:DinaPaq">
<v1:WebServService___GrabaPedidoResponse>
<v1:strCodOut>"--OUT CÓDIGO--"</v1:strCodOut>
<v1:dtFecHoraAltaOut>"--OUT FECHA HORA ALTA en formato yyyy/mm/dd hh:mm:ss--
"</v1:dtFecHoraAltaOut>
</v1:WebServService___GrabaPedidoResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Excepciones:
CÓDIGO DESCRIPCIÓN
1 El usuario no existe o está inactivo.
2 La agencia que solicita el pedido no existe o está inactiva.
3 Las unidades mínimas de venta para el artículo xxx son xxx unidades.
4 El código de artículo xxx no existe o está inactivo.
5 El pedido no contiene ningún artículo.
6 El artículo xxx es exclusivo para agencias.
Para saber cómo controlar las excepciones devueltas por favor consulte el apartado 1.2.3, Excepciones.
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 47
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#
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_ULTIMO
V_ALBARAN="--ALBARÁN 1--"
V_COD_TIPO_EST="--TIPO ESTADO--"
RV_VERSION="--ROWVERSION--"
/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA ENVÍO
.
<ENV_ESTADOS_ULTIMO
V_ALBARAN="--ALBARÁN N--"
V_COD_TIPO_EST="--ETC --"
RV_VERSION="--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.
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 48
Documentación WebServices
Ejemplo:
PHP
<?php
$xml = '-envíos-';
El parámetro strEnvios debe contener los albaranes de los envíos a consultar dentro de un XML,
parseado previamente sustituyendo (<) por (<), (>) por (>), (\) por (') y (“) por ("), con la
siguiente forma:
XML
<strEnvios>
<Envios>
<Envio strAlbaran = albarán 1/>
<Envio strAlbaran = albarán 2/>
<Envio strAlbaran = albarán 3/>
</Envios>
</strEnvios>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 49
Documentación WebServices
XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="[Link]
xmlns:xsi="[Link]
xmlns:HNS="[Link]
xmlns:SOAP-ENV="[Link]
xmlns:v1="[Link]
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:DinaPaq">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:DinaPaq">
<v1:WebServService___ConsEnvEstadosUltimoResponse>
<v1:strEnvEstados>
<CONSULTA>
<ENV_ESTADOS_ULTIMO
V_ALBARAN="--ALBARÁN 1--"
V_COD_TIPO_EST="--TIPO ESTADO--"
RV_VERSION="--ROWVERSION--"
/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA ENVÍO
.
<ENV_ESTADOS_ULTIMO
V_ALBARAN="--ALBARÁN N--"
V_COD_TIPO_EST="--ETC --"
RV_VERSION="--ETC--"
/>
</CONSULTA>
</v1:strEnvEstados>
</v1:WebServService___ConsEnvEstadosUltimoResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 50
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#
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 51
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_INCIDENCIAS>
<INC
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 hh:mm--"
/>
<ACT
I_ID="--ID DE LA ACTUACIÓN 1--"
V_COD_TIPO_ACTU="--TIPO ACTUACIÓN--"
V_DES_TIPO_ACTU="--DESCRIPCIÓN ACTUACIÓN--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--USUARIO ALTA--"
V_COD_AGE="--AGENCIA--"
B_LEIDA="--LEÍDA--"
B_INCL_EMAIL_CLI="--INCLUIR EN EMAIL--"
V_COD_USU_LEIDA="--USUARIO LEÍDA--"
D_FEC_HORA_LEIDA="--FECHA/HORA LEIDA en formato mm/dd/yyyy hh:mm:ss--"
V_TIPO="--TIPO--"
V_COD_CARGO_A="--CARGO A--"
V_COD_AGE_ALTA="--AGENCIA ALTA--"
V_COD_CLI_ALTA="--CLIENTE ALTA--"
V_COD_CLI_DEP_ALTA="--DEPARTAMENTO ALTA--"
V_COD_REP_ALTA="--REPARTIDOR ALTA--"
/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA ACTUACIÓN QUE TENGA ESA INCIDENCIA
.
<ACT
.
.
.
/>
</ENV_INCIDENCIAS>
.
. //DEVOLVERÁ UN BLOQUE POR CADA INCIDENCIA QUE TENGA ESE ENVÍO
.
<ENV_INCIDENCIAS>
.
.
.
</ENV_INCIDENCIAS>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 52
Documentación WebServices
</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('[Link] servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="[Link]
xmlns:xsi="[Link]
xmlns:xsd="[Link]
<soap:Header>
<ROClientIDHeader xmlns="[Link]
<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;
?>
XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="[Link]
xmlns:xsi="[Link]
xmlns:HNS="[Link]
xmlns:SOAP-ENV="[Link]
xmlns:v1="[Link]
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:DinaPaq">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:DinaPaq">
<v1:WebServService___ConsEnvIncidenciasResponse>
<v1:strEnvIncidencias>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 53
Documentación WebServices
<CONSULTA>
<ENV_INCIDENCIAS>
<INC
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 hh:mm--"
/>
<ACT
I_ID="--ID DE LA ACTUACIÓN 1--"
V_COD_TIPO_ACTU="--TIPO ACTUACIÓN--"
V_DES_TIPO_ACTU="--DESCRIPCIÓN ACTUACIÓN--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--USUARIO ALTA--"
V_COD_AGE="--AGENCIA--"
B_LEIDA="--LEÍDA--"
B_INCL_EMAIL_CLI="--INCLUIR EN EMAIL--"
V_COD_USU_LEIDA="--USUARIO LEÍDA--"
D_FEC_HORA_LEIDA="--FECHA/HORA LEIDA en formato mm/dd/yyyy hh:mm:ss--"
V_TIPO="--TIPO--"
V_COD_CARGO_A="--CARGO A--"
V_COD_AGE_ALTA="--AGENCIA ALTA--"
V_COD_CLI_ALTA="--CLIENTE ALTA--"
V_COD_CLI_DEP_ALTA="--DEPARTAMENTO ALTA--"
V_COD_REP_ALTA="--REPARTIDOR ALTA--"
/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA ACTUACIÓN QUE TENGA ESA INCIDENCIA
.
<ACT
.
.
.
/>
</ENV_INCIDENCIAS>
.
. //DEVOLVERÁ UN BLOQUE POR CADA INCIDENCIA QUE TENGA ESE ENVÍO
.
<ENV_INCIDENCIAS>
.
.
.
</ENV_INCIDENCIAS>
</CONSULTA>
</v1:strEnvIncidencias>
</v1:WebServService___ConsEnvIncidenciasResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 54
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#
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 55
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_ESTADOS
V_COD_AGE_CARGO="--AGENCIA CARGO ESTADO 1--"
V_COD_AGE_ORI="--AGENCIA ORIGEN ESTADO 1--"
V_ALBARAN="--ALBARÁN 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--"
/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA ESTADO QUE TENGA ESA FECHA
.
<ENV_ESTADOS
V_COD_AGE_CARGO="--AGENCIA CARGO ESTADO N--"
V_COD_AGE_ORI="--AGENCIA ORIGEN ESTADO N--"
V_ALBARAN="--ALBARÁN 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 --"
/>
</CONSULTA>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 56
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('[Link] servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="[Link]
xmlns:xsi="[Link]
xmlns:xsd="[Link]
<soap:Header>
<ROClientIDHeader xmlns="[Link]
<ID>--ID de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsEnvEstadosFecha>
<dtFecha>-fecha en formato yyyy/mm/dd-</dtFecha>
</WebServService___ConsEnvEstadosFecha>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 57
Documentación WebServices
XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="[Link]
xmlns:xsi="[Link]
xmlns:HNS="[Link]
xmlns:SOAP-ENV="[Link]
xmlns:v1="[Link]
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:DinaPaq">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:DinaPaq">
<v1:WebServService___ConsEnvEstadosFechaResponse>
<v1:strEnvEstados>
<CONSULTA>
<ENV_ESTADOS
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--"
/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA ESTADO QUE TENGA ESA FECHA
.
<ENV_ESTADOS
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 --"
/>
</CONSULTA>
</v1:strEnvEstados>
</v1:WebServService___ConsEnvEstadosFechaResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 58
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#
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 59
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_INCIDENCIAS>
<INC
V_COD_AGE_CARGO="--AGENCIA CARGO DE LA INCIDENCIA 1--"
V_COD_AGE_ORI="--AGENCIA ORIGEN DE LA INCIDENCIA 1--"
V_ALBARAN="--ALBARÁN DE LA INCIDENCIA 1--"
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 hh:mm--"
/>
<ACT
I_ID="--ID DE LA ACTUACIÓN 1--"
V_COD_TIPO_ACTU="--TIPO ACTUACIÓN--"
V_DES_TIPO_ACTU="--DESCRIPCIÓN ACTUACIÓN--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--USUARIO ALTA--"
V_COD_AGE="--AGENCIA--"
B_LEIDA="--LEÍDA--"
B_INCL_EMAIL_CLI="--INCLUIR EN EMAIL--"
V_COD_USU_LEIDA="--USUARIO LEÍDA--"
D_FEC_HORA_LEIDA="--FECHA/HORA LEIDA en formato mm/dd/yyyy hh:mm:ss--"
V_TIPO="--TIPO--"
V_COD_CARGO_A="--CARGO A--"
V_COD_AGE_ALTA="--AGENCIA ALTA--"
V_COD_CLI_ALTA="--CLIENTE ALTA--"
V_COD_CLI_DEP_ALTA="--DEPARTAMENTO ALTA--"
V_COD_REP_ALTA="--REPARTIDOR ALTA--"
/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA ACTUACIÓN QUE TENGA ESA INCIDENCIA
.
<ACT
.
.
.
/>
</ENV_INCIDENCIAS>
.
. //DEVOLVERÁ UN BLOQUE POR CADA INCIDENCIA QUE TENGA ESA FECHA
.
<ENV_INCIDENCIAS>
.
.
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 60
Documentación WebServices
.
</ENV_INCIDENCIAS>
</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('[Link] servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="[Link]
xmlns:xsi="[Link]
xmlns:xsd="[Link]
<soap:Header>
<ROClientIDHeader xmlns="[Link]
<ID>--ID de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsEnvIncidenciasFecha>
<dtFecha>-fecha en formato yyyy/mm/dd-</dtFecha>
</WebServService___ConsEnvIncidenciasFecha>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>
XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="[Link]
xmlns:xsi="[Link]
xmlns:HNS="[Link]
xmlns:SOAP-ENV="[Link]
xmlns:v1="[Link]
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:DinaPaq">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:DinaPaq">
<v1:WebServService___ConsEnvIncidenciasFechaResponse>
<v1:strEnvIncidencias>
<CONSULTA>
<ENV_INCIDENCIAS>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 61
Documentación WebServices
<INC
V_COD_AGE_CARGO="--AGENCIA CARGO DE LA INCIDENCIA 1--"
V_COD_AGE_ORI="--AGENCIA ORIGEN DE LA INCIDENCIA 1--"
V_ALBARAN="--ALBARÁN DE LA INCIDENCIA 1--"
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 hh:mm--"
/>
<ACT
I_ID="--ID DE LA ACTUACIÓN 1--"
V_COD_TIPO_ACTU="--TIPO ACTUACIÓN--"
V_DES_TIPO_ACTU="--DESCRIPCIÓN ACTUACIÓN--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU_ALTA="--USUARIO ALTA--"
V_COD_AGE="--AGENCIA--"
B_LEIDA="--LEÍDA--"
B_INCL_EMAIL_CLI="--INCLUIR EN EMAIL--"
V_COD_USU_LEIDA="--USUARIO LEÍDA--"
D_FEC_HORA_LEIDA="--FECHA/HORA LEIDA en formato mm/dd/yyyy hh:mm:ss--"
V_TIPO="--TIPO--"
V_COD_CARGO_A="--CARGO A--"
V_COD_AGE_ALTA="--AGENCIA ALTA--"
V_COD_CLI_ALTA="--CLIENTE ALTA--"
V_COD_CLI_DEP_ALTA="--DEPARTAMENTO ALTA--"
V_COD_REP_ALTA="--REPARTIDOR ALTA--"
/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA ACTUACIÓN QUE TENGA ESA INCIDENCIA
.
<ACT
.
.
.
/>
</ENV_INCIDENCIAS>
.
. //DEVOLVERÁ UN BLOQUE POR CADA INCIDENCIA QUE TENGA ESE ENVÍO
.
<ENV_INCIDENCIAS>
.
.
.
</ENV_INCIDENCIAS>
</CONSULTA>
</v1:strEnvIncidencias>
</v1:WebServService___ConsEnvIncidenciasFechaResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
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:
Ejemplo:
C#
try
{
[Link]("agencia-cargo", "agencia-ori", "albarán”, id,
"código-actuación”, incluir-en-email, "tipo")
}
catch (Exception eExcepcion)
{
[Link]([Link]);
}
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 63
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
http_post_data('[Link] servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="[Link]
xmlns:xsi="[Link]
xmlns:xsd="[Link]
<soap:Header>
<ROClientIDHeader xmlns="[Link]
<ID>--id de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___GrabaEnvIncActuacion xmlns="[Link]
<strCodAgeCargo>--agencia-cargo--</strCodAgeCargo>
<strCodAgeOri>--agencia-origen--</strCodAgeOri>
<strAlbaran>--albarán--</strAlbaran>
<intIdEnvInc>--id--</intIdEnvInc>
<strCodTipoActu>--código-actuación--</strCodTipoActu>
<boInclEmailCli>--incluir-en-email--</boIcnlEmailCli>
<strTipo>--tipo--</strTipo>
</WebServService___GrabaEnvIncActuacion>
</soap:Body>
</soap:Envelope>');
?>
Excepciones:
CÓDIGO DESCRIPCIÓN
1 El código de actuación no existe o está inactivo.
2 El tipo de la actuación no es válido.
3 El usuario no tiene permiso para meter actuaciones.
4 El envío no existe o el usuario no tiene permiso para modificarlo.
5 El usuario debe pertenecer a la agencia de cargo.
6 No se puede introducir una actuación sin incidencia si el envío ya tiene incidencias.
7 La incidencia que se genera con la actuación no está configurada.
8 El usuario debe pertenecer a la agencia de cargo o a la agencia de destino.
9 La incidencia indicada no existe.
El tipo de servicio del envío no permite grabar estados, incidencias o
10
actuaciones sin incidencias
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 64
Documentación WebServices
Para saber cómo controlar las excepciones devueltas por favor consulte el apartado 1.2.3, Excepciones.
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#
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 65
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_COD_AGE_ORI="--AGENCIA ORIGEN--"
V_ALBARAN="--ALBARÁN--"
V_BUL="--BULTO--"
V_COD_PUN_LEC="--PUNTO DE LECTURA--"
D_FEC_HORA_LEC="--FECHA/HORA LECTURA en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU="--USUARIO ALTA--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA en formato mm/dd/yyyy hh:mm:ss--"
V_COD_REP_ALTA="--REPARTIDOR ALTA--"
V_COD_AGE_ALTA="--AGENCIA ALTA--"
/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA TRAZA QUE TENGA ESE ENVÍO
.
<ENV_TRAZ
.
.
.
/>
</CONSULTA>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 66
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('[Link] servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="[Link]
xmlns:xsi="[Link]
xmlns:xsd="[Link]
<soap:Header>
<ROClientIDHeader xmlns="[Link]
<ID>--ID de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsEnvTraz>
<strCodAgeCargo>-agencia-cargo-</strCodAgeCargo>
<strCodAgeOri>--agencia-origen--</strCodAgeOri>
<strAlbaran>--albarán--</strAlbaran>
</WebServService___ConsEnvTraz>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 67
Documentación WebServices
XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="[Link]
xmlns:xsi="[Link]
xmlns:HNS="[Link]
xmlns:SOAP-ENV="[Link]
xmlns:v1="[Link]
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:DinaPaq">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:DinaPaq">
<v1:WebServService___ConsEnvTrazResponse>
<v1:strEnvTraz>
<CONSULTA>
<ENV_TRAZ
V_COD_AGE_CARGO="--AGENCIA CARGO 1--"
V_COD_AGE_ORI="--AGENCIA ORIGEN--"
V_ALBARAN="--ALBARÁN--"
V_BUL="--BULTO--"
V_COD_PUN_LEC="--PUNTO DE LECTURA--"
D_FEC_HORA_LEC="--FECHA/HORA LECTURA en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU="--USUARIO ALTA--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA en formato mm/dd/yyyy hh:mm:ss--"
V_COD_REP_ALTA="--REPARTIDOR ALTA--"
V_COD_AGE_ALTA="--AGENCIA ALTA--"
/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA TRAZA QUE TENGA ESE ENVÍO
.
<ENV_TRAZ
.
.
.
/>
</CONSULTA>
</v1:strEnvTraz>
</v1:WebServService___ConsEnvTrazResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 68
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#
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 69
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_COD_AGE_ORI="--AGENCIA ORIGEN--"
V_ALBARAN="--ALBARÁN--"
V_BUL="--BULTO--"
V_COD_PUN_LEC="--PUNTO DE LECTURA--"
D_FEC_HORA_LEC="--FECHA/HORA LECTURA en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU="--USUARIO ALTA--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA en formato mm/dd/yyyy hh:mm:ss--"
V_COD_REP_ALTA="--REPARTIDOR ALTA--"
V_COD_AGE_ALTA="--AGENCIA ALTA--"
/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA TRAZA QUE HAYA PARA LA FECHA Y AGENCIA
INDICADAS
.
<ENV_TRAZ
.
.
.
/>
</CONSULTA>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 70
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('[Link] servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="[Link]
xmlns:xsi="[Link]
xmlns:xsd="[Link]
<soap:Header>
<ROClientIDHeader xmlns="[Link]
<ID>--ID de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsEnvTrazFecAge>
<dtFecha>-fecha en formato yyyy/mm/dd-</dtFecha>
<strCodAge>--agencia-lectura--</strCodAge>
</WebServService___ConsEnvTrazFecAge>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 71
Documentación WebServices
XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="[Link]
xmlns:xsi="[Link]
xmlns:HNS="[Link]
xmlns:SOAP-ENV="[Link]
xmlns:v1="[Link]
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:DinaPaq">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:DinaPaq">
<v1:WebServService___ConsEnvTrazFecAgeResponse>
<v1:strEnvTraz>
<CONSULTA>
<ENV_TRAZ
V_COD_AGE_CARGO="--AGENCIA CARGO 1--"
V_COD_AGE_ORI="--AGENCIA ORIGEN--"
V_ALBARAN="--ALBARÁN--"
V_BUL="--BULTO--"
V_COD_PUN_LEC="--PUNTO DE LECTURA--"
D_FEC_HORA_LEC="--FECHA/HORA LECTURA en formato mm/dd/yyyy hh:mm:ss--"
V_COD_USU="--USUARIO ALTA--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA en formato mm/dd/yyyy hh:mm:ss--"
V_COD_REP_ALTA="--REPARTIDOR ALTA--"
V_COD_AGE_ALTA="--AGENCIA ALTA--"
/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA TRAZA QUE HAYA PARA LA FECHA Y AGENCIA
INDICADAS
.
<ENV_TRAZ
.
.
.
/>
</CONSULTA>
</v1:strEnvTraz>
</v1:WebServService___ConsEnvTrazFecAgeResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 72
Documentación WebServices
Este XML hay que parsearlo, sustituyendo (<) por (<), (>)
por (>), (\) por (') y (“) por (").
intRegImp Salida Integer Registros bien importados.
intRegNoImp Salida Integer Registros mal importados.
XML que contiene las digitalizaciones que no se han podido
grabar con su mensaje de error.
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#
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 73
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_DIG_ERROR
strEnvio="--ENVÍO 1--"
strError="--MENSAJE DE ERROR 1--"
/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA DIGITALIZACIÓN MAL IMPORTADA
.
<ENV_DIG_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
$xml = '-xml-digitalizaciones-';
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 74
Documentación WebServices
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>
XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="[Link]
xmlns:xsi="[Link]
xmlns:HNS="[Link]
xmlns:SOAP-ENV="[Link]
xmlns:v1="[Link]
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:DinaPaq">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:DinaPaq">
<v1:WebServService___DigitalizaEnviosResponse>
<v1:strEnviosDigError>
<CONSULTA>
<ENV_DIG_ERROR
strEnvio="--ENVIO 1--"
strError="--MENSAJE DE ERROR 1--"
/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA DIGITALIZACIÓN MAL IMPORTADA
.
<ENV_DIG_ERROR
.
.
.
/>
</CONSULTA>
</v1:strEnviosDigError>
<v1:intRegImp>
Nº de digitalizaciones bien importadas
</v1:intRegImp>
<v1:intRegNoImp>
Nº de digitalizaciones mal importadas
</v1:intRegNoImp>
</v1:WebServService___DigitalizaEnviosResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 75
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#
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_SERVICIO="--CARGO+ORIGEN+ALBARÁN DEL ESTADO 1--"
V_COD_TIPO_EST="--TIPO ESTADO--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA en formato mm/dd/yyyy hh:mm:ss--"
B_ULT="--SI ES EL ÚLTIMO ESTADO AÑADIDO--"
/>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 76
Documentación WebServices
.
. //DEVOLVERÁ UN BLOQUE POR CADA ESTADO QUE TENGA ESE ENVÍO
.
<ENV_ESTADOS_REF
V_SERVICIO="--CARGO+ORIGEN+ALBARÁN DEL ESTADO N--"
V_COD_TIPO_EST="--ETC --"
D_FEC_HORA_ALTA="--ETC en formato mm/dd/yyyy hh:mm:ss--"
B_ULT="--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('[Link] servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="[Link]
xmlns:xsi="[Link]
xmlns:xsd="[Link]
<soap:Header>
<ROClientIDHeader xmlns="[Link]
<ID>--ID de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsEnvEstadosRef>
<strRef>-ref-</strRef>
</WebServService___ConsEnvEstadosRef>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>
XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="[Link]
xmlns:xsi="[Link]
xmlns:HNS="[Link]
xmlns:SOAP-ENV="[Link]
xmlns:v1="[Link]
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:DinaPaq">
<ID>--ID SESIÓN--</ID>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 77
Documentación WebServices
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:DinaPaq">
<v1:WebServService___ConsEnvEstadosRefResponse>
<v1:strEnvEstadosRef>
<CONSULTA>
<ENV_ESTADOS_REF
V_SERVICIO="--CARGO+ORIGEN+ALBARÁN DEL ESTADO 1--"
V_COD_TIPO_EST="--TIPO ESTADO--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA en formato mm/dd/yyyy hh:mm:ss--"
B_ULT="--SI ES EL ÚLTIMO ESTADO AÑADIDO--"
/>
.
. //DEVOLVERÁ UN BLOQUE POR CADA ESTADO QUE TENGA ESE ENVÍO
.
<ENV_ESTADOS_REF
V_SERVICIO="--CARGO+ORIGEN+ALBARÁN DEL ESTADO N--"
V_COD_TIPO_EST="--ETC --"
D_FEC_HORA_ALTA="--ETC en formato mm/dd/yyyy hh:mm:ss--"
B_ULT="--ETC --"
/>
</CONSULTA>
</v1:strEnvEstadosRef>
</v1:WebServService___ConsEnvEstadosRefResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 78
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#
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>
<CONS_ULTIMO_ESTADO_ENVIO
V_COD_TIPO_EST="--TIPO ESTADO--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA en formato mm/dd/yyyy hh:mm:ss--"
/>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 79
Documentación WebServices
</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('[Link] servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="[Link]
xmlns:xsi="[Link]
xmlns:xsd="[Link]
<soap:Header>
<ROClientIDHeader xmlns="[Link]
<ID>--ID de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsUltimoEstadoEnvio>
<strCodAgeCargo>-agencia-cargo-</strCodAgeCargo>
<strCodAgeOri>-agencia-origen-</strCodAgeOri>
<strAlbaran>-albarán-</strAlbaran>
</WebServService___ConsUltimoEstadoEnvio>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>
XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="[Link]
xmlns:xsi="[Link]
xmlns:HNS="[Link]
xmlns:SOAP-ENV="[Link]
xmlns:v1="[Link]
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:DinaPaq">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:DinaPaq">
<v1:WebServService___ConsUltimoEstadoEnvioResponse>
<v1:strUltimoEstadoEnvio>
<CONSULTA>
<CONS_ULTIMO_ESTADO_ENVIO
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 80
Documentación WebServices
V_COD_TIPO_EST="--TIPO ESTADO--"
D_FEC_HORA_ALTA="--FECHA/HORA ALTA en formato mm/dd/yyyy hh:mm:ss--"
/>
</CONSULTA>
</v1:strUltimoEstadoEnvio>
</v1:WebServService___ConsUltimoEstadoEnvioResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
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:
Ejemplo:
C#
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 --"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN --"
V_ALBARAN="--ALBARAN --"
D_FECHA="--FECHA SALIDA en formato mm/dd/yyyy hh:mm:ss--"
V_COD_AGE_DES="--AGENCIA DE DESTINO --"
V_NOM_ORI="--NOMBRE REMITENTE--"
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 81
Documentación WebServices
<INF_ENVIOS
V_COD_AGE_CARGO="--AGENCIA DE CARGO --"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN --"
V_ALBARAN="--ALBARAN N--"
D_FECHA="—ETC en formato mm/dd/yyyy hh:mm:ss--"
V_COD_AGE_DES="--AGENCIA DE DESTINO --"
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--"
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--"
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 82
Documentación WebServices
V_COD_CLI_DEP="--CODIGO DEPARTAMENTO--"
V_NOM_DEP="--NOMBRE DEPARTAMENTO—"
V_COD_TIPO_EST="--CÓDIGO TIPO DE ESTADO—"
D_FEC_HORA_ENTR_POD="--FECHA Y HORA DE ENTREGA DEL POD--"
V_COD_PAIS="--CÓDIGO DEL PAÍS--"
V_NOM_PAIS="--NOMBRE DEL PAÍS--"
/>
</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('[Link] servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="[Link]
xmlns:xsi="[Link]
xmlns:xsd="[Link]
<soap:Header>
<ROClientIDHeader xmlns="[Link]
<ID>--ID de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___InfEnviosRef>
<dtFecha>-fecha-salida en formato yyyy/mm/dd-</dtFecha>
<strRef>-Referencia de los envios a filtrar-</strRef>
</WebServService___InfEnviosRef>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 83
Documentación WebServices
XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="[Link]
xmlns:xsi="[Link]
xmlns:HNS="[Link]
xmlns:SOAP-ENV="[Link]
xmlns:v1="[Link]
>
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:DinaPaq">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:DinaPaq">
<v1:WebServService___InfEnviosRefResponse>
<v1:strInfEnvios>
<CONSULTA>
<INF_ENVIOS
V_COD_AGE_CARGO="--AGENCIA DE CARGO --"
V_COD_AGE_ORI="--AGENCIA DE ORIGEN --"
V_ALBARAN="--ALBARAN --"
D_FECHA="--FECHA SALIDA en formato mm/dd/yyyy hh:mm:ss--"
V_COD_AGE_DES="--AGENCIA DE DESTINO --"
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--"
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_EST="--CÓDIGO TIPO ESTADO--"
D_FEC_HORA_ENTR_POD="--FECHA Y HORA DE ENTREGA DEL POD--"
V_COD_PAIS="--CÓDIGO DEL PAÍS--"
V_NOM_PAIS="--NOMBRE DEL PAÍS--"
/>
<INF_ENVIOS
V_COD_AGE_CARGO="--AGENCIA DE CARGO N--"
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 84
Documentación WebServices
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 85
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:
Ejemplo:
C#
Una vez ejecutada la función la variable strResult contendrá la URL de documentos agrupados.
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 86
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('[Link] servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="[Link]
xmlns:xsi="[Link]
xmlns:xsd="[Link]
<soap:Header>
<ROClientIDHeader xmlns="[Link]
<ID>--ID de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___ConsURLDocAgrupados>
<strCodAgeCargo>-agencia-cargo-</strCodAgeCargo>
<strCodAgeOri>-agencia-origen-</strCodAgeOri>
<strAlbaran>-albarán-</strAlbaran>
</WebServService___ConsURLDocAgrupados>
</soap:Body>
</soap:Envelope>');
$strRespuestaServer = http_parse_message($strRespuestaServer)->body;
?>
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 87
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:
Ejemplo:
C#
try
{
[Link]("agencia-cargo", "agencia-ori", "albarán”, id,
“texto descripción actuación”)
}
catch (Exception eExcepcion)
{
[Link]([Link]);
}
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 88
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
http_post_data('[Link] servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="[Link]
xmlns:xsi="[Link]
xmlns:xsd="[Link]
<soap:Header>
<ROClientIDHeader xmlns="[Link]
<ID>--id de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___GrabaEnvIncActuacionLibre xmlns="[Link]
<strCodAgeCargo>--agencia-cargo--</strCodAgeCargo>
<strCodAgeOri>--agencia-origen--</strCodAgeOri>
<strAlbaran>--albarán--</strAlbaran>
<intIdEnvInc>--id--</intIdEnvInc>
<strTexto>--código-actuación--</strTexto>
</WebServService___GrabaEnvIncActuacionLibre>
</soap:Body>
</soap:Envelope>');
?>
Excepciones:
CÓDIGO DESCRIPCIÓN
1 El código de actuación no existe o está inactivo.
2 El usuario no tiene permiso para meter actuaciones.
3 El envío no existe o el usuario no tiene permiso para modificarlo.
4 El usuario debe pertenecer a la agencia de cargo.
5 No se puede introducir una actuación sin incidencia si el envío ya tiene incidencias.
6 La incidencia que se genera con la actuación no está configurada.
7 El usuario debe pertenecer a la agencia de cargo o a la agencia de destino.
8 La incidencia indicada no existe.
El tipo de servicio del envío no permite grabar estados, incidencias o
9
actuaciones sin incidencias
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 89
Documentación WebServices
Para saber cómo controlar las excepciones devueltas por favor consulte el apartado 1.2.3, Excepciones.
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:
Ejemplo:
C#
try
{
[Link]("recogida”, id, “texto descripción actuación”)
}
catch (Exception eExcepcion)
{
[Link]([Link]);
}
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 90
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
http_post_data('[Link] servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="[Link]
xmlns:xsi="[Link]
xmlns:xsd="[Link]
<soap:Header>
<ROClientIDHeader xmlns="[Link]
<ID>--id de la sesión establecida--</ID>
</ROClientIDHeader>
</soap:Header>
<soap:Body>
<WebServService___GrabaRecIncActuacionLibre xmlns="[Link]
<strCodRec>--recogida--</strCodRec>
<intIdRecInc>--id--</intIdRecInc>
<strTexto>--código-actuación--</strTexto>
</WebServService___GrabaRecIncActuacionLibre>
</soap:Body>
</soap:Envelope>');
?>
Excepciones:
CÓDIGO DESCRIPCIÓN
1 El código de actuación no existe o está inactivo.
2 El usuario no tiene permiso para meter actuaciones.
3 La recogida no existe o el usuario no tiene permiso para modificarla.
4 El usuario debe pertenecer a la agencia de cargo o a la agencia de origen.
5 La incidencia indicada no existe.
6 El usuario debe pertenecer a la agencia de origen para poder añadir la incidencia.
7 La incidencia que se genera con la actuación no está configurada.
Para saber cómo controlar las excepciones devueltas por favor consulte el apartado 1.2.3, Excepciones.
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 91
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:
Ejemplo:
C#
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--"
I_BUL="--BULTOS--"
F_PESO="--PESO--"
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 92
Documentación WebServices
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_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_COD_AGE_ALTA="--AGENCIA ALTA--"
V_COD_CLI_ALTA="--CLIENTE ALTA--"
V_COD_CLI_DEP_ALTA="--DEPARTAMENTO ALTA--"
/>
</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('[Link] servidor--/soap',
'<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="[Link]
xmlns:xsi="[Link]
xmlns:xsd="[Link]
<soap:Header>
<ROClientIDHeader xmlns="[Link]
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 93
Documentación WebServices
XML
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope
xmlns:xsd="[Link]
xmlns:xsi="[Link]
xmlns:HNS="[Link]
xmlns:SOAP-ENV="[Link]
xmlns:v1="[Link]
<SOAP-ENV:Header>
<ROClientIDHeader SOAP-ENV:mustUnderstand="0" xmlns="urn:DinaPaq">
<ID>--ID SESIÓN--</ID>
</ROClientIDHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body xmlns:ro="urn:DinaPaq">
<v1:WebServService___ConsRecogidasRefResponse>
<v1:strRef>
<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--"
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--"
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 94
Documentación WebServices
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_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_COD_AGE_ALTA="--AGENCIA ALTA--"
V_COD_CLI_ALTA="--CLIENTE ALTA--"
V_COD_CLI_DEP_ALTA="--DEPARTAMENTO ALTA--"
/>
</CONSULTA>
</v1:strRef>
</v1:WebServService___ConsRecogidasRefResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
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
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 95
Documentación WebServices
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:
Avda. Blas Infante 8, Piso 3, Mod. 13 – Tlf: 95 590 49 42 – Fax: 95 483 10 27 – info@[Link]
Pág. 96