Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web
Servicios Web y Arquitecturas REST
31 de enero de 2015 Página 1 de 14
Manual de creación y uso de Web Service SOAP
REQUERIMIENTOS PREVIOS
Se requiere instalar el IDE NetBeans 8.0.2, para lo cual se debe ir
al sitio web https://netbeans.org/ y descargar el paquete “Java EE”
o el paquete “All”, ya que son los que incluyen el servidor web de
aplicaciones GlassFish, JEE (para usar jsp), y HTML, todos ellos
necesarios para realizar la creación del webservice.
De no contar con JDK (Java Development Kit), debe ser instalado
previo a la instalación de NetBeans, ya que es el que provee las he-
rramientas de desarrollo para éste IDE. JDK se puede descargar
desde www.oracle.com donde también hay disponible una versión de NetBeans que incluye JDK.
1. CREACIÓN DE UN SERVICIO WEB
1.1. Creación del nuevo proyecto
Una vez abierto NetBeans se
debe crear un nuevo proyecto el
cual contendrá el sitio web de la
aplicación y el servicio web.
Para ello se debe dirigir al menú
superior y dar clic en “File”,
posteriormente dar clic en “New
Project…” lo cual abrirá un cua-
dro de diálogo.
Ya que lo que se pretende es
realizar un servicio web, al crear
el proyecto, en el primer paso
(Elección del proyecto) se debe
elegir la categoría “Java Web” y del lado derecho, en
tipos de proyectos seleccionar “Web Application”. Una
vez hecho esto es necesario dar clic en el botón [Next]
para continuar con el proceso.
Este manual será guiado usando como ejemplo un gene-
rador de CURP para ciudadanos mexicanos, equivalente
al DNI en otros países. Así pues, para el segundo paso
Pantalla 1. Inicialización de NetBeans
Pantalla 2. Creación de un nuevo proyecto
Pantalla 3. Elección de tipo de proyecto a crear
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web
Servicios Web y Arquitecturas REST
31 de enero de 2015 Página 2 de 14
de la creación del proyecto, se deben escribir
el nombre que se le designará al proyecto
para que el usuario lo identifique mejor, en
este caso se nombrará como “Generador-
CURP”. Opcionalmente se puede definir
otra ubicación para guardar el proyecto
usando el botón [Browse…], teniendo en
cuenta el cambio de ruta no afectará al pro-
yecto. Así mismo, al crear el servicio web se
producirán dependencias de librerías, y en
caso de que se desee ubicarlas en una carpeta
en específico habrá que activar e indicar la
ubicación para almacenarlas. Una vez de-
finidos los parámetros deberá darse clic en el botón [Next >].
El tercer paso se debe definir el ser-
vidor sobre el que se ejecutará el servicio web
así como la versión de Java EE que se desee
usar para el desarrollo. Si se emplea la última
versión de NetBeans se pueden emplear los
valores por defecto, es decir, servidor web
“GlasFish Server 4.1” y la plataforma “Java
EE 7 Web” y dar clic en el botón [Next >].
En el cuarto y último paso se debe in-
dicar si se desea emplear un framework para
el desarrollo del proyecto, pero ya que este
manual aborda un ejemplo básico, no es ne-
cesario hacer la selección de ninguno de ellos, con lo cual se puede dar clic en el botón [Finish] para
que comience la generación del proyecto, es decir, la estructura de carpetas y archivos esenciales
necesarios del proyecto. Una vez finalizada la creación del proyecto, deberá aparecer el proyecto
recién creado en el panel izquierdo dentro de la pestaña “Projects”.
Pantalla 4. Nombrar y establecer ubicación del proyecto
Pantalla 5. Selección de frameworks del nuevo proyecto
Pantalla 6. Creación del proyecto en proceso Pantalla 7. Despliegue de proyecto recién creado
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web
Servicios Web y Arquitecturas REST
31 de enero de 2015 Página 3 de 14
1.2. Creación del nuevo servicio web
A continuación se creará el servicio web. Para
ello será necesario dar clic derecho sobre el proyecto,
y en el menú contextual desplegado deberá posicio-
narse sobre “New” y en el submenú dar clic en la op-
ción “Web Service…”, lo cual hará que se abra un cua-
dro de diálogo con un Wizard para crearlo.
En el asistente deberá especificarse un nombre
para el servicio web, y atendiendo a recomendación de
internacionalización e interoperabilidad, para
este ejemplo se colocará el nombre “CURPGe-
nerator”; también se solicitará un nombre de
paquete para guardar el servicio web, para ello
se usará el nombre “CURPWebService” y el
cual será almacenado en la carpeta del mismo
proyecto.
Adicionalmente aparece la opción para
crear un servicio web intermediario, es decir,
que se conecte a otro servicio web, para ello se
debería elegir la opción “Create Web Service
from Existing Session Bean”; y también aparece
la casilla “Implement Web Service as Stateless
Session Bean” que servirá para hacer que sea un servicio web sin estado. Para este ejemplo básico no
se seleccionarán ninguna de estas opciones, por lo que simplemente deberá darse clic sobre [Finish].
Ello provocará que se genere el nuevo paquete y al proyecto se agregue un nuevo elemento llamado
“Web Services” que contendrá el servicio web que se acaba de crear.
El servicio web “CURPGenerator” recién creado incluirá el método “hello” para que sea invocado
por los clientes que lo soliciten, pero ya que es de prueba puede ser borrado sin mayor problema. Al
desarrollar un servicio web se tienen las vistas “Source” para ver y editar el código fuente, “Design”
para ver y modificar el servicio web desde asistentes para evitar escribir el código; y finalmente la
vista “History” para ver el historial de cambios hechos al código fuente.
Pantalla 8. Agregar un Web Service al proyecto
Pantalla 9. Creación de un nuevo servicio web
Pantalla 10. Opciones de visualización de un servicio web
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web
Servicios Web y Arquitecturas REST
31 de enero de 2015 Página 4 de 14
1.3. Configuración del servicio web creado
A continuación se ele-
girá la vista “Design” desde la
cual se procederá a eliminar el
método “hello” que se genera
como ejemplo y que no es de
utilidad, para ello habrá que
dar clic derecho sobre el recua-
dro que contiene a éste mé-
todo, y en el menú contextual
elegir la opción “Remove Ope-
ration”, solicitará la confirmación para proceder, o también se puede eliminar directamente desde el
código fuente.
Creación de nuevos métodos de negociación
Para crear el nuevo método de negociación que se encargará de generar la CURP se deberá
dar clic sobre el botón [Add Operation…] desde la vista “Design” (ver Pantalla 11), ello abrirá un
cuadro de diálogo.
Para obtener la Clave Única de Registro de
Población (CURP) se solicitarán los siguientes
campos: Nombre, Apellido Paterno, Apellido Ma-
terno, Fecha de nacimiento, Sexo y Entidad Federa-
tiva de nacimiento. Así pues, la operación se le lla-
mará “getCURP”, la cual retornara un string y de-
berá recibir los parámetros antes mencionados para
poder procesar la solicitud, si se quiere evitar alte-
rar los datos enviados por el cliente será necesario
activar el modificador “final”.
Con el fin de representar un ejemplo senci-
llo de seguir, este manual no realizará vali-
daciones complejas que deberían ser necesa-
rias antes de generar la CURP, tales como
verificar que un nombre no tenga caracteres
inválidos, o que no se formen palabras alti-
sonantes o curiosas como “COLA”. Así
mismo, como no hay manera de comprobar
que exista otra CURP idéntica, se asignará al
final siempre la homoclave “00”.
Pantalla 11. Eliminar el método de ejemplo hello del servicio web
Pantalla 12. Parámetros de la operación
Pantalla 13. Estructura de una CURP
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web
Servicios Web y Arquitecturas REST
31 de enero de 2015 Página 5 de 14
El código necesario y básico del método de negociación que devuelve la CURP es el siguiente:
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web
Servicios Web y Arquitecturas REST
31 de enero de 2015 Página 6 de 14
Pantalla 14. Código fuente básico de servicio web para generar CURP
1.4. Poner en marcha y probar el servicio web
Para poner en funcionamiento el servicio web es necesario pasarlo al servidor de aplicaciones Glass-
Fish, el cual se encargara de ejecutarlo. Sin embargo hasta este momento este servidor no se ha ini-
cializado, por lo que primero se procederá a iniciarlo.
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web
Servicios Web y Arquitecturas REST
31 de enero de 2015 Página 7 de 14
a) Iniciar servidor GlassFish
Para ello, es necesario posicionarse en la pestaña “Services”, y ex-
pandir el elemento “Servers”, donde deberá aparecer “GlassFish
Server 4.1” y al cual se le deberá dar clic derecho para posterior-
mente elegir la opción “Start”. Hecho esto, en el panel Output en
la pestaña correspondiente a GlassFish deberá empezar a verse el
proceso de inicialización y al final deberá mostrarse que se ha ini-
ciado.
b) Compilar el servicio web
Es necesario limpiar y compilar el proyecto previamente, de lo contrario probablemente no se des-
pliegue el método “getCURP” recién creado sino el método “hello” que venía de prueba. Así mismo,
cada vez que se realicen cambios en el código del servicio web, deberá repetirse este proceso.
Para ello es necesario que se elija la opción “Clean and Build Project” que está en la barra
de herramientas, o en el menú “Run”. Esto comenzará a realizar que se mostrará en panel de Output
dentro de la pestaña del servicio web y el cual deberá concluir con “BUILD SUCCESSFUL”.
c) Desplegar el proyecto en el servidor
Hasta este momento el proyecto se encuentra aún en la carpeta
donde creamos el proyecto, por lo que no es posible usar el servicio
web si antes no se coloca en el servidor GlassFish, y para ello será
necesario que se dé clic derecho sobre el proyecto y elegir la op-
ción “Deploy”, lo que hará que se compile nuevamente el proyecto
y se envíe a GlassFish. El Output deberá mostrar también un
“BUILD SUCCESSFUL”.
Pantalla 15. Iniciar GlassFish
Pantalla 16. Servidor GlassFish iniciado correctamente
Pantalla 18. Limpiar y compilar el proyecto
Pantalla 17. Compilación exitosa del proyecto
Pantalla 19. Desplegar proyecto en
el servidor
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web
Servicios Web y Arquitecturas REST
31 de enero de 2015 Página 8 de 14
d) Probar el wervicio web
Para realizar una prueba del funcionamiento del servicio web se
deberá dar clic derecho sobre el servicio web, en este caso llamado
“CURPGenerator” y elegir la opción “Test Web Service”, lo que
abrirá el navegador para llenar los campos y probarlo.
Pantalla 20. Probar el servicio web
Pantalla 22. Inserción de datos para probar el servicio web
Pantalla 21. Invocación del método getCURP que devuelve el resultado
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web
Servicios Web y Arquitecturas REST
31 de enero de 2015 Página 9 de 14
2. CREACIÓN DE CLIENTE QUE INVOQUE AL SERVICIO WEB
2.1. Creación de nuevo proyecto cliente
A continuación se creará un nuevo proyecto para simular un
cliente remoto desde el cual se invoque el servicio web. Para ello
es necesario crearlo de la misma forma en como se hizo en el
tema 1.1, cambiando únicamente los nombres. Para este ejemplo
se usará el nombre “presidencia.gob.mx”, tratando de simular
un sitio web que haga uso del servicio web antes creado.
Por defecto el proyecto creará una página web estática
con extensión html, la cual no servirá para invocar un servicio
web, sino que se debe usar una página activa de java con exten-
sión jsp, la cual permite generar de forma dinámica contenido.
Así pues, si se desea, el archivo html puede ser borrado dando clic derecho sobre él y seleccionando
“delete”.
2.2. Creación de página web jsp
Para crear una página activa de java, se puede dar clic
derecho sobre el proyecto, posicionarse sobre “New”
para después dar clic sobre “JSP…”. Esto abrirá un
cuadro de diálogo para especificar el nombre del
nuevo archivo, el cual se nombrará como “index” con
el fin de que sea la página de inicio. Se usaran las op-
ciones por defecto por lo que no se seleccionara otra
carpeta y será un “JSP File. Posteriormente se dará
clic en el botón [Finish] lo que provocara que se cree
el archivo nuevo en la misma ubicación del html.
Pantalla 23. Proyecto cliente creado
Pantalla 24. Crear una página JSP
Pantalla 25. Definiendo configuraciones de la nueva página JSP
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web
Servicios Web y Arquitecturas REST
31 de enero de 2015 Página 10 de 14
2.3. Enlazar el proyecto con un servicio web
Para hacer uso de un servicio web serán necesario enlazarlo,
para lo cual se debe dar clic derecho sobre el proyecto, posi-
cionarse sobre “New” y luego dar clic en “Web Service
Client…”, si esta opción no aparece deberá seleccionarse
“Other…” y buscarse manualmente.
En el nuevo cuadro de diálogo que se abre deberá
elegirse la opción de servicio web desde otro proyecto, por
lo que debe seleccionarse “Project” y posteriormente dar clic
sobre el botón [Browse…] para ubicar y seleccionar el ser-
vicio web deseado, es decir, “CURPGenerator”. Posterior-
mente debe indicar el nombre del paquete para guardar las
clases requeridas por el servicio web, para
este ejemplo se usará el nombre “Genera-
dorDeCURP”.
Una vez que se dé clic sobre el bo-
tón [Finish], comenzarán a crearse todos
los archivos con lo que en el Output deberá
mostrarse un “BUILD SUCCESSFUL” y
en el panel de proyectos agregarse los ele-
mentos “Generated Sources (jax-ws)” y
“Web Service References”, con los conte-
nidos que se muestran en la siguiente ima-
gen.
2.4. Creación de la estructura HTML de la página web
Para dar un poco de diseño a la página se usará el siguiente código, el cual es muy básico pero se
busca no saturar este manual con código, el código esencial es <form> por lo que si se desea, el resto
se puede omitir.
Pantalla 28. Cliente de servicio web creado correctamente
Pantalla 26. Crear un cliente de servicio web
Pantalla 27. Elección del servicio web a invocar
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web
Servicios Web y Arquitecturas REST
31 de enero de 2015 Página 11 de 14
Pantalla 29. Código HTML de la página web cliente
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web
Servicios Web y Arquitecturas REST
31 de enero de 2015 Página 12 de 14
Una vez se tenga el código HTML se podrá hacer clic sobre el
botón “Run Project” para visualizar la página en el navegador web.
“Run Project” se encuentra en la barra de herramientas o desde el menú
“Run”. Si se usó el mismo código de este ejemplo, el navegador debería
mostrar una página similar a la de la siguiente imagen.
Pantalla 31. Página JSP con solamente código HTML
2.5. Incrustar y probar el servicio web en la página JSP
Posterior a que se haya enlazado un servicio web (como se mostró en el tema 2.3), se puede incrustar
el método de negociación deseado en la página JSP. En este manual únicamente se creó una operación
(getCURP) por lo que será la que se usará.
Se ha reservado un espacio para incrustar el código Java que se encargará de realizar la ne-
gociación con el servidor, este espacio se encuentra a partir de la línea de código 28, como se puede
apreciar en la pantalla 29. El código empleado, de igual manera que como se ha explicado con ante-
rioridad, es un código básico en el que no se realizan validaciones para no extender demasiado el
código.
Para incrustar de forma rápida el método de negociación se puede ubicar el método
“getCURP” del panel de proyectos (ver Pantalla 28) y arrastrarlo a la línea de código donde se desee
incrustar. También se puede dar clic derecho sobre la línea de código deseada y en el menú contextual
posicionarse sobre “Web Service Client Resources” y luego dar clic en “Call Web Service Opera-
tion…”, lo cual abriría un cuadro de diálogo desde el cual se tendría que seleccionar “getCURP”.
Pantalla 32. Código para invocar el servicio web pasándole como parámetros los datos del formulario HTML
Pantalla 30. Correr proyecto
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web
Servicios Web y Arquitecturas REST
31 de enero de 2015 Página 13 de 14
Para probar el funcionamiento correcto del servicio web se debe correr el proyecto (ver Pantalla 30).
Pantalla 33. Llenado de formulario previo a usar el servicio web
Pantalla 34. Respuesta del servicio web con el CURP generado
2.6. Agregar diseño a la página
Si se desea agregar un poco de diseño a la página, se deberá agregar en la línea de código 14 reservada
para tal fin el código mostrado a continuación.
Pantalla 35. Código CSS de la página
Por: Héctor Garduño Real
Máster en Dirección e Ingeniería de Sitios Web
Servicios Web y Arquitecturas REST
31 de enero de 2015 Página 14 de 14
Pantalla 36. Visualización de página con estilos CSS aplicados

