GetUserToken desde nuestro servidor llega
íntegro y bien formado al servicio de Recurso Confiable (el propio servicio nos devuelve el usuario
recibido, sin alteración, en message_args). La respuesta es SQL:USERUNK, code 2004,
que según la página 13 del documento de integración significa "Usuario no encontrado" — un error
distinto al de contraseña incorrecta. Conclusión: el usuario wm_10653_folowme no se encuentra
activo en la base de datos que consulta el servicio público
gps.rcontrol.com.mx/Tracking/wcf/RCService.svc. Todo lo verificable del lado del prestador
fue auditado y se documenta abajo, con los comandos para reproducir cada prueba.
| # | Verificación | Método | Resultado |
|---|---|---|---|
| 1 | Endpoint correcto según documentación (pág. 3) | Comparación literal + WSDL | CORRECTO el WSDL público declara exactamente http://gps.rcontrol.com.mx/Tracking/wcf/RCService.svc y soapAction http://tempuri.org/IRCService/GetUserToken |
| 2 | Credenciales sin espacios, tabs o caracteres invisibles | Auditoría byte por byte (códigos ASCII de cada carácter) | LIMPIAS usuario 16 chars, contraseña 14 chars, 100% ASCII imprimible |
| 3 | Resolución DNS (descartar servidor viejo/caché) | 3 resolvers independientes (local, Google 8.8.8.8, Cloudflare 1.1.1.1) | CONSISTENTE los tres devuelven 136.119.36.152 |
| 4 | Proxies o intermediarios en la salida | Inspección de ambiente + cabeceras de respuesta | NINGUNO conexión directa; la respuesta viene de la aplicación WCF sin CDN/WAF intermedio |
| 5 | Formato del XML y del protocolo | Se reprodujo el envelope de SoapUI del equipo de RC byte por byte (incluidos los comentarios <!--Optional:-->), SOAPAction con y sin comillas, cabeceras idénticas a SoapUI |
EQUIVALENTE misma respuesta en todas las variantes |
| 6 | Variante HTTPS (pág. 3 indica https) | POST a https://gps.rcontrol.com.mx/... |
404 el binding del servicio solo responde por http; incluso el WSDL servido por https declara la dirección http |
| 7 | ¿La petición llega íntegra al servicio? | Lectura de message_args en la respuesta del propio servicio |
SÍ el servicio devuelve wm_10653_folowme tal cual, sin corrupción — la petición llega perfecta hasta su capa de datos |
| Usuario | Contraseña | Respuesta del servicio | Lectura según doc. pág. 13 |
|---|---|---|---|
wm_10653_followme (doble L) | NSTT_•••••••$2 | CGI:USERUNK · 4020 | rechazo en capa de entrada |
wm_10653_followme (doble L) | wNQx_•••••••$9 | CGI:USERUNK · 4020 | rechazo en capa de entrada |
wm_10653_folowme (una L) | NSTT_•••••••$2 | SQL:USERUNK · 2004 | "Usuario no encontrado" — la única combinación que llega hasta la consulta en base de datos (layer=SQL) |
wm_10653_folowme (una L) | wNQx_•••••••$9 | CGI:USERUNK · 4020 | rechazo en capa de entrada |
Contraseñas enmascaradas por seguridad (el equipo de RC las conoce). El cambio de capa
CGI → SQL con el usuario de una sola L indica que esa es la forma registrada del usuario,
y que el flujo completo funciona — hasta que la base no lo encuentra.
Petición enviada (25-ago-2026 12:00 CDMX, desde IP 207.244.239.84):
POST http://gps.rcontrol.com.mx/Tracking/wcf/RCService.svc Content-Type: text/xml; charset=utf-8 SOAPAction: "http://tempuri.org/IRCService/GetUserToken" <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/"> <soapenv:Header/> <soapenv:Body> <tem:GetUserToken> <tem:userId>wm_10653_folowme</tem:userId> <tem:password>NSTT_•••••••$2</tem:password> </tem:GetUserToken> </soapenv:Body> </soapenv:Envelope>
Respuesta recibida (íntegra, sin editar):
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Body> <GetUserTokenResponse xmlns="http://tempuri.org/"> <GetUserTokenResult xmlns:a="http://schemas.datacontract.org/2004/07/IronTracking" ...> <a:exception xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <b:Key>key</b:Key> <b:Value>SQL:USERUNK</b:Value> <b:Key>code</b:Key> <b:Value>2004</b:Value> <b:Key>severity</b:Key> <b:Value>User</b:Value> <b:Key>layer</b:Key> <b:Value>SQL</b:Value> <b:Key>message</b:Key> <b:Value>Autentificación incorrecta (Usuario, Contraseña o Token).</b:Value> <b:Key>message_args</b:Key> <b:Value>wm_10653_folowme</b:Value> ← el usuario llegó ÍNTEGRO </a:exception> <a:token i:nil="true"/> ...
SQL:USERUNK → "Usuario 'usuario' no encontrado".
Es una clave distinta a "Contraseña y/o usuarios incorrectos": el servicio buscó el usuario y no lo halló.message_args devolviendo el usuario consultado.wm_10653_folowme genera token en las pruebas
internas del equipo de RC, pero el servicio público responde "usuario no encontrado" a peticiones externas
que llegan íntegras. Sugerimos revisar si el alta del usuario está activa/sincronizada en la base de datos
que consulta el servicio público, o si existe un paso de activación pendiente (ambiente, réplica o vigencia).Desde cualquier terminal con curl (sustituir LA_CONTRASEÑA):
curl -s http://gps.rcontrol.com.mx/Tracking/wcf/RCService.svc \ -H "Content-Type: text/xml; charset=utf-8" \ -H 'SOAPAction: "http://tempuri.org/IRCService/GetUserToken"' \ --data '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/"><soapenv:Header/><soapenv:Body><tem:GetUserToken><tem:userId>wm_10653_folowme</tem:userId><tem:password>LA_CONTRASEÑA</tem:password></tem:GetUserToken></soapenv:Body></soapenv:Envelope>'
Ejecutado dentro de la red de RC vs desde internet, este mismo comando permite comparar en segundos si el comportamiento depende del origen o del estado del usuario en base.
| Dato | Valor |
|---|---|
| IP de origen del prestador (fija) | 207.244.239.84 |
| Fecha/horas de los intentos | 25-ago-2026 · 11:05, 11:08, 11:10, 11:20–11:50 y 12:00 hrs CDMX |
| Método consumido | GetUserToken (SOAP 1.1, Content-Type text/xml) |
| Usuarios probados | wm_10653_folowme y wm_10653_followme |
| Estado del prestador | Integración terminada y certificada internamente (validación por unidad, bitácora de request/response conforme al Anexo 2, reintentos de token). Lista para transmitir 24/7 en cuanto el token sea otorgado. |