2012-07-31 13 views
5

Tengo una aplicación de servicio web .net C# mvc3 desarrollada wirh visual web developer 2010. Llamo a los servicios web desde una aplicación movile de android. Quiero probar los servicios web, desde el emulador de eclipse. Cuando depuro la aplicación del servicio web, todo funciona bien llamando a los servicios desde el navegador web, pero cuando llamo desde la aplicación Android usando el emulador, obtengo "HTTP/1.1 400 Bad Request".visual web developer Servicio web sobre depuración HTTP/1.1 400 Bad Request

Lo curioso es que si publico la aplicación del servicio web en mi IIS local 7 todo funciona bien, aunque no puedo depurar el servicio.

cuando debig el servicio usando el desarrollador web visual de una página web aparece con una dirección de esa manera:

"http: // localhost: 1627/myservice.asmx/myMethod"

En mi androide aplicación que llamo el servicio con una URL así:

"http://10.0.2.2:1627/myservice.asmx/myMethod"

pero luego me sale el "HTTP/1.1 400 Bad Request"

Realmente agradecería cualquier ayuda.

gracias.

Respuesta

3

Según Cannot connect ASP.NET development server (VS2010) via IP address

El servidor de desarrollo de ASP.NET servirá páginas a las peticiones del navegador en el equipo local. No servirá páginas a otra computadora. Además, no servirá archivos que están fuera del alcance de la aplicación. El servidor de desarrollo ASP.NET proporciona una forma eficiente de probar páginas localmente antes de publicar las páginas en un servidor de producción que ejecuta IIS.

3

Para Visual Studio 2010 Siempre utilicé inetd, que es una herramienta de reenvío de puertos. Desde Visual Studio 2012 tengo este problema también. El problema es que solo se permiten llamadas locales en el servidor de desarrollo, incluso las llamadas proxy no funcionan a menos que cambie los encabezados de las solicitudes. He hecho algunas modificaciones a un servidor proxy simple existente que encontré en GitHub. Cambia la dirección IP en la url de solicitud a `localhost. Descargue el código here.


Encontré una solución mejor. Cuando tenga IIS Express instalado en su computadora, cree una nueva aplicación en IIS del directorio de su proyecto y asígnele un alias. Tenga en cuenta que el grupo de aplicaciones correcto está configurado y podrá navegar por su sitio a través del http://localhost/YourProject/. Cuando no puede conectarse desde otras computadoras, es probable que sea un problema de firewall.

Cuestiones relacionadas