Más contenido relacionado

PPTX
Servicios web soap java
PDF
Creando un servicio SOAP en Java con NetBeans
PDF
Práctica de Bases de Datos con MySQL (diseño, desarrollo y uso)
PPTX
expo
PPT
Dce2 Introduccion Asp.Net
PDF
Examen febrero 2017-2018_daw_daw_solucion_ (1)
PDF
Tutorial ASP .NET
PPTX
Introduccion a j query
Servicios web soap java
Creando un servicio SOAP en Java con NetBeans
Práctica de Bases de Datos con MySQL (diseño, desarrollo y uso)
expo
Dce2 Introduccion Asp.Net
Examen febrero 2017-2018_daw_daw_solucion_ (1)
Tutorial ASP .NET
Introduccion a j query

La actualidad más candente (20)

PDF
Volt taller
PPT
7. Creacion De Controles De Usuario
PDF
Examen Diseño de portafolios en Línea
PPTX
Asp
PPTX
Webbrowser de vb 6.0 y vb.net
PDF
Liferay 6.1 Service Builder
PDF
Geogebra interacción con javascript
PDF
Trabajando con imagenes en liferay 6.1
PDF
WSO2 BPS: Desarrollando un proceso de negocio con BPEL
PPT
Vb aspx sitio
PDF
Manual de jquery en pdf desarrollowebcom
PPT
Manual Registrar Actividades Y Enlaces
PPT
Diseño de páginas web
DOC
Guia De Trucos Html
PPTX
Building Ria Applications With Silverlight 2
PDF
Liferay versión 6.1 Trabajando con LDAP, introducción
PDF
Manual De Ajax En Espanol
DOCX
Java script
PPT
Vb aspx sitio
Volt taller
7. Creacion De Controles De Usuario
Examen Diseño de portafolios en Línea
Asp
Webbrowser de vb 6.0 y vb.net
Liferay 6.1 Service Builder
Geogebra interacción con javascript
Trabajando con imagenes en liferay 6.1
WSO2 BPS: Desarrollando un proceso de negocio con BPEL
Vb aspx sitio
Manual de jquery en pdf desarrollowebcom
Manual Registrar Actividades Y Enlaces
Diseño de páginas web
Guia De Trucos Html
Building Ria Applications With Silverlight 2
Liferay versión 6.1 Trabajando con LDAP, introducción
Manual De Ajax En Espanol
Java script
Vb aspx sitio
Publicidad

