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.

Resumen final de la Imagine Cup 2008 en España

Este pasado miércoles 16 de Abril defendimos los proyectos finalistas de la 6ª edición del concurso de la Imagine Cup. Durante el  evento, que tuvo lugar en el salón de actos de la Universidad Politécnica de Madrid, se presentarón cinco proyectos con diferentes enfoques, aunque un mismo objetivo: un medio ambiente sostenible. Realmente, todo los proyectos fueron de apreciar y estuvimos con los nervios de punta hasta el último momento, donde el jurado tuvo que tomar la decisión final (no me hubiuera gustado estar en su lugar):

Primer premio: Windows Drive

Enhorabuena Miguel, Carlos, David y Héctor!! A ver si me traeis algo de París!!

Segundo premio: Interactive EcoPanels by RFID

Tercer premio: Intelligent Garbage Collector

Cuarto y quinto puesto: Green teacher y Prevención de incendios

 Mi compañero Ricardo Tesoriero y un servidor estamos muy contentos de haber tenido esta oportunidad y obtener el segundo puesto, además de las partidas que ahora nos vamos a echar a la Xbox…jeje :). Ambos queríamos darle un agradecimiento a nuestro compañero Javier Cantón, el cual nos apoyo y aportó gran experiencia.

Os dejo por aquí una «fotico» de recuerdo y un brevísimo video resumen:

VIDEO RESUMEN

 Imagine Cup Paneles