Ing. Pablo Almeida Haro Ph. D.
SOAP
R
Capa
Cliente Capa Capa
J
e Conjunto
De
(Browser) De De Base
P
c de
Presentación
Presentación Persistencia de
A
u Conexión
Backing
([Link]) (Web
r
Bean
services)
s
(cls_cliente_
[Link])
o
CREACION DEL SERVIDOR
*Crear un proyecto web: file/new proyect/web application
*Ingresar el nombre del proyecto y ubicación
Ing. Pablo Almeida Haro Ph. D.
*Ingresar servidor, versión jee, ruta de inicio
*No seleccionar ningún framework
Ing. Pablo Almeida Haro Ph. D.
*Creación del servicio web: click derecho sobre el proyecto/new/web service
*En la ficha source editar el código como sigue a continuación:
package pkg_servicio_web;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
Ing. Pablo Almeida Haro Ph. D.
import [Link];
import [Link];
import [Link];
@WebService()
public class servicio_web_servidor
EntityManagerFactory
factory=[Link]("prj_soap_servidorPU");
EntityManager em1=[Link]();
@WebMethod(operationName = "insertar")
public int insertar(@WebParam(name = "as_codigo")
String as_codigo, @WebParam(name = "as_nombre")
String as_nombre)
String sql ="insert into cliente (codigo,nombre) values
('"+as_codigo+"'"+","+"'"+as_nombre+"')";
[Link]().begin();
Query qe=[Link](sql);
try
[Link]();
[Link]().commit();
return 1;
catch (Exception ex)
Ing. Pablo Almeida Haro Ph. D.
{ [Link]().rollback();
return -1;
@WebMethod(operationName = "eliminar")
public int eliminar(@WebParam(name = "as_codigo") String as_codigo)
String sql ="delete from cliente where codigo='"+as_codigo+"'";
[Link]().begin();
Query qe=[Link](sql);
int li_filas= [Link]();
if (li_filas>=1)
[Link]().commit();
return 1;
else
[Link]().rollback();
return 0;
@WebMethod(operationName = "modificar")
public int modificar(@WebParam(name = "as_codigo") String as_codigo,@WebParam(name =
"as_nombre") String as_nombre)
Ing. Pablo Almeida Haro Ph. D.
String sql ="update cliente set nombre='"+as_nombre+"' where codigo='"+as_codigo+"'";
[Link]().begin();
Query qe=[Link](sql);
int li_filas=[Link]();
if (li_filas>=1)
[Link]().commit();
return 1;
else
[Link]().rollback();
return 0;
public String buscar(@WebParam(name = "as_codigo") String as_codigo )
String sql ="select * from cliente where codigo="+"'"+as_codigo+"'";
Query qe=[Link](sql);
List l1=[Link]();
if ([Link]()>=1)
Object [] ar_objeto=(Object [])([Link](0));
String ls_nombre=ar_objeto[1].toString();
Ing. Pablo Almeida Haro Ph. D.
return ls_nombre;
else
return null;
*Creación de la unidad de persistencia: click derecho sobre el proyecto/new/persistence unit
*Configurar la ruta de inicio: click derecho sobre el proyecto/propiedades/run. Modificar relative
url con el nombre del sevicio web mas Service?tester
Ing. Pablo Almeida Haro Ph. D.
*Probar el servicio web: ir al browser y colocar en la línea de comandos
[Link]
SOAP – CREACION DEL CLIENTE JSF
*Crear un proyecto: file/new/ web application
Ing. Pablo Almeida Haro Ph. D.
*Seleccionar el servidor, versión de jee y ruta de inicio
*Seleccionar el framework JSF
Ing. Pablo Almeida Haro Ph. D.
*Creación del cliente de web services: Click derecho sobre el proyecto/new webservice client
*Colocar click en browse
Ing. Pablo Almeida Haro Ph. D.
*Se creó automáticamente la zona web service references dentro del árbol
Ing. Pablo Almeida Haro Ph. D.
*En la página [Link] colocar el código que sigue a continuación:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"[Link]
<html xmlns="[Link]
xmlns:f="[Link]
xmlns:h="[Link]
>
<h:head>
<title>ICEfaces 2</title>
<link rel="stylesheet" type="text/css" href="./xmlhttp/css/rime/[Link]"/>
</h:head>
<h:body>
<div id="header">
<!--
<ui:include src="/[Link]" >
<ui:param name="param_name" value="param_value" />
Ing. Pablo Almeida Haro Ph. D.
</ui:include>
-->
</div>
<div id="content">
<h:form id="form">
<h:outputText value="CLIENTE"/>
<br></br><br></br>
<h:outputText value="Código:"/>
<h:inputText id="codigo" value="#{cls_cliente_soap.codigo}" />
<br></br>
<h:outputText value="Nombre:"/>
<h:inputText id="nombre" value="#{cls_cliente_soap.nombre}"/>
<br></br><br></br>
<h:commandButton id="insertar" value="Insertar" action="#{cls_cliente_soap.insertar}">
</h:commandButton>
<h:commandButton id="eliminar" value="Eliminar" action="#{cls_cliente_soap.eliminar}"
> </h:commandButton>
<h:commandButton id="modificar" value="Modificar"
action="#{cls_cliente_soap.modificar}"> </h:commandButton>
<h:commandButton id="buscar" value="Buscar" action="#{cls_cliente_soap.buscar}">
</h:commandButton>
<br></br><br></br>
<h:outputText value="#{cls_cliente_soap.mensaje}"/>
</h:form>
</div>
Ing. Pablo Almeida Haro Ph. D.
</h:body>
</html>
*Crear el backing bean: click derecho sobre source packages new/java class
Colocar el código que sigue a continuación:
package pkg_cliente_soap;
import [Link];
import [Link];
import [Link];
import [Link];
import pkg_servicio_web.ServicioWebServidor;
import pkg_servicio_web.ServicioWebServidorService;
@ManagedBean()
@SessionScoped
public class cls_cliente_soap
private ServicioWebServidorService service=new ServicioWebServidorService();
ServicioWebServidor port= [Link]();
Ing. Pablo Almeida Haro Ph. D.
public String codigo="";
public String nombre="";
public String mensaje="";
public cls_cliente_soap ()
public String getcodigo() {
return codigo;
public void setcodigo(String as_codigo) {
[Link] = as_codigo;
public String getnombre() {
return nombre;
public void setnombre(String as_nombre) {
[Link] = as_nombre;
public String getmensaje() {
return mensaje;
public void setmensaje(String as_mensaje) {
[Link] = as_mensaje;
public void insertar()
Ing. Pablo Almeida Haro Ph. D.
int resultado;
try
{ resultado=[Link](codigo, nombre);
if (resultado==1)
mensaje="Se insertó satisfactoriamente";
else
mensaje="No se pudo insertar";
catch (Exception ex)
mensaje="No se pudo insertar";
public void eliminar()
int resultado;
try
{ resultado=[Link](codigo);
if (resultado==1)
Ing. Pablo Almeida Haro Ph. D.
mensaje="Se eliminó satisfactoriamente";
else
mensaje="No se pudo eliminar";
catch (Exception ex)
mensaje="No se pudo eliminar";
public void modificar()
int resultado;
try
{ resultado=[Link](codigo, nombre);
if (resultado==1)
mensaje="Se modificó satisfactoriamente";
else
Ing. Pablo Almeida Haro Ph. D.
mensaje="No se pudo modificar";
catch (Exception ex)
mensaje="No se pudo modificar";
public void buscar()
String ls_nombre;
try
{ ls_nombre=[Link](codigo);
if (ls_nombre!=null)
nombre=ls_nombre;
mensaje="Registro encontrado";
else
mensaje="No se pudo encontrar el registro";
}
Ing. Pablo Almeida Haro Ph. D.
catch (Exception ex)
mensaje="No se pudo encontrar el registro";
*Correr la aplicación: clic derecho sobre el proyecto/run
Ing. Pablo Almeida Haro Ph. D.