Destacado (11)

ODP
Desarrollando un API con REST
PPTX
Cejv659 week09 glassfish-s14
PDF
PPS
PDF
Web services restful con JAX-RS
PDF
Introduccion a los Servicios Web Rest
PDF
Web Service and PHP, REST and SOAP
PDF
Redes sociales, peligros, ventajas, inconvenientes y consejos
PPT
Servicios Web
PDF
SOA y Web Services
PDF
Web services
Desarrollando un API con REST
Cejv659 week09 glassfish-s14
Web services restful con JAX-RS
Introduccion a los Servicios Web Rest
Web Service and PHP, REST and SOAP
Redes sociales, peligros, ventajas, inconvenientes y consejos
Servicios Web
SOA y Web Services
Web services
Publicidad

Similar a Manual de creación y uso de Web Service SOAP (20)

PDF
Servicio web soap en java con net beans
PPT
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkit
PDF
UDA-Guia desarrollo web services
DOCX
Servicios web ITT
DOCX
Servicios web itt
DOCX
Servicios web itt
PDF
Configurando Ambiente de Desarrollo WEB en Eclipse Neón para Desarrolladores
PDF
Web 2.0 ajax con SharePoint
PDF
"Los Imprescindibles de .NetCore"
PDF
Servicios web
PDF
Instalación del servidor web en windows server 2008
DOCX
Proyblog
PDF
[ES] Construyendo Servicios Web con JDeveloper
PDF
Taller desarrollo web
PDF
Base de datos desde vb 6.0
PDF
Servicios web
PDF
Servicios web
DOCX
Programacion2
Servicio web soap en java con net beans
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkit
UDA-Guia desarrollo web services
Servicios web ITT
Servicios web itt
Servicios web itt
Configurando Ambiente de Desarrollo WEB en Eclipse Neón para Desarrolladores
Web 2.0 ajax con SharePoint
"Los Imprescindibles de .NetCore"
Servicios web
Instalación del servidor web en windows server 2008
Proyblog
[ES] Construyendo Servicios Web con JDeveloper
Taller desarrollo web
Base de datos desde vb 6.0
Servicios web
Servicios web
Programacion2

