Respuesta vacía del servicio web Django

He creado un servicio web en django y está alojado en un servidor compartido. El servicio web de django responde a la solicitud de un juego creado en unidad. Pero cada vez que el juego intenta solicitar una URL de servicio web de django, el servidor envía una resonse vacía. La respuesta es siempre:

Error WWW: el servidor devuelve una cadena vacía

El reproductor web de Unity espera que un archivo de política servido por http llamado "crossdomain.xml" esté disponible en el dominio al que desea acceder con la clase WWW, (aunque esto no es necesario si es el mismo dominio que aloja el archivo unity3d). Así que coloqué un archivo "crossdomain.xml" en la raíz de mi dominio, pero todavía recibo la misma respuesta vacía. Ayuda por favor ...

EDIT: Lo probé a través del navegador, mi servicio funciona bien y respondo con la respuesta adecuada.Y sabes lo que Mi juego puede comunicar al servicio web de django cuando ambos se ejecutan en la máquina local.Pero ahora el proyecto de django está alojado en el servidor real y cuando el juego intentó acceder servicio nunca obtiene respuesta :(

url.py

urlpatterns = patterns('',
    url(r'^crossdomain.xml$',views.CrossDomain),                   
    url(r'^ReadFile/$',views.ReadFile),
)

views.py

def CrossDomain(request):
    f = open(settings.MEDIA_ROOT+'jsondata/crossdomain.xml', 'r')
    data = f.read()
    f.close()
    return HttpResponse(data, mimetype="application/xml")

def ReadFile(request):
   f = open(settings.MEDIA_ROOT+'jsondata/some_file.json', 'r')
   data = f.read()
   f.close()
   return HttpResponse(data, mimetype="application/javascript")

def Test(request):
   return HttpResponse("Hello", mimetype="text/plain")

preguntado el 31 de enero de 12 a las 08:01

1 Respuestas

Como dije, usar django para esto es un poco exagerado porque podría simplemente servirlos. Sin embargo, apunte a un lado. Si está sirviendo en un servidor diferente, podría ser

A) Los problemas de conexión significan que su respuesta se pierde B) Los problemas del firewall significan que la solicitud significa algo C) El servidor no está configurado correctamente y, por lo tanto, solo obtiene un error.

Debe probar la respuesta en el servidor. también accede a la página en el servidor a través de su navegador. Si es así, haz que el juego haga una solicitud y verifique el error del servidor y los registros de acceso. En el registro de acceso de Apache debería ver algo como

OBTENGA "/ url" 200 cada vez que se realiza una solicitud.

Si no ve ninguna solicitud en curso, la solicitud no se ha realizado o se ha perdido. Si lo hace, entonces el problema está en el código en alguna parte.

Respondido 01 Feb 12, 02:02

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.