A continuacin explico brevemente un cdigo de ejemplo que nos permitira enviar datos parametrizados a un servicio web a
travs de los GET y POST METHODs.
Esta claro que las operaciones a continuacin podrian haberse implementado de otra forma, ms eficientes y seguras, pero dado el caracter didctico de este tutorial espero que de esta manera quede ms claro qu es lo que estamos haciendo. Es posible que los ejemplos no compilen o funcionen correctamente ya que los he escrito "al vuelo" pero si es as poneos en contacto conmigo y lo arreglar lo antes posible. Si no veis bien el cdigo (son imgenes y se salen por la derecha) haced click derecho en ellas y dadle a "abrir en pestaa nueva" o similiar, dependiendo de vuestro navegador; no las hago ms pequeas porque no se podran leer bien. Envo de parametros Mtodo GET Estamos acostumbrados a pasar parametros entre pginas de un mismo sitio web, pero a veces debemos pasar parametros desde el cdigo, por ejemplo desde una libreria de clases escrita en C#, a un servicio web alojado en un servidor remoto. Este cdigo implementa un mtodo que servira para enviar parametros a dicho servicio: Mtodo POST Igual que en el caso del mtodo GET, a menudo enviamos y recibimos datos de nuestros formularios en una aplicacin web mediante POST, pero a veces necesitamos enviar datos por POST METHOD a una pgina web que no forma parte de nuestro sitio (no forma parte de nuestra aplicacin web), que es un servicio web externo, o no queremos utilizar un Formulario de HTML para enviar los datos. mediante POST, pero a veces necesitamos enviar datos por POST METHOD a una pgina web que no forma parte de nuestro sitio (no forma parte de nuestra aplicacin web), que es un servicio web externo, o no queremos utilizar un Formulario de HTML para enviar los datos. A continuacin se muestra el mismo caso que hemos visto en el mtodo GET, pero enviando los datos por POST. Ejemplos Los comentarios permiten identificar fcilmente que operaciones se estan realizando, pero para dejar ms claro como se usara dejo a continuacin un ejemplo de llamada a este mtodo, donde estamos enviando al servidor remoto datos de una persona. Por supuesto en este ejemplo se asume que el servicio externo est esperando recibir un parametro 'nombre' y un parametro 'edad'. Recibir los parametros - Del lado del Servicio Web En la mayoria de los casos somos clientes de un Servicio Web, por lo que basta con saber enviar los parametros procesar la respuesta del servicio para consumir los recursos que el Servicio nos proporciona. Sin embargo podemos necesitar implementar un Servicio Web que atienda peticiones GET y POST, o tal vez sintamos simple curiosidad por saber como est recuperando la informacin que le hemos pasado. Por regla general, cuando nos comunicamos con un Servicio Web, este nos habilita un punto de acceso, y define un API REST al que accedemos empleando el protocolo HTTP; este API consigue que todos "hablemos el mismo idioma" por lo que resulta transparente para nosotros el servidor o el lenguaje en el que est programado el Servicio Web. Sin embargo, si somos nosotros quienes debemos implementarlo est claro que no es as. Dado que me he propuesto que en mi Distineo todos mis ejemplos estn en C#.Net, vamos a imaginarnos que es el lenguaje que usamos para crear nuestro Servicio Web. Si estuviesemos empleando MVC para generar el Servicio Web (opcin que recomiendo encarecidamente por las facilidades que nos proporciona el contexto del controlador y el Model Binder para crear un API slido y flexible) sera muy facil obtener los parametros de las solicitudes de las aplicaciones cliente, pues estas se transforman de forma "automtica" en los parametros de nuestras Acciones del controlador. Para complicar un poco ms el ejemplo y hacerlo ms completo voy a escribir el cdigo suponiendo que no estamos utilizando MVC, sino ASP .NET WebForms. En el caso de WebForms, para escuchar las solicitudes de nuestros clientes, bastara con crear una pgina .aspx y escribir en el code behind, en el evento Load(), la lgica que deba realizar dicha operacin. Sin embargo, el mtodo apropiado no es hacer una pgina web, sino un Handler .ashx. Estos manejadores se parecen mucho a una pgina, pero no tienen una interfaz de usuario, y se procesan mucho ms deprisa. Por otro lado, exigen un mayor conocimiento de la plataforma .Net y realizar algun retoque a la seccin Handlers del web.config. Esto dara para otro tutorial, as que vamos al grano, pues sea cual sea el mtodo elegido dispondremos del Context de la pgina actual y podremos utilizarlo para procesar los parametros. Mtodo GET Para obtener los parametros recibidos por GET y realizar una tarea, bastara con utilizar un mtodo como ste: Si nos fijamos, estamos esperando recibir un parametro con un valor entero 'edad' y un parametro de cadena de texto 'nombre', para que coincida con el ejemplo de envo de parmetros que veamos ms arriba. Mtodo POST Si hemos recibido los parmetros por POST, el cdigo equivalente se parece mucho al anterior, y sera ste: Y esto es todo, espero que os sirva de gua y que le saquis provecho. Ah, y si alguien propone mejoras o correcciones que no dude en enviarlas!