Consumir un servicio web del ordenador local desde Windows Mobile

Muchos compañeros me han preguntado varias veces esta cuestión aparentemente sencilla, pero que a mí en su momento también me entretuvo bastante y por si a alguna otra persona le puede ayudar, lo quería dejar definitivamente escrito.

La situación es la siguiente. Vamos a realizar una aplicación para nuestro dispositivo móvil, la cual va a consumir un servicio web que estará corriendo, en un principio durante el testeo, en nuestro ordenador de desarrollo y al cual está conectado nuestra PDA o Smartphone.

Cuando agregamos la referencia web en nuestro proyecto de Visual Studio de Smart Device, la cual apunta al otro proyecto de Web Service en la misma solución, tenemos una referencia local tal que:

http://localhost:49217/WebServiceName/Service.asmx

image

Al ejecutar esto en el dispositivo móvil, él entiende que localhost es él, y que ahí no está corriendo el servicio que le indicamos, por lo que se producirá un error. Por tanto, una vez que nos damos cuenta de ello, el siguiente paso que habitualmente se nos ocurre, y que es lo más natural, es cambiar en la ventana de propiedades que antes mostrábamos la Web Reference URL, e indicarle una IP de alguna interfaz de red de nuestro ordenador, por ejemplo:

image

No obstante, al hacerlo desde la ventana de propiedades lo más que obtenemos es lo siguiente:

image

¿Y ahora qué? Ahora viene una posible solución. En lugar de establecer esta última IP en la ventana de propieades de forma visual, nos iremos al fichero Reference.cs que se encuentra en el siguiente directorio:

…..NuestroSmartDeviceProjectWeb ReferencesWebServiceNameReference.cs

image

Y en el constructor de la clase contenida Service, veremos que se inicializar una propiedad llamada URL. Ésta asignación es la que debemos cambiar, y sustituir localhost por la IP deseada:

image

image

Esta tarea es la que se supone que tendría que hacer VS cuando modificamos la URL desde la ventana de propiedades.

4 comentarios sobre “Consumir un servicio web del ordenador local desde Windows Mobile”

  1. Hola Mario, perdona que no te haya contestado antes, pero creía que tenía los avisos activados….
    Podría ser esa IP por ejemplo u otra cualquiera de tus adaptadores de red activos.
    Un saludo!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *