Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2016/05/12
Tabla de contenido
1. Objetivo .................................................................................................................................................................... 3
2. Descripción de los métodos del Web Services ............................................................................................. 3
2.1. ProgramarItinerarioXML:......................................................................................................................... 3
2.2. ProgramarItinerarioDateTable: ............................................................................................................. 7
2.4 ConsultarPlacasFechaXml ........................................................................................................................ 8
2.5 ConsultarPlacasFechaDataTable ........................................................................................................ 11
2.6 ConsultarPlacasIdentificadorXml ....................................................................................................... 11
2.7 ConsultarPlacasIdentificadorDataTable .......................................................................................... 12
2.8 ConsultarOperacionConsolidadoXml ................................................................................................ 13
2.9 ConsultarOperacionConsolidadoDataTable ................................................................................... 14
3 URL Web Service ................................................................................................................................................. 15
4 Tablas de Códigos ............................................................................................................................................... 15
5 Consumo del WebService ................................................................................................................................ 15
1. Objetivo
Se presentó la necesidad de crear un Web Services para los módulos de asignación de itinerarios del
Control de Tráfico, para realizar las programaciones de las unidades consumiendo un Web Services.
2.1. ProgramarItinerarioXML:
Por medio de este método se va a realizar la programación de las unidades, recibe 3 parámetros los
cuales son: UserName, password, XML, la respuesta que devuelve este método es un documento
XML (Tipo XmlNode).
• UserName: Parámetro de entrada de tipo string, donde se especifica el usuario con el cual el
cliente ingresa a la pagina de Satrack.
• Password: Parámetro de entrada de tipo string, donde se especifica la contraseña con la
cual el cliente ingresa a la pagina de Satrack.
En el caso que el usuario y/o contraseña no sean correctos la respuesta que se devuelve es
la siguiente.
La respuesta como XML es
<nodeppal>
<item>
<placa>*-*</placa>
<ruta>*-*</ruta>
<codigo>-999</codigo>
<descripcion>El usuario y/o contraseña ingresados no existe</descripcion>
<campo1>*-*</campo1>
</item>
</nodeppal>
Ver tabla de códigos.
• Xml: Parámetro de entrada de tipo string, en este parámetro se ingresa una cadena de
texto de tipo xml, donde se van a tener todas las programaciones de los vehículos, a
continuación se describe la conformación del archivo XML.
<programacion>
<itinerario>
<placa>AAA</placa>
<ruta>BBB</ruta>
<parametros>
<trafico>
<agencia>CCC</agencia>
<planviaje>DDD</planviaje>
<campo1>EEE</campo1>
<nombreconductor>FFF</nombreconductor>
<telefonoconductor>GGG</telefonoconductor>
</trafico>
<canbus>
<canpeso>HHH</canpeso>
</canbus>
<disponible>III</disponible>
<fechadespacho>JJJ</fechadespacho >
<regionescargue>
<codigoregion>KKK</codigoregion>
</regionescargue>
<placatemporal>PPP</placatemporal>
</parametros>
</itinerario>
</programacion>
• ruta: Parámetro de entrada tipo Varchar(50), donde se especifica el código de la ruta que se
va a programar.
<programacion>
<itinerario>
<placa>placaEjemplo1</placa>
<ruta>rutaEjemplo1</ruta>
<parametros>
<trafico>
<agencia>123</agencia>
<planviaje>1234567</planviaje>
<campo1>001457-0051;C02311245</campo1>
<nombreconductor>Javier Gonzales</nombreconductor>
<telefonoconductor>30156987415</telefonoconductor>
</trafico>
<canbus>
<canpeso>8</canpeso>
</canbus>
<disponible>1</disponible>
<fechadespacho>2012-05-20T22:30:00</fechadespacho >
<regionescargue>
<codigoregion>Region1</codigoregion >
<codigoregion>Region2</codigoregion >
</regionescargue>
<placatemporal>PlacaTemporal1</placatemporal>
</parametros>
</itinerario>
<itinerario>
<placa> placaEjemplo2</placa>
<ruta>rutaNoExiste</ruta>
</itinerario>
<itinerario>
<placa>placaEjemplo3</placa>
<ruta>rutaEjemplo3</ruta>
<parametros>
<trafico>
<campo1>001457-0051;C02311245</campo1>
</trafico>
<disponible>0</disponible>
<fechadespacho>2012-05-20T22:30:00</fechadespacho >
</parametros>
</itinerario>
</programacion>
La respuesta que se envía después de ser procesada la información en la base de datos es (Formato
XML):
<nodeppal>
<item>
<placa>placaEjemplo1</placa>
<ruta>rutaEjemplo1</ruta>
<codigo>1</codigo>
<descripcion>Ok</descripcion>
<campo1>001457-0051;C02311245</campo1>
</item>
<item>
<placa> placaEjemplo2</placa>
<ruta> rutaNoExiste </ruta>
<codigo>-2</codigo>
<descripcion>La ruta ingresada no existe</descripcion>
<campo1></campo1>
</item>
<item>
<placa> placaEjemplo3</placa>
<ruta>rutaEjemplo1</ruta>
<codigo>1</codigo>
<descripcion>Ok</descripcion>
<campo1></campo1>
</item>
</nodeppal>
Ver tabla de códigos.
2.2. ProgramarItinerarioDateTable:
2.3 FinalizarItinerario:
Por medio de este se método, se realiza la cancelación del itineario programado a los vehículos;
recibe 3 parámetros los cuales son: UserName, Password, strPlacas.
• UserName: Parámetro de entrada de tipo string, donde se especifica el usuario con el cual el
cliente ingresa a la página de Satrack.
• Password: Parámetro de entrada de tipo string, donde se especifica la contraseña con la
cual el cliente ingresa a la página de Satrack.
En el caso que el usuario y/o contraseña no sean correctos la respuesta que se devuelve es
la siguiente.
La respuesta como XML es
<nodeppal>
<item>
<placa>*-*</placa>
<ruta>*-*</ruta>
<codigo>-999</codigo>
<descripcion>El usuario y/o contraseña ingresados no existe</descripcion>
</item>
</nodeppal>
Ver tabla de códigos.
• strPlacas: Parámetro de entrada de tipo string, donde se especifican las placas a las cuales se
van a cancelar los itinerarios. Se ingresa una o varias placas, separadas por el carácter coma
(,).
2.4 ConsultarPlacasFechaXml
Por medio de este se realiza la consulta de las placas que tiene asignada un usuario teniendo en
cuenta un rango de fechas; recibe 15 parámetros los cuales son: UserName, Password, strPlacas,
InitialYear, InitialMonth, InitialDay, InitialHour, InitialMinute, InitialSecs, FinalYear, FinalMonth,
FinalDay, FinalHour, FinalMinute, FinalSecs.
• UserName: Parámetro de entrada de tipo string, donde se especifica el usuario con el cual el
cliente ingresa a la página de Satrack.
• Password: Parámetro de entrada de tipo string, donde se especifica la contraseña con la
cual el cliente ingresa a la página de Satrack.
En el caso que el usuario y/o contraseña no sean correctos la respuesta que se devuelve es
la siguiente.
La respuesta como XML es
<nodeppal>
<item>
<placa>*-*</placa>
<ruta>*-*</ruta>
<codigo>-999</codigo>
<descripcion>El usuario y/o contraseña ingresados no existe</descripcion>
</item>
</nodeppal>
Ver tabla de códigos.
• strPlacas: Parámetro de entrada de tipo string, donde se especifican las placas que se desea
consultar. En caso de que el valor de este parámetro sea *, el sistema retornara todas las
palcas asociadas al usuario.
• InitialYear: Parámetro de tipo int que indica el año que conforma la fecha inicial con el que
se desea realizar la consulta.
• InitialMonth: Parámetro de tipo int que indica el mes que conforma la fecha inicial con el
que se desea realizar la consulta.
• InitialDay: Parámetro de tipo int que indica el día que conforma la fecha inicial con el que se
desea realizar la consulta.
• InitialHour: Parámetro de tipo int que indica la hora que conforma la fecha inicial con el que
se desea realizar la consulta.
• InitialMinute: Parámetro de tipo int que indica los minutos que conforma la fecha inicial con
el que se desea realizar la consulta.
• InitialSecs: Parámetro de tipo int que indica los segundos de la fecha inicial con el que se
desea realizar la consulta.
• FinalYear: Parámetro de tipo int que indica el año que conforma la fecha final con el que se
desea realizar la consulta.
• FinalMonth: Parámetro de tipo int que indica el mes que conforma la fecha final con el que
se desea realizar la consulta.
• FinalDay: Parámetro de tipo int que indica el día que conforma la fecha final con el que se
desea realizar la consulta.
• FinalHour: Parámetro de tipo int que indica la hora que conforma la fecha final con el que se
desea realizar la consulta.
• FinalMinute: Parámetro de tipo int que indica los minutos que conforma la fecha final con el
que se desea realizar la consulta.
• FinalSecs: Parámetro de tipo int que indica los segundos que conforma la fecha final con el
que se desea realizar la consulta.
2.5 ConsultarPlacasFechaDataTable
2.6 ConsultarPlacasIdentificadorXml
Por medio de este se realiza la consulta de las n placas que tiene asignada un usuario teniendo en
cuenta el campo identificar, clave y la cantidad de registros solicitados (n); recibe 4 parámetros los
cuales son: UserName, Password, string Identificador, strPlacas, NumReg..
• UserName: Parámetro de entrada de tipo string, donde se especifica el usuario con el cual el
cliente ingresa a la página de Satrack.
• strPlacas: Parámetro de entrada de tipo string, donde se especifican las placas que se desea
consultar. En caso de que el valor de este parámetro sea 0, el sistema retornara todas las
palcas asociadas al usuario.
<nodeppal>
<item>
<clave>claveejemplo1</clave>
<codigocliente>codigoclienteejemplo1</codigocliente>
<identificador>identificadorejemplo1</identificador>
<placa>placaejemplo1</placa>
<fechahoragps>fechaejemplo1</fechahoragps>
<fechahorasistema>fechasistemaejemplo1</fechahorasistema>
<dato>inicio datoejemplo1</dato>
<latitud>latitudejemplo1</latitud>
<longitud>longitudejemplo1</longitud>
<idcontrolviaje>controlviajeejemplo1</idcontrolviaje>
<direccion>direccionejemplo1</direccion>
<tipodato>tipodatoejemplo1</tipodato>
<velocidad>velocidadejemplo1</velocidad>
<numeroplanviaje> numeroplanviaje1</numeroplanviaje>
</item>
<item>
<clave> claveejemplo2</clave>
<codigocliente> codigoclienteejemplo2</codigocliente>
<identificador> identificadorejemplo2</identificador>
<placa> placaejemplo2</placa>
<fechahoragps> fechaejemplo2</fechahoragps>
<fechahorasistema> fechasistemaejemplo2</fechahorasistema>
<dato> datoejemplo2</dato>
<latitud> latitudejemplo2</latitud>
<longitud> longitudejemplo2</longitud>
<idcontrolviaje> controlviajeejemplo2</idcontrolviaje>
<direccion> direccionejemplo2</direccion>
<tipodato> tipodatoejemplo2</tipodato>
<velocidad>velocidadejemplo2</velocidad>
<numeroplanviaje> numeroplanviaje1</numeroplanviaje>
</item>
</nodeppal>
2.7 ConsultarPlacasIdentificadorDataTable
Por medio de este método se realiza la de la operación consolidada de las n placas que tiene
asignada un usuario teniendo en cuenta el campo identificar, clave y la cantidad de registros
solicitados (n); recibe 4 parámetros los cuales son: UserName, Password, string Identificador,
strPlacas, NumReg..
• UserName: Parámetro de entrada de tipo string, donde se especifica el usuario con el cual el
cliente ingresa a la página de Satrack.
• strPlacas: Parámetro de entrada de tipo string, donde se especifican las placas que se desea
consultar. En caso de que el valor de este parámetro sea 0, el sistema retornara todas las
palcas asociadas al usuario.
• Tipofiltro: Parámetro de entrada de tipo string, donde se especifica el tipo de filtro los
cuales son: Grupo ó Placa y se complementa ingresando en el campo ValorFiltro.
• ValorFiltro: Parámetro de entrada tipo string donde se especifica el nombre del grupo o la
placa individual a consultar.
<nodeppal><item><Placa>AEB147</Placa><NombreRuta>057000011000001-
057000019000698-
000225</NombreRuta><RegionOrigen>BS_BOGOTA</RegionOrigen><RegionDestino>BS_SA
NTANDER DE QUILICHAO</RegionDestino><RegionRuta>BS_BOGOTA (CUNDINAMARCA) -
SANTANDER DE QUILICHAO (CAUCA) POR IBAGUE</RegionRuta><NumeroViaje>ebs-BOG-
116314</NumeroViaje><FechaHoraAsignacion>Aug 9 2016
12:21PM</FechaHoraAsignacion><FechaHoraInicio>Aug 9 2016
4:37PM</FechaHoraInicio><FechaHoraFin>Sin reporte</FechaHoraFin><DuracionReal>Sin
reporte</DuracionReal><DuracionEstimada>02D:15H:43M:35S</DuracionEstimada><Cumpl
imiento>Sin
reporte</Cumplimiento><ParadasRealizadas>0</ParadasRealizadas><TiempoTotalParadas>
Sin
reporte</TiempoTotalParadas><ExcesosDeVelocidad>0</ExcesosDeVelocidad><IngresoRegi
ones>0</IngresoRegiones><PausasRealizadas>0</PausasRealizadas><DuracionPausa>0</Du
racionPausa></item><item><Placa>AYK302</Placa><NombreRuta>057000076000520-
057000076000892-
001434</NombreRuta><RegionOrigen>BS_PALMIRA</RegionOrigen><RegionDestino>BS_Y
UMBO</RegionDestino><RegionRuta>BS_PALMIRA (VALLE) - YUMBO
(VALLE)</RegionRuta><NumeroViaje>ebs-YUMB-
59598</NumeroViaje><FechaHoraAsignacion>Aug 8 2016
7:21PM</FechaHoraAsignacion><FechaHoraInicio>Aug 8 2016
9:10PM</FechaHoraInicio><FechaHoraFin>Aug 8 2016
9:41PM</FechaHoraFin><DuracionReal>00D:00H:30M:54S</DuracionReal><DuracionEstima
da>00D:00H:30M:00S</DuracionEstimada><Cumplimiento>00D:00H:00M:54S</Cumplimien
to><ParadasRealizadas>0</ParadasRealizadas><TiempoTotalParadas>Sin
reporte</TiempoTotalParadas><ExcesosDeVelocidad>0</ExcesosDeVelocidad><IngresoRegi
ones>0</IngresoRegiones><PausasRealizadas>0</PausasRealizadas><DuracionPausa>0</Du
racionPausa></item><nodeppal>
2.9 ConsultarOperacionConsolidadoDataTable
http://webcloud.satrack.com/WebServiceControlTrafico/WSControlTrafico.asmx
4 Tablas de Códigos
Tabla 1.
Código Descripción
1 Ok
-1 La placa ingresada no existe
-2 La ruta ingresada no existe
-3 Problemas con la ruta
-4 La placa ingresada no esta asignada al usuario
-5 Vehículo no disponible
-998 Error inesperado, no se programo el itinerario
-999 El usuario y/o contraseña ingresados no son correctos
0/1 Disponible
-6 Itinerario cancelado exitosamente
-7 No se pudo cancelar el itinerario, intentelo nuevamente.
Paso 2.
Invocar el método que devuelve los datos desde el Servicio Web
try
{
//instanciamos la variable servicio como un objeto del tipo CLT
CT. WSControlTrafico ctWeb = new CT. WSControlTrafico();