Expresión HTTP

La Expresión HTTP se puede usar para incluir expresiones personalizadas en Reglas de Eventos. Esto se puede usar con datos en vivo o almacenados que luego se pueden usar en reportes.

Otra área de uso es obtener actualizaciones de posición en tiempo real de GpsGate a otro sistema.

Ejemplo de uso

GpsGate realizará una solicitud HTTP a una URL especificada por usted. La URL contiene información completa de tiempo, posición, variables e información del usuario. Su servicio responde si la expresión se evalúa como verdadera o falsa, y también puede incluir variables de notificación.

Por ejemplo, si tiene una base de datos de diferentes límites de velocidad para diferentes carreteras y desea una Regla de Eventos que genere una alarma si se supera un límite de velocidad específico. GpsGate realiza una solicitud HTTP para cada actualización de posición, su servicio realiza una búsqueda en la base de datos y devuelve verdadero o falso dependiendo de si se rompió el límite de velocidad o no.

Instalación

1. Vaya a Administración del sitio (legacy) > Plugins > Obtener más plugins

2. Instale Http Expression

3. Habilite HTTP Expression para su aplicación en Administración del sitio > Aplicaciones > [haga clic en su aplicación] > Privilegios y características

Lea aquí cómo acceder a los privilegios y características de la aplicación.

Configuración de la Regla de Evento

1. Dentro de la aplicación, cree una Regla de Evento

2. En el Paso 4, seleccione Http Expression.

mceclip0.png

3. Complete el campo Url.

Esta es la URL de su servicio web (por ejemplo, http://myserver.com/eventrule.php)

mceclip1.png

URL de solicitud

Este es un ejemplo de una URL de solicitud: 

http://myserver.com/eventrule.php?POS_LATITUDE=56.09899&POS_LONGITUDE=18&POS_ALTITUDE=0&POS_TIME=2012-12-11T20:49:18&POS_HEADING=180&POS_VALID=True&USER_USERNAME=1111&SIGNAL_SOS=False&SIGNAL_SPEED=0&SIGNAL_BARCODE=Driver1&Aircondition=True

Descripción de variables

POS_LATITUDE, POS_LONGITUDE está posicionado en grados decimales.
POS_TIME tiempo en UTC/GMT
POS_HEADING rumbo en grados. 0 es norte.
POS_VALID Verdadero si la posición estaba actualizada en POS_TIME.
USER_USERNAME usuario en GpsGate.
SIGNAL_SPEED velocidad en metros por segundo.
SIGNAL_BARCODE ejemplo de variable del mapeador de dispositivos.

Respuesta XML

Su servicio web debe responder con XML en el siguiente formato

<HttpExpression>
    <Result>1</Result>
</HttpExpression>

Resultado = 1 si la expresión es verdadera, y 0 si es falsa.

Pruebas

Utilice el botón "Probar configuraciones". Mostrará la URL de solicitud y la respuesta de su servicio web. Si hay algún error, estos se escribirán en texto claro.

Lea aquí cómo probar usando el simulador.

Funciones avanzadas

Métodos test/live/buffer/report

La URL de solicitud incluye una variable method= que puede ser test, live, buffer o report.

method=test - La solicitud se realizó usando el botón Probar configuraciones.
method=live - Mensaje en vivo de Gate desde el rastreador avanzando en el tiempo.
method=buffer - Datos almacenados en búfer desde el rastreador.
method=report - Modo de Reporte/Análisis.

Puede habilitar los métodos buffer y report en "Avanzado". Por defecto, esos métodos están deshabilitados.

Variables de notificador

Habilite "Soporte de notificaciones" en "Avanzado".

Ejemplo de XML de respuesta con una variable de notificación:

Código: Seleccionar todo

<HttpExpression>
    <Result>0</Result>
    <Notification>
        <Variable>
            <Name>Hello</Name>
            <Value>Hello World!</Value>
            <Type>System.String</Type>
        </Variable>
    </Notification>
</HttpExpression>

Manejo de errores

Si el servicio web se agota, devuelve un error HTTP o XML inválido, la conexión al rastreador se cerrará. Los rastreadores/protocolos que requieren un ACK típicamente reenviarán los mismos datos nuevamente hasta que tengan éxito.

Tiempo de espera y solicitudes paralelas

En Avanzado, configure "Tiempo de espera de solicitud", que es el tiempo antes de que GpsGate considere que la solicitud ha expirado. 
"Conexiones máximas" es el número de solicitudes paralelas que se permiten hacer a su servicio web.

Solicitudes asíncronas

Por defecto, HTTP Expression realizará la solicitud una vez que el mensaje llegue desde el activo. Si la solicitud falla, por ejemplo, si el servidor de terceros está caído o sobrecargado, entonces la conexión al activo se cierra. Si el rastreador tiene un mecanismo de reenvío, intentará reenviar el mensaje más tarde. Este modo es necesario para que HTTP Expression funcione como parte de una Regla de Evento en Vivo.

En caso de que no necesite que HTTP Expression sea parte de ningún evento en vivo, sino que solo lo use para enviar datos de seguimiento en vivo a un servidor de terceros, puede hacer que HTTP Expression envíe datos de manera asíncrona. Puede habilitar esto en las opciones "Avanzado". Si el servidor de terceros no responde, HTTP Expression reenviará la solicitud más tarde, pero la conexión al rastreador no se ve afectada.

Variables extra en la URL de solicitud

Puede agregar variables personalizadas a la URL del servicio. por ejemplo, http://myserver.com/eventrule.php?myvalue=6