15
Instituto Tecnológico de Mexicali Asignatura: SOA Profesor: Juan Francisco Ibañez Salas Practica Servlet Alumno: Erick Zúñiga Higuera Fecha: 09 de Mayo de 2015

Manual Webservice

Embed Size (px)

DESCRIPTION

Como crear un webservice en Netbeans usando glassfish

Citation preview

Page 1: Manual Webservice

Instituto Tecnológico deMexicali

Asignatura:SOA

Profesor:Juan Francisco Ibañez Salas

PracticaServlet

Alumno:Erick Zúñiga Higuera

Fecha:09 de Mayo de 2015

Page 2: Manual Webservice

El servicio web realizado para la práctica es un conversor de unidades, el cual transformade kilogramos a slugs, así también como de metros a pies y newtons a libras.

El servicio web se conforma de tres proyectos, los cuales son:

Para que nuestro servicio web funcione es necesario crear los proyectos Servidor yCliente, por lo cual dentro del IDE Netbeans se tendrá que crear el proyecto, así quecreamos un nuevo proyecto y seleccionamos Java Web>Web Application y presionamosel botón Next

Page 3: Manual Webservice

Ya realizado lo anterior será necesario darle un nombre a nuestro proyecto, en este casoserá Servidor, ya que es el primer proyecto a crear.

en cuanto a el proyecto conversor de unidades este realizara las operaciones dentro delservidor, por lo cual es necesario que dicho proyecto este importado en él, en cuanto elservidor solo servirá de intermediario con el usuario para atender su petición y regresarlos resultados de las operaciones.

Como se menciono con anterioridad es necesario importarlo en la parte de las librerías delproyecto Servidor.

Page 4: Manual Webservice

Lo siguiente a hacer es crear un paquete que se llame servicios dentro de la carpeta“source package”, el cual contendrá una clase JAVA con las operaciones de nuestroservicio web.

Ahora crearemos el servicio Web dentro de la carpeta Web Services.

Page 5: Manual Webservice

Una vez creado el web service podremos ver lo siguiente:

Al crear el web service dentro de la carpeta Web Services, se crea automáticamente unaclase JAVA con el mismo nombre dentro del paquete servicios; lo siguiente a realizar eseliminar la operación que tiene el web service creado por default y agregar los delproyecto conversor de unidades.

Page 6: Manual Webservice

Ya una vez eliminado la operación que se tiene por default se agregaran las operacionesdel conversor de unidades de la siguiente manera:

Cambiamos del modo Design a modo source

Una vez en source podremos copiar el siguiente código:

import javax.jws.WebService;import javax.jws.WebMethod;import javax.jws.WebParam;import lib.Conversiones;

@WebService(serviceName = "Servidor")public class Servidor {

@WebMethod(operationName = "KGaSLUGS")public double KGaSLUGS(@WebParam(name = "KG") double KG) {

//TODO write your implementation code here:return Conversiones.getSlug(KG);

}

@WebMethod(operationName = "MtsaPies")public double MtsaPies(@WebParam(name = "MtsaPies") double MtsaPies) {

//TODO write your implementation code here:return Conversiones.getPies(MtsaPies);

}

/*** Web service operation*/@WebMethod(operationName = "NewtonsaLibras")public double NewtonsaLibras(@WebParam(name = "NewtonsaLibras") double

NewtonsaLibras) {//TODO write your implementation code here:return Conversiones.getLibras(NewtonsaLibras);

}

}

Page 7: Manual Webservice

Lo anterior nos servirá para poder realizar las operaciones dentro del servlet, las cualeslas toma del proyecto Conversor de unidades.

Ahora debemos crear una nueva aplicación web, pero esta vez la llamaremos Cliente.

En dicha aplicación web haremos lo siguiente:

a) Dentro de la carpeta Web Pages existe un archivo llamado index.html, así que loabriremos y escribiremos el siguiente código:

Page 8: Manual Webservice

El código anterior es un formulario, el cual recibirá el valor de las unidades a transformary nos envía un resultado de dicha operación.

