En la entrada de hoy vamos a ver como conectar un servicio web de asp.net con node red.

Este es un ejemplo básico, próximamente veremos uno mas avanzado, pero con este ya se pueden hacer grandes cosas.

Para comenzar vamos a añadir un servicio web al proyecto web de asp.net, en este ejemplo usamos el proyecto web de ExControl.

Para ello en el explorador de soluciones pulsamos con el botón derecho del ratón, y en los diferentes menús seleccionamos añadir nuevo elemento, vea esta imagen como muestra.



En el siguiente cuadro de dialogo seleccionamos añadir servicio web ASMX y le damos un nombre, puede usar el nombre del ejemplo, pero recomendamos de uno propio, esto hace que su sistema sea diferente y por tanto mas seguro.

Tome esta imagen como muestra.




Una vez creado el servicio nos aparece un código por defecto, este sera igual al mostrado en la siguiente imagen.



Ahora modificamos el código, creando un método , el cual nos devolverá un valor, en este ejemplo devuelve el valor del primer circuito de la central numero cero, puede ajustar esto fácilmente cambiando el código, vea la modificación de código.



Ya tenemos el servicio listo, ahora vamos a ejecutarlo, para ello damos al botón play de visual studio o desde el menú Depurar seleccionamos continuar,

Esto nos abre el navegador web con la siguiente pagina que corresponde a la prueba del servicio.



Podemos ejecutar el servicio desde el navegador, navegando entres los enlaces que se nos ofrecen , para ver el resultado, como vemos en el ejemplo el valor de este circuito es uno, circuito encendido.



Con esto ya solo tenemos que configurar node red, lo abrimos y configuramos este ejemplo.


Como ve, es sencillo , solo necesita instalar un nodo adicional, este corresponde con node-red-contrib-soap, al que se le llama de forma continua cada segundo, puede ver mas información sobre el nodo en cuestión en el siguiente enlace.

https://www.npmjs.com/package/node-red-contrib-soap

Vamos a configura el nodo para soap, vera que es muy sencillo, solo tocamos dos opciones.

  • WSDL , En ella solo damos el enlace al servicio, tenga en cuenta que en este ejemplo se ha usado el servidor de desarrollo de visual studio, en servidor final tiene que ajustar el enlace y puerto correcto.
  • Method , damos el nombre del método (funcion) al que vamos a llamar dentro del servicio

Si le queda como en esta imagen lo tiene listo.




Compilamos y vemos la salida en la pestaña debug, en la ventana de depuración vemos esto (ver parte derecha de la proxima imagen).

ValorCircuitoResult: 1 }20/1/2019 12:22:04node: 1075be19.2953e2msg.payload : Object{ ValorCircuitoResult: 1

Como ven , cada segundo se nos esta dando el valor del circuito, De una manera sencilla tenemos el servicio integrado en node red.