Más de Héctor Garduño Real (20)

PDF
Guía para redactar trabajos profesionales.pdf
PDF
Sistema para la Evaluación del Aprendizaje en entornos B-Learning
PDF
Tesis - Fábrica de software Estado de México 2009
PDF
Asignatura: Informática 1
PDF
Asignatura: Interconectividad de Redes
PDF
Asignatura: Fundamentos de Redes de Computadoras
PDF
Asignatura: Desarrollo Sustentable
PDF
Asignatura: Introducción a las ciencias de la computación
PDF
Principales CMS y Estadísticas de uso
PDF
Práctica de instalación y uso de Joomla
PDF
Práctica de Creación de Máquina Virtual con LAMP en Amazon Web Services
PDF
Práctica con WebGoat: HTTP Splitting, DoS, Ma-licious Execution e Injection F...
PDF
Metodologías de Desarrollo de Aplicaciones Web Seguras
PDF
Análisis de lecturas sobre el Internet de las Cosas
PDF
Caso de éxito de IoT: Agricultura inteligente en Viñedos 2.0
PDF
Análisis del Whitepaper DB4O
PDF
Práctica de instalación y uso de Alfresco
PDF
Más alla de la web 2.0
PDF
Práctica de herramientas web 2.0
PDF
Práctica en Joomla de reproductor de streaming de video y audio
Guía para redactar trabajos profesionales.pdf
Sistema para la Evaluación del Aprendizaje en entornos B-Learning
Tesis - Fábrica de software Estado de México 2009
Asignatura: Informática 1
Asignatura: Interconectividad de Redes
Asignatura: Fundamentos de Redes de Computadoras
Asignatura: Desarrollo Sustentable
Asignatura: Introducción a las ciencias de la computación
Principales CMS y Estadísticas de uso
Práctica de instalación y uso de Joomla
Práctica de Creación de Máquina Virtual con LAMP en Amazon Web Services
Práctica con WebGoat: HTTP Splitting, DoS, Ma-licious Execution e Injection F...
Metodologías de Desarrollo de Aplicaciones Web Seguras
Análisis de lecturas sobre el Internet de las Cosas
Caso de éxito de IoT: Agricultura inteligente en Viñedos 2.0
Análisis del Whitepaper DB4O
Práctica de instalación y uso de Alfresco
Más alla de la web 2.0
Práctica de herramientas web 2.0
Práctica en Joomla de reproductor de streaming de video y audio

