Problema de longitud de solicitud de publicación de http de Blackberry
Frecuentes
Visto 212 equipos
1
Tengo un programa de Blackberry que envía datos mediante solicitudes de publicación http a un backend. Ahora el código funciona perfectamente en mis simuladores (OS 5/6/7) e incluso en dispositivos reales, pero en algunos otros dispositivos en algunos países, la conexión falla al usar 3g con el código de error http 400 (Solicitud incorrecta) pero a través de WiFi es ok... Después de investigar, me di cuenta de que los proxies bis-b de esos operadores de telecomunicaciones estaban "bloqueando"/"rechazando" la solicitud de publicación debido al tamaño (>7kb). El problema es que no puedo acortar el tamaño de la solicitud, así que ¿alguna idea sobre cómo hacerlo? Cualquiera sería muy apreciado. Gracias
EDITAR Esta es la cadena de conexión utilizada cuando se conecta a través del BIS.
deviceside=false;connectionUID=GPMDSXXXX;ConnectionType=mds-public (XXXX varies from network to network)
En una inspección más detallada, me di cuenta de que las conexiones "en funcionamiento" usan el tipo BIS_B TransportDescriptor (5) para conectarse, mientras que las conexiones "fallidas" usan TCP_CELLULAR (1) para conectarse. es decir, llamando connectionDescriptor.getTransportDescriptor().getTransportType()
para las conexiones que funcionan da 5 y para las que fallan da 1. ¿Alguna idea de por qué podría estar sucediendo esto?
1 Respuestas
1
Intenta usar HTTPS. En este caso, el transportista no puede olfatear exactamente lo que está adentro.
Respondido 04 Jul 12, 14:07
Interesante, entonces, al usar https, ¿el operador ni siquiera "leerá" el tamaño de los datos? - Tío guay
Correcto. Podrían medir la cantidad de tráfico que va a una conexión específica. Pero no les da una imagen clara de lo que está pasando. - eugenio martinov
Anotado con agradecimiento. Estaba pensando en una publicación http de varias partes, ¿funcionaría? - Tío guay
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas blackberry or haz tu propia pregunta.
Entonces no use BIS y use TCP directo. - Mister Smith