Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Conversion de Unidades WS SOAP Javas PDF
Conversion de Unidades WS SOAP Javas PDF
Tutor
Ing. Eduardo Mauricio Campaña Ortega
MIS.MDU.CCNA.CCIA.
PhD. (c) Ingeniería de Software
PhD. (c) Seguridad Información
Fecha
19/05/2020
WEB SERVICE SOAP JAVA PARA CONVERSIÓN DE
UNIDADES
MARCO TEÓRICO ..........................................................................................................................2
ARQUITECTURA ORIENTADA A SERVICIOS ...............................................................................2
SOAP ....................................................................................................................................2
WSDL ....................................................................................................................................3
WEB SERVICE SOAP EN JAVA ........................................................................................................4
OBJETIVO..................................................................................................................................4
APLICACIÓN SERVIDOR .............................................................................................................4
CREACIÓN DEL PROYECTO ...................................................................................................4
ESTRUCTURA DE LA APLICACIÓN DEL SERVIDOR ................................................................5
CREACIÓN DEL WEBSERVICE................................................................................................5
PROBANDO EL SERVICIO....................................................................................................10
APLICACIÓN CLIENTE ..............................................................................................................11
CREACIÓN DEL PROYECTO .................................................................................................11
ESTRUCTURA ......................................................................................................................13
PRUEBAS ................................................................................................................................18
FUNCIONALIDAD ....................................................................................................................20
CONFIGURANDO DIRECCIONES IP .....................................................................................20
CONCLUSIONES ..........................................................................................................................22
BIBLIOGRAFÍA .............................................................................................................................22
1
MARCO TEÓRICO
SOAP
Es un protocolo estándar que define cómo dos objetos en diferentes procesos pueden
comunicarse por medio de intercambio de datos XML.
SOAP es un paradigma de mensajería de una dirección sin estado, que puede ser utilizado para
formar protocolos más completos y complejos según las necesidades de las aplicaciones que lo
implementan. Puede formar y construir la capa base de una "pila de protocolos de web
service", ofreciendo un framework de mensajería básica en el cual los web services se pueden
construir.
2
Este protocolo está basado en XML y se conforma de tres partes:
➢ Sobre (envelope): el cual define qué hay en el mensaje y cómo procesarlo.
➢ Conjunto de reglas de codificación para expresar instancias de tipos de datos.
➢ La Convención para representar llamadas a procedimientos y respuestas.
WSDL
WSDL, las siglas de Web Services Description Language, es un formato del Extensible Markup
Language (XML) que se utiliza para describir servicios web (WS). La versión 1.0 fue la primera
recomendación por parte del W3C y la versión 1.1 no alcanzó nunca tal estatus. La versión 2.0
se convirtió en la recomendación actual por parte de dicha entidad.
WSDL describe la interfaz pública a los servicios Web. Está basado en XML y describe la forma
de comunicación, es decir, los requisitos del protocolo y los formatos de los mensajes necesarios
para interactuar con los servicios listados en su catálogo. Las operaciones y mensajes que
soporta se describen en abstracto y se ligan después al protocolo concreto de red y al formato
del mensaje.
Así, WSDL se usa a menudo en combinación con SOAP y XML Schema. Un programa cliente que
se conecta a un servicio web puede leer el WSDL para determinar qué funciones están
disponibles en el servidor. Los tipos de datos especiales se incluyen en el archivo WSDL en forma
de XML Schema. El cliente puede usar SOAP para hacer la llamada a una de las funciones listadas
en el WSDL.
3
WEB SERVICE SOAP EN JAVA
OBJETIVO
❖ Desarrollar un Web Service básico para ilustrar los pasos generales para su creación.
❖ Mostrar como usar SOAPUI para probar un Web Service.
❖ Hacer una demostración de como crear un Web Service Client
APLICACIÓN SERVIDOR
6
Ilustración 8 diseño servicio web
Ahora agrega una nueva operación con add Operation y establece una operación para
transformar de pulgadas a centímetros que reciba como parámetro double y con tipo de retorno
double.
7
De la misma forma define el método para transformar de pulgadas a centímetros.
Una vez agregadas las operaciones regresa a la pestaña de source y tendrá un código como el
siguiente. Donde se pueden distinguir las anotaciones como @WebService que define a la clase
como un servicio web de nombre ConversionUnidades, @WebMethod que define los procesos
que podrán ser invocados desde el cliente utilizando el operationName, @WebParam que
define las propiedades enviadas al webservice.
El código queda de la siguiente manera:
8
Tabla 1. Codificación de los métodos u operaciones en el web service
package ec.edu.espe.controlador;
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.WebParam;
/**
*
* @author MONSTER
*/
@WebService(serviceName = "ConversionUnidades")
public class ConversionUnidades {
/**
* Web service operation
*/
@WebMethod(operationName = "pulgadasAcentimetros")
public double pulgadasAcentimetros(@WebParam(name = "pulgadas") double pulgadas) {
//TODO write your implementation code here:
return pulgadas*2.54;
}
/**
* Web service operation
*/
@WebMethod(operationName = "centimetrosApulgadas")
public double centimetrosApulgadas(@WebParam(name = "centimetros") double centimetros) {
//TODO write your implementation code here:
return centimetros/2.54;
}
}
9
PROBANDO EL SERVICIO
Para probar el servicio procede a dar click derecho en el mismo, creado en la carpeta de Web
Services y elegimos la opción Test Web Service.
Dentro del navegador desplegará la interfaz mediante la cual puede observar los parámetros
establecidos en los métodos y el botón con el nombre de la función.
Una vez que llene el formulario y da click en el botón podrá ver la respuesta del web service.
10
APLICACIÓN CLIENTE
11
Una vez creado el proyecto agregará un nuevo web service client como sigue:
URI:
http://localhost:8080/RMM_ConversionUnidadesSoap_Java_Server/ConversionUnidades?WS
DL
12
ESTRUCTURA
Se crean los paquetes de vista y controlador del cliente para realizar una arquitectura n-capa.
Ilustración 20 JFrame
13
La interfaz se diseña de la siguiente manera.
Ilustración 21 Interfáz
Para llamar a los métodos del webservice se utilizará la opción insert code -> Call web service
Operation, la cual creará el siguiente códgo.
14
Tabla 2. Codificación de la llamada a los métodos u operaciones en el web service desde el cliente
15
Ilustración 22 Llamada al servicio
Ilustración 23 Operaciones
Una vez implementados los métodos se procede a llamarlos desde la ventada, para ello se
utilizarán los siguientes métodos.
16
Tabla 3. Codificación de la llamada a los métodos u operaciones en el web service desde el cliente
17
PRUEBAS
Seleccionando la clase ConversionUnidadesControl la cual es la responsable de invocar al
webservice y devolver la respuesta, se crea una prueba unitaria con Junit, para ello va a dar click
derecho en la clase-> tools -> créate unit test
Dentro de la clase creada en la capa de pruebas se inserta el siguiente código como se muestra
en la Tabla 4
18
Tabla 4. Codificación de la CAPA de PRUEBAS
@Test
public void testPulgadasAcentimetros() {
System.out.println("pulgadasAcentimetros");
double pulgadas = 8.0;
ConversionUnidadesControl instance = new ConversionUnidadesControl();
double expResult = 20.32;
double result = instance.pulgadasAcentimetros(pulgadas);
assertEquals(expResult, result, 0.01);
// TODO review the generated test code and remove the default call to fail.
if (result != expResult)
fail("The test case is a prototype.");
}
/**
* Test of centimetrosApulgadas method, of class ConversionUnidadesControl.
*/
@Test
public void testCentimetrosApulgadas() {
System.out.println("centimetrosApulgadas");
double centimetros = 2.54;
ConversionUnidadesControl instance = new ConversionUnidadesControl();
double expResult = 1;
double result = instance.centimetrosApulgadas(centimetros);
assertEquals(expResult, result, 0.01);
// TODO review the generated test code and remove the default call to fail.
if (result != expResult)
fail("The test case is a prototype.");
}
19
FUNCIONALIDAD
Ilustración 26 Funcionalidad
CONFIGURANDO DIRECCIONES IP
Para realizar la siguiente prueba se configura al servidor con la siguiente dirección ip.
Ilustración 27 ip servidor
20
Una vez configurada la dirección se procede a desplegar el servicio web y verificar la
conexión desde el cliente.
Ilustración 28 cliente
Cambie los valores de la petición en la URI de manera que concuerde con la nueva ip y
corremos de nuevo la aplicación.
Ilustración 29 Funcionalidad
21
CONCLUSIONES
❖ Dentro de Java, es posible realizar un servicio SOAP con WSDL a través de un servidor de
aplicaciones Payara de manera sencilla y sin necesidad de dependencias exernas.
❖ El cliente de SOAP de puede realizar en cualquier implementación ya sea Java, .Net u otros
lenguajes que tengan la capacidad de realizar peticiones web.
BIBLIOGRAFÍA
[1] Creación de Servicios Web SOAP. (2019). Jtech.ua.es. Retrieved 15 October 2019, from
http://www.jtech.ua.es/j2ee/publico/servc-web-2012-13/sesion02-apuntes.html
[2] Aprende a crear WebServices con Java. (2016). Oscar Blancarte - Software Architecture.
Retrieved 15 October 2019, from https://www.oscarblancarteblog.com/2016/12/19/web-
services-con-java-jax-ws/
[3] Largo, E. (2018). Cómo crear un web services SOAP usando JAX-WS en Eclipse.
Programación Web Full Stack. Retrieved 15 October 2019, from
https://www.ecodeup.com/como-crear-un-web-services-soap-usando-jax-ws-en-eclipse/
22