Último (20)

PPTX
Mecanismos-de-Propagacion de ondas electromagneticas
DOCX
Trabajo informatica joel torres 10-.....................
DOCX
TRABAJO GRUPAL (5) (1).docxsjsjskskksksksks
PPTX
Historia Inteligencia Artificial Ana Romero.pptx
PDF
Estrategia de Apoyo de Daylin Castaño (5).pdf
PDF
Final Tecno .pdfjdhdjsjdhsjshshhshshshhshhhhhhh
PDF
capacitación de aire acondicionado Bgh r 410
PPTX
Sistema de Gestión Integral TCA Ingenieros.pptx
PDF
MANUAL de recursos humanos para ODOO.pdf
PPTX
Formato de texto, párrafo, documentos, columnas periodísticas, referencias.
PDF
0007_PPT_DefinicionesDeDataMining_201_v1-0.pdf
PDF
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
DOCX
Guía 5. Test de orientación Vocacional 2.docx
PDF
Distribucion de frecuencia exel (1).pdf
PPTX
Diapositivas Borrador Rocha Jauregui David Paolo (3).pptx
PPTX
Tema 1 Taller de tecnologia y proceso tecnologico.pptx
PPTX
Presentacion de Alba Curso Auditores Internos ISO 19011
PPTX
El uso de las TIC en la vida cotidiana..
PPTX
la-historia-de-la-medicina Edna Silva.pptx
PPTX
ccna: redes de nat ipv4 stharlling cande
Mecanismos-de-Propagacion de ondas electromagneticas
Trabajo informatica joel torres 10-.....................
TRABAJO GRUPAL (5) (1).docxsjsjskskksksksks
Historia Inteligencia Artificial Ana Romero.pptx
Estrategia de Apoyo de Daylin Castaño (5).pdf
Final Tecno .pdfjdhdjsjdhsjshshhshshshhshhhhhhh
capacitación de aire acondicionado Bgh r 410
Sistema de Gestión Integral TCA Ingenieros.pptx
MANUAL de recursos humanos para ODOO.pdf
Formato de texto, párrafo, documentos, columnas periodísticas, referencias.
0007_PPT_DefinicionesDeDataMining_201_v1-0.pdf
ADMINISTRACIÓN DE ARCHIVOS - TICS (SENA).pdf
Guía 5. Test de orientación Vocacional 2.docx
Distribucion de frecuencia exel (1).pdf
Diapositivas Borrador Rocha Jauregui David Paolo (3).pptx
Tema 1 Taller de tecnologia y proceso tecnologico.pptx
Presentacion de Alba Curso Auditores Internos ISO 19011
El uso de las TIC en la vida cotidiana..
la-historia-de-la-medicina Edna Silva.pptx
ccna: redes de nat ipv4 stharlling cande

