En una ocasión un viejo amigo, estaba programando unas aplicaciones con .Net y Sockets, y necesitaba poder invocar un WebServices desde un procedimiento almacenado.
En este articulo compartire esa experiencia, para que otros programadores puedan aprender a invocar un WebServices enviándole parámetros desde un Store Procedure.
1. Creamos Nuestro Proyecto WebServices en Visual Studio.
2. Luego procedemos a crear los métodos que vamos a utilizar en nuestro servicio, en mi caso cree 6 métodos que son: Saludar(string Param1) y este espera un String como parámetro, HelloWord() este no espera ningún parámetro, y los métodos Add, Substract, Proliferation y Divide (int Num1, int Num2) esperan 2 números enteros como parámetros.
3. Procedemos a crear nuestro procedimiento almacenado que tendrá todo el código para invocar el WebServices que acabamos de crear, como en todos mis artículos la base de datos que utilizo es AdventureWorks, que es la base de datos de prueba que trae SQL Server.
4. Luego Publicamos el Servicio Web en nuestro IIS
5. Procedemos a Codificar nuestro Store Procedure con los Datos de Nuestro Servicio Web.
6. En el procedimiento que Creamos, le pasamos un parámetro que es el Parámetro que esta esperando el Método Saludar(), si desean utilizar los otros métodos, deberán crear otro parámetro pues como les mencione anteriormente los otros métodos están esperando 2 parámetros tipo enteros.
Algo también que es muy importante cuando utilizando los procedimientos Almacenados SP_OAMethod este espera el método POST o GET, por defecto casi siempre le enviamos POST, pero si le enviamos este método, no podremos visualizar la lectura del XML que genera nuestro Servicio Web, por lo cual debemos utilizar el Método GET.
7. Procederemos a Probar Nuestro Servicio Web, a través de nuestro navegador, escribimos la dirección del IIS donde esta publicado nuestro Servicio Web. http://localhost/WebServices/Service1.asmx , en el mismo aparecerán todos los métodos que tengamos creados en nuestro Servicio Web.
8. Seleccionamos el Método que vamos a Utilizar e Invocar desde nuestro Procedimiento Almacenado, Saludar(). Luego procedemos a escribir el parámetro que deseamos pasarle al Servicio Web, luego de esto cliqueamos en Invoke.
9. Luego de esto se nos abrirá otra pagina de nuestro navegador, con la información contenida en XML y el parámetro que escribimos.
10. Procedemos a Ejecutar el Procedimiento Almacenado que acabamos de crear para invocar nuestro Servicio Web.
11. Luego de ejecutar nuestro procedimiento y enviarle nuestro parámetro obtendremos el mismo resultado que obtuvimos cuando lo ejecutamos a través de nuestro navegador.
Miren la comparación y notarón que es el mismo resultado.
RSS FEED
TWITTER
12:33 p. m.
Omar Frometa













Posted in
3 Response to "Llamar un WebServices desde un Store Procedure"
http://www.codeproject.com/Articles/428200/How-to-invoke-a-Web-Service-from-a-Stored-Procedur
Gracias muy buen foro
Publicar un comentario