Web Service JAVA ,Cliente C#

Servicio Java, Cliente C#



En esta ocasión se va explicar como crear un Servicio Web en JAVA Netbeans y consumir este servicio desde un lenguaje diferente como el de C#.
Para este pequeño ejemplo se realizara una aplicación que resuelva Operaciones matemáticas con fracciones.
Listos empecemos...

Primero ejecutamos  el Netbeans,estoy usando  la versión 8.2, y creamos un nuevo proyecto de tipo web aplicattión.
Definimos el nombre de nuestro proyecto y el lugar donde se va a crear lo dejamos por defecto.
Seleccionamos el tipo de servidor con el que se ejecutara nuestro servicio por defecto Netbeans, tiene sus propios servidores Tomcat y GlassFish podemos seleccionar cualquiera de los dos en mi caso seleccionare GlassFish.
Ya con nuestro proyecto creado damos clic derecho sobre el proyecto seleccionamos la opción de Web Service.

En el proyecto creado creamos toda la lógica de nuestra aplicación.

La clase Fracción
   package servicio;
   
   public class Fracciones {
   
       private int numerador;
       private int denominador;
   
       public Fracciones() {
   
      }
  
      public Fracciones(int numerador, int denominador) {
          this.numerador = numerador;
          this.denominador = denominador;
      }
  
      //METODO PARA SUMAR FRACCIONES
      public Fracciones Suma(Fracciones a, Fracciones b) {
          int num = a.getNumerador() * b.getDenominador()
                  + b.getNumerador() * a.getDenominador();
          int den = a.getDenominador() * b.getDenominador();
          Fracciones res = new Fracciones(num, den);
          return res.simplificar();
      }
  
      //METODO PARA RESTAR FRACCIONES
      public Fracciones Resta(Fracciones a, Fracciones b) {
          int num = a.getNumerador() * b.getDenominador()
                  + b.getNumerador() * a.getDenominador();
          int den = a.getDenominador() * b.getDenominador();
          Fracciones res = new Fracciones(num, den);
          return res.simplificar();
      }
  
      //METODO PARA MULTIPLICAR FRACCIONES
      public Fracciones Producto(Fracciones a, Fracciones b) {
          int num = a.getNumerador() * b.getNumerador();
          int den = a.getDenominador() * b.getDenominador();
          Fracciones res = new Fracciones(num, den);
          return res.simplificar();
       }
  
        //METODO PARA DIVIDIR FRACCIONES
        public Fracciones Divicion(Fracciones a, Fracciones b) {
            int num = a.getNumerador() * b.getDenominador();
            int den = a.getDenominador() * b.getNumerador();
            Fracciones res = new Fracciones(num, den);
            return res.simplificar();
        }
    
        //METODO PARA SIMPLIFICAR FRACCIOCINES
        private int mcd() {
            int u = Math.abs(getNumerador());
            int v = Math.abs(getDenominador());
            if (v == 0) {
                return u;
            }
            int r;
            while (v != 0) {
                r = u % v;
                u = v;
                v = r;
            }
            return u;
        }
    
        //METODO PARA PASAR LOS NUMEROS SIMPLIFICADOS A FRACCIONES
        public Fracciones simplificar() {
            int dividir = mcd();
            setNumerador(getNumerador() / dividir);
            setDenominador(getDenominador() / dividir);
            return this;
        }
    
        /**
         * @return the numerador
         */
        public int getNumerador() {
            return numerador;
        }
    
        /**
         * @param numerador the numerador to set
         */
        public void setNumerador(int numerador) {
            this.numerador = numerador;
        }
    
        /**
         * @return the denominador
         */
        public int getDenominador() {
            return denominador;
        }
  
        /**
       * @param denominador the denominador to set
         */
         public void setDenominador(int denominador) {
         this.denominador = denominador;
       }
 
   }

La Clase que contiene el Servicio



Con esto ya tenemos la parte de nuestro servidor en Java, a continuación procedemos a consumir este servicio desde C#,  para lo cual procedemos con los siguientes pasos.

Consumir servicio desde C#

Ejecutamos nuestro Visual Studio y creamos un proyecto nuevo para lo cual nos dirigimos a la barra de herramientas archivo -> Nuevo - > Proyecto -> Visual C# ->Windows y seleccionamos la aplicación de tipo  Aplicación de Windows Forms

Se mostrara una plantilla para colocar los componentes de nuestra aplicación de forma que sea sencilla de usar por parte de un usuario común
La interfaz para la aplicación ha quedado de la siguiente forma.
En la parte derecha del proyecto se muestran varios archivos del proyecto, en el primer archivo damos clic derecho y seleccionamos la opción ClienteFracción (Nombre del proyecto), y seleccionamos la opción Agregar referencia de Servicio
Con el WSDL  que se obtuvo al realizar el test de nuestro servicio hecho en java, copiamos la url de la pagina y lo pegamos en la referencia.
Ahora ya podemos utilizar los medos que se encuentran en JAVA, tan solo importamos y creamos los objetos a consumir y listo.

En esta imagen se muestra el código para conectar con el servicio de JAVA y la creación de objetos de tipo fracción para proceder con la parte lógica de nuestra aplicación que calculara la suma de dos Fracciones.
Como resultado tenemos el Cliente echo en C# que consume un servicio desde JAVA, esto ha sido una breve explicación de la creación de un Web Service en java .



Comentarios

Entradas populares de este blog

Introducción a la metodología RAD

Sistema Clinico con PhpMaker

Lenguaje de Programación Avanzada