Manual de creación y uso de Web Service SOAP

  • 1. Por: Héctor Garduño Real Máster en Dirección e Ingeniería de Sitios Web Servicios Web y Arquitecturas REST 31 de enero de 2015 Página 1 de 14 Manual de creación y uso de Web Service SOAP REQUERIMIENTOS PREVIOS Se requiere instalar el IDE NetBeans 8.0.2, para lo cual se debe ir al sitio web https://netbeans.org/ y descargar el paquete “Java EE” o el paquete “All”, ya que son los que incluyen el servidor web de aplicaciones GlassFish, JEE (para usar jsp), y HTML, todos ellos necesarios para realizar la creación del webservice. De no contar con JDK (Java Development Kit), debe ser instalado previo a la instalación de NetBeans, ya que es el que provee las he- rramientas de desarrollo para éste IDE. JDK se puede descargar desde www.oracle.com donde también hay disponible una versión de NetBeans que incluye JDK. 1. CREACIÓN DE UN SERVICIO WEB 1.1. Creación del nuevo proyecto Una vez abierto NetBeans se debe crear un nuevo proyecto el cual contendrá el sitio web de la aplicación y el servicio web. Para ello se debe dirigir al menú superior y dar clic en “File”, posteriormente dar clic en “New Project…” lo cual abrirá un cua- dro de diálogo. Ya que lo que se pretende es realizar un servicio web, al crear el proyecto, en el primer paso (Elección del proyecto) se debe elegir la categoría “Java Web” y del lado derecho, en tipos de proyectos seleccionar “Web Application”. Una vez hecho esto es necesario dar clic en el botón [Next] para continuar con el proceso. Este manual será guiado usando como ejemplo un gene- rador de CURP para ciudadanos mexicanos, equivalente al DNI en otros países. Así pues, para el segundo paso Pantalla 1. Inicialización de NetBeans Pantalla 2. Creación de un nuevo proyecto Pantalla 3. Elección de tipo de proyecto a crear
  • 2. Por: Héctor Garduño Real Máster en Dirección e Ingeniería de Sitios Web Servicios Web y Arquitecturas REST 31 de enero de 2015 Página 2 de 14 de la creación del proyecto, se deben escribir el nombre que se le designará al proyecto para que el usuario lo identifique mejor, en este caso se nombrará como “Generador- CURP”. Opcionalmente se puede definir otra ubicación para guardar el proyecto usando el botón [Browse…], teniendo en cuenta el cambio de ruta no afectará al pro- yecto. Así mismo, al crear el servicio web se producirán dependencias de librerías, y en caso de que se desee ubicarlas en una carpeta en específico habrá que activar e indicar la ubicación para almacenarlas. Una vez de- finidos los parámetros deberá darse clic en el botón [Next >]. El tercer paso se debe definir el ser- vidor sobre el que se ejecutará el servicio web así como la versión de Java EE que se desee usar para el desarrollo. Si se emplea la última versión de NetBeans se pueden emplear los valores por defecto, es decir, servidor web “GlasFish Server 4.1” y la plataforma “Java EE 7 Web” y dar clic en el botón [Next >]. En el cuarto y último paso se debe in- dicar si se desea emplear un framework para el desarrollo del proyecto, pero ya que este manual aborda un ejemplo básico, no es ne- cesario hacer la selección de ninguno de ellos, con lo cual se puede dar clic en el botón [Finish] para que comience la generación del proyecto, es decir, la estructura de carpetas y archivos esenciales necesarios del proyecto. Una vez finalizada la creación del proyecto, deberá aparecer el proyecto recién creado en el panel izquierdo dentro de la pestaña “Projects”. Pantalla 4. Nombrar y establecer ubicación del proyecto Pantalla 5. Selección de frameworks del nuevo proyecto Pantalla 6. Creación del proyecto en proceso Pantalla 7. Despliegue de proyecto recién creado
  • 3. Por: Héctor Garduño Real Máster en Dirección e Ingeniería de Sitios Web Servicios Web y Arquitecturas REST 31 de enero de 2015 Página 3 de 14 1.2. Creación del nuevo servicio web A continuación se creará el servicio web. Para ello será necesario dar clic derecho sobre el proyecto, y en el menú contextual desplegado deberá posicio- narse sobre “New” y en el submenú dar clic en la op- ción “Web Service…”, lo cual hará que se abra un cua- dro de diálogo con un Wizard para crearlo. En el asistente deberá especificarse un nombre para el servicio web, y atendiendo a recomendación de internacionalización e interoperabilidad, para este ejemplo se colocará el nombre “CURPGe- nerator”; también se solicitará un nombre de paquete para guardar el servicio web, para ello se usará el nombre “CURPWebService” y el cual será almacenado en la carpeta del mismo proyecto. Adicionalmente aparece la opción para crear un servicio web intermediario, es decir, que se conecte a otro servicio web, para ello se debería elegir la opción “Create Web Service from Existing Session Bean”; y también aparece la casilla “Implement Web Service as Stateless Session Bean” que servirá para hacer que sea un servicio web sin estado. Para este ejemplo básico no se seleccionarán ninguna de estas opciones, por lo que simplemente deberá darse clic sobre [Finish]. Ello provocará que se genere el nuevo paquete y al proyecto se agregue un nuevo elemento llamado “Web Services” que contendrá el servicio web que se acaba de crear. El servicio web “CURPGenerator” recién creado incluirá el método “hello” para que sea invocado por los clientes que lo soliciten, pero ya que es de prueba puede ser borrado sin mayor problema. Al desarrollar un servicio web se tienen las vistas “Source” para ver y editar el código fuente, “Design” para ver y modificar el servicio web desde asistentes para evitar escribir el código; y finalmente la vista “History” para ver el historial de cambios hechos al código fuente. Pantalla 8. Agregar un Web Service al proyecto Pantalla 9. Creación de un nuevo servicio web Pantalla 10. Opciones de visualización de un servicio web
  • 4. Por: Héctor Garduño Real Máster en Dirección e Ingeniería de Sitios Web Servicios Web y Arquitecturas REST 31 de enero de 2015 Página 4 de 14 1.3. Configuración del servicio web creado A continuación se ele- girá la vista “Design” desde la cual se procederá a eliminar el método “hello” que se genera como ejemplo y que no es de utilidad, para ello habrá que dar clic derecho sobre el recua- dro que contiene a éste mé- todo, y en el menú contextual elegir la opción “Remove Ope- ration”, solicitará la confirmación para proceder, o también se puede eliminar directamente desde el código fuente. Creación de nuevos métodos de negociación Para crear el nuevo método de negociación que se encargará de generar la CURP se deberá dar clic sobre el botón [Add Operation…] desde la vista “Design” (ver Pantalla 11), ello abrirá un cuadro de diálogo. Para obtener la Clave Única de Registro de Población (CURP) se solicitarán los siguientes campos: Nombre, Apellido Paterno, Apellido Ma- terno, Fecha de nacimiento, Sexo y Entidad Federa- tiva de nacimiento. Así pues, la operación se le lla- mará “getCURP”, la cual retornara un string y de- berá recibir los parámetros antes mencionados para poder procesar la solicitud, si se quiere evitar alte- rar los datos enviados por el cliente será necesario activar el modificador “final”. Con el fin de representar un ejemplo senci- llo de seguir, este manual no realizará vali- daciones complejas que deberían ser necesa- rias antes de generar la CURP, tales como verificar que un nombre no tenga caracteres inválidos, o que no se formen palabras alti- sonantes o curiosas como “COLA”. Así mismo, como no hay manera de comprobar que exista otra CURP idéntica, se asignará al final siempre la homoclave “00”. Pantalla 11. Eliminar el método de ejemplo hello del servicio web Pantalla 12. Parámetros de la operación Pantalla 13. Estructura de una CURP
  • 5. Por: Héctor Garduño Real Máster en Dirección e Ingeniería de Sitios Web Servicios Web y Arquitecturas REST 31 de enero de 2015 Página 5 de 14 El código necesario y básico del método de negociación que devuelve la CURP es el siguiente:
  • 6. Por: Héctor Garduño Real Máster en Dirección e Ingeniería de Sitios Web Servicios Web y Arquitecturas REST 31 de enero de 2015 Página 6 de 14 Pantalla 14. Código fuente básico de servicio web para generar CURP 1.4. Poner en marcha y probar el servicio web Para poner en funcionamiento el servicio web es necesario pasarlo al servidor de aplicaciones Glass- Fish, el cual se encargara de ejecutarlo. Sin embargo hasta este momento este servidor no se ha ini- cializado, por lo que primero se procederá a iniciarlo.
  • 7. Por: Héctor Garduño Real Máster en Dirección e Ingeniería de Sitios Web Servicios Web y Arquitecturas REST 31 de enero de 2015 Página 7 de 14 a) Iniciar servidor GlassFish Para ello, es necesario posicionarse en la pestaña “Services”, y ex- pandir el elemento “Servers”, donde deberá aparecer “GlassFish Server 4.1” y al cual se le deberá dar clic derecho para posterior- mente elegir la opción “Start”. Hecho esto, en el panel Output en la pestaña correspondiente a GlassFish deberá empezar a verse el proceso de inicialización y al final deberá mostrarse que se ha ini- ciado. b) Compilar el servicio web Es necesario limpiar y compilar el proyecto previamente, de lo contrario probablemente no se des- pliegue el método “getCURP” recién creado sino el método “hello” que venía de prueba. Así mismo, cada vez que se realicen cambios en el código del servicio web, deberá repetirse este proceso. Para ello es necesario que se elija la opción “Clean and Build Project” que está en la barra de herramientas, o en el menú “Run”. Esto comenzará a realizar que se mostrará en panel de Output dentro de la pestaña del servicio web y el cual deberá concluir con “BUILD SUCCESSFUL”. c) Desplegar el proyecto en el servidor Hasta este momento el proyecto se encuentra aún en la carpeta donde creamos el proyecto, por lo que no es posible usar el servicio web si antes no se coloca en el servidor GlassFish, y para ello será necesario que se dé clic derecho sobre el proyecto y elegir la op- ción “Deploy”, lo que hará que se compile nuevamente el proyecto y se envíe a GlassFish. El Output deberá mostrar también un “BUILD SUCCESSFUL”. Pantalla 15. Iniciar GlassFish Pantalla 16. Servidor GlassFish iniciado correctamente Pantalla 18. Limpiar y compilar el proyecto Pantalla 17. Compilación exitosa del proyecto Pantalla 19. Desplegar proyecto en el servidor
  • 8. Por: Héctor Garduño Real Máster en Dirección e Ingeniería de Sitios Web Servicios Web y Arquitecturas REST 31 de enero de 2015 Página 8 de 14 d) Probar el wervicio web Para realizar una prueba del funcionamiento del servicio web se deberá dar clic derecho sobre el servicio web, en este caso llamado “CURPGenerator” y elegir la opción “Test Web Service”, lo que abrirá el navegador para llenar los campos y probarlo. Pantalla 20. Probar el servicio web Pantalla 22. Inserción de datos para probar el servicio web Pantalla 21. Invocación del método getCURP que devuelve el resultado
  • 9. Por: Héctor Garduño Real Máster en Dirección e Ingeniería de Sitios Web Servicios Web y Arquitecturas REST 31 de enero de 2015 Página 9 de 14 2. CREACIÓN DE CLIENTE QUE INVOQUE AL SERVICIO WEB 2.1. Creación de nuevo proyecto cliente A continuación se creará un nuevo proyecto para simular un cliente remoto desde el cual se invoque el servicio web. Para ello es necesario crearlo de la misma forma en como se hizo en el tema 1.1, cambiando únicamente los nombres. Para este ejemplo se usará el nombre “presidencia.gob.mx”, tratando de simular un sitio web que haga uso del servicio web antes creado. Por defecto el proyecto creará una página web estática con extensión html, la cual no servirá para invocar un servicio web, sino que se debe usar una página activa de java con exten- sión jsp, la cual permite generar de forma dinámica contenido. Así pues, si se desea, el archivo html puede ser borrado dando clic derecho sobre él y seleccionando “delete”. 2.2. Creación de página web jsp Para crear una página activa de java, se puede dar clic derecho sobre el proyecto, posicionarse sobre “New” para después dar clic sobre “JSP…”. Esto abrirá un cuadro de diálogo para especificar el nombre del nuevo archivo, el cual se nombrará como “index” con el fin de que sea la página de inicio. Se usaran las op- ciones por defecto por lo que no se seleccionara otra carpeta y será un “JSP File. Posteriormente se dará clic en el botón [Finish] lo que provocara que se cree el archivo nuevo en la misma ubicación del html. Pantalla 23. Proyecto cliente creado Pantalla 24. Crear una página JSP Pantalla 25. Definiendo configuraciones de la nueva página JSP
  • 10. Por: Héctor Garduño Real Máster en Dirección e Ingeniería de Sitios Web Servicios Web y Arquitecturas REST 31 de enero de 2015 Página 10 de 14 2.3. Enlazar el proyecto con un servicio web Para hacer uso de un servicio web serán necesario enlazarlo, para lo cual se debe dar clic derecho sobre el proyecto, posi- cionarse sobre “New” y luego dar clic en “Web Service Client…”, si esta opción no aparece deberá seleccionarse “Other…” y buscarse manualmente. En el nuevo cuadro de diálogo que se abre deberá elegirse la opción de servicio web desde otro proyecto, por lo que debe seleccionarse “Project” y posteriormente dar clic sobre el botón [Browse…] para ubicar y seleccionar el ser- vicio web deseado, es decir, “CURPGenerator”. Posterior- mente debe indicar el nombre del paquete para guardar las clases requeridas por el servicio web, para este ejemplo se usará el nombre “Genera- dorDeCURP”. Una vez que se dé clic sobre el bo- tón [Finish], comenzarán a crearse todos los archivos con lo que en el Output deberá mostrarse un “BUILD SUCCESSFUL” y en el panel de proyectos agregarse los ele- mentos “Generated Sources (jax-ws)” y “Web Service References”, con los conte- nidos que se muestran en la siguiente ima- gen. 2.4. Creación de la estructura HTML de la página web Para dar un poco de diseño a la página se usará el siguiente código, el cual es muy básico pero se busca no saturar este manual con código, el código esencial es <form> por lo que si se desea, el resto se puede omitir. Pantalla 28. Cliente de servicio web creado correctamente Pantalla 26. Crear un cliente de servicio web Pantalla 27. Elección del servicio web a invocar
  • 11. Por: Héctor Garduño Real Máster en Dirección e Ingeniería de Sitios Web Servicios Web y Arquitecturas REST 31 de enero de 2015 Página 11 de 14 Pantalla 29. Código HTML de la página web cliente
  • 12. Por: Héctor Garduño Real Máster en Dirección e Ingeniería de Sitios Web Servicios Web y Arquitecturas REST 31 de enero de 2015 Página 12 de 14 Una vez se tenga el código HTML se podrá hacer clic sobre el botón “Run Project” para visualizar la página en el navegador web. “Run Project” se encuentra en la barra de herramientas o desde el menú “Run”. Si se usó el mismo código de este ejemplo, el navegador debería mostrar una página similar a la de la siguiente imagen. Pantalla 31. Página JSP con solamente código HTML 2.5. Incrustar y probar el servicio web en la página JSP Posterior a que se haya enlazado un servicio web (como se mostró en el tema 2.3), se puede incrustar el método de negociación deseado en la página JSP. En este manual únicamente se creó una operación (getCURP) por lo que será la que se usará. Se ha reservado un espacio para incrustar el código Java que se encargará de realizar la ne- gociación con el servidor, este espacio se encuentra a partir de la línea de código 28, como se puede apreciar en la pantalla 29. El código empleado, de igual manera que como se ha explicado con ante- rioridad, es un código básico en el que no se realizan validaciones para no extender demasiado el código. Para incrustar de forma rápida el método de negociación se puede ubicar el método “getCURP” del panel de proyectos (ver Pantalla 28) y arrastrarlo a la línea de código donde se desee incrustar. También se puede dar clic derecho sobre la línea de código deseada y en el menú contextual posicionarse sobre “Web Service Client Resources” y luego dar clic en “Call Web Service Opera- tion…”, lo cual abriría un cuadro de diálogo desde el cual se tendría que seleccionar “getCURP”. Pantalla 32. Código para invocar el servicio web pasándole como parámetros los datos del formulario HTML Pantalla 30. Correr proyecto
  • 13. Por: Héctor Garduño Real Máster en Dirección e Ingeniería de Sitios Web Servicios Web y Arquitecturas REST 31 de enero de 2015 Página 13 de 14 Para probar el funcionamiento correcto del servicio web se debe correr el proyecto (ver Pantalla 30). Pantalla 33. Llenado de formulario previo a usar el servicio web Pantalla 34. Respuesta del servicio web con el CURP generado 2.6. Agregar diseño a la página Si se desea agregar un poco de diseño a la página, se deberá agregar en la línea de código 14 reservada para tal fin el código mostrado a continuación. Pantalla 35. Código CSS de la página
  • 14. Por: Héctor Garduño Real Máster en Dirección e Ingeniería de Sitios Web Servicios Web y Arquitecturas REST 31 de enero de 2015 Página 14 de 14 Pantalla 36. Visualización de página con estilos CSS aplicados