b) Dentro de la carpeta Source Package crearemos los siguientes paquetes:

c) Crear un Web Service de referencia dentro de la Cliente

Page 9: Manual Webservice
Page 10: Manual Webservice

Lo anterior dará como resultado lo siguiente:

d) Crear dentro del paquete service una clase JAVA llamada WService, la cualcontendra el siguiente código:

public static double kGaSLUGS(double kg) {servicios.Servidor_Service service = new servicios.Servidor_Service();servicios.Servidor port = service.getServidorPort();return port.kGaSLUGS(kg);

}

public static double mtsaPies(double mtsaPies) {servicios.Servidor_Service service = new servicios.Servidor_Service();servicios.Servidor port = service.getServidorPort();return port.mtsaPies(mtsaPies);

}

public static double newtonsaLibras(double newtonsaLibras) {servicios.Servidor_Service service = new servicios.Servidor_Service();servicios.Servidor port = service.getServidorPort();return port.newtonsaLibras(newtonsaLibras);

}

e) Crear dentro del paquete uno tres clases JAVA llamadas WService, la cual contendrael siguiente código:

Page 11: Manual Webservice

KGaSLUGS

import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import service.WService;

@WebServlet(name = "KGaSLUGS", urlPatterns = {"/KGaSLUGS"})public class KGaSLUGS extends HttpServlet {

protected void processRequest(HttpServletRequest request,HttpServletResponse response)

throws ServletException, IOException {response.setContentType("text/html;charset=UTF-8");try (PrintWriter out = response.getWriter()) {

/* TODO output your page here. You may use followingsample code. */

out.println("<!DOCTYPE html>");out.println("<html>");out.println("<head>");out.println("<title>Servlet KGaSLUGS</title>");out.println("</head>");out.println("<body>");double

KG=Double.parseDouble(request.getParameter("KG"));double SLUGS=WService.kGaSLUGS(KG);out.println(KG+" Kilogramos son: "+SLUGS+" slugs");out.println("</body>");out.println("</html>");

}}

Page 12: Manual Webservice

MtsaPies

import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import service.WService;

@WebServlet(name = "MtsaPies", urlPatterns = {"/MtsaPies"})public class MtsaPies extends HttpServlet {

protected void processRequest(HttpServletRequest request,HttpServletResponse response)throws ServletException, IOException {

response.setContentType("text/html;charset=UTF-8");try (PrintWriter out = response.getWriter()) {

/* TODO output your page here. You may use following sample code. */out.println("<!DOCTYPE html>");out.println("<html>");out.println("<head>");out.println("<title>Servlet MtsaPies</title>");out.println("</head>");out.println("<body>");double MT=Double.parseDouble(request.getParameter("MT"));double PIES=WService.mtsaPies(MT);out.println(MT+" Metros son: "+PIES+" pies");out.println("</body>");out.println("</html>");

}}

Page 13: Manual Webservice

NewtonsaLibras

import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import service.WService;

@WebServlet(name = "NewtonsaLibras", urlPatterns ={"/NewtonsaLibras"})

public class NewtonsaLibras extends HttpServlet {

protected void processRequest(HttpServletRequest request,HttpServletResponse response)

throws ServletException, IOException {response.setContentType("text/html;charset=UTF-8");try (PrintWriter out = response.getWriter()) {

/* TODO output your page here. You may use followingsample code. */

out.println("<!DOCTYPE html>");out.println("<html>");out.println("<head>");out.println("<title>Servlet NewtonsaLibras</title>");out.println("</head>");out.println("<body>");double

N=Double.parseDouble(request.getParameter("N"));double LIBRAS=WService.newtonsaLibras(N);out.println(N+" Newtons son: "+LIBRAS+" libras");out.println("</body>");out.println("</html>");

}}

f) Una vez realizado los pasos anteriores debemos correr los index.html del servidor ydel cliente, para que estos se publiquen y puedan ser usados correctamente.

Page 14: Manual Webservice

Ya que se corran ambos archivos html podremos ver lo siguiente:

Page 15: Manual Webservice