Vous êtes sur la page 1sur 18

SOAP

Cliente
(Browser)

Capa

Capa

De

De

Presentacin

Presentacin

(index.xhtml)

Capa
De
Persistencia

Backing

(Web

Bean

services)

R
J
e
P
c
A

(cls_cliente_
soap.java)

CREACION DEL SERVIDOR


*Crear un proyecto web: file/new proyect/web application

*Ingresar el nombre del proyecto y ubicacin

u
r
s
o

Conjunto
de
Conexin

Base
de
datos

*Ingresar servidor, versin jee, ruta de inicio

*No seleccionar ningn framework

*Creacin del servicio web: click derecho sobre el proyecto/new/web service

*En la ficha source editar el cdigo como sigue a continuacin:


package pkg_servicio_web;

import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import java.util.List;
import javax.faces.bean.SessionScoped;
import javax.faces.bean.ManagedBean;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import javax.persistence.Query;

@WebService()
public class servicio_web_servidor
{
EntityManagerFactory
factory=Persistence.createEntityManagerFactory("prj_soap_servidorPU");

EntityManager em1=factory.createEntityManager();
@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+"')";
em1.getTransaction().begin();
Query qe=em1.createNativeQuery(sql);
try
{
qe.executeUpdate();
em1.getTransaction().commit();
return 1;
}
catch (Exception ex)
{

em1.getTransaction().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+"'";
em1.getTransaction().begin();
Query qe=em1.createNativeQuery(sql);

int li_filas= qe.executeUpdate();


if (li_filas>=1)
{
em1.getTransaction().commit();
return 1;
}
else
{
em1.getTransaction().rollback();
return 0;
}
}
@WebMethod(operationName = "modificar")
public int modificar(@WebParam(name = "as_codigo") String
as_codigo,@WebParam(name = "as_nombre") String as_nombre)
{
String sql ="update cliente set nombre='"+as_nombre+"' where
codigo='"+as_codigo+"'";
em1.getTransaction().begin();
Query qe=em1.createNativeQuery(sql);

int li_filas=qe.executeUpdate();
if (li_filas>=1)
{
em1.getTransaction().commit();
return 1;

}
else
{
em1.getTransaction().rollback();
return 0;
}
}
public String buscar(@WebParam(name = "as_codigo") String as_codigo )
{
String sql ="select * from cliente where codigo="+"'"+as_codigo+"'";
Query qe=em1.createNativeQuery(sql);
List l1=qe.getResultList();
if (l1.size()>=1)
{
Object [] ar_objeto=(Object [])(l1.get(0));
String ls_nombre=ar_objeto[1].toString();
return ls_nombre;

}
else
{
return null;
}

}
}

*Creacin 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

*Probar el servicio web: ir al browser y colocar en la lnea de comandos


http://localhost:8080/prj_soap_servidor/servicio_web_servidorService?tester

SOAP CREACION DEL CLIENTE JSF


*Crear un proyecto: file/new/ web application

*Seleccionar el servidor, versin de jee y ruta de inicio

*Seleccionar el framework JSF

*Creacin del cliente de web services: Click derecho sobre el proyecto/new


webservice client

*Colocar click en browse

*Se cre automticamente la zona web service references dentro del rbol

*En la pgina index.xhtml colocar el cdigo que sigue a continuacin:

<?xml version='1.0' encoding='UTF-8' ?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"

>
<h:head>
<title>ICEfaces 2</title>
<link rel="stylesheet" type="text/css"
href="./xmlhttp/css/rime/rime.css"/>
</h:head>
<h:body>
<div id="header">
<!-<ui:include src="/header.xhtml" >
<ui:param name="param_name" value="param_value" />
</ui:include>
-->
</div>
<div id="content">
<h:form id="form">
<h:outputText value="CLIENTE"/>
<br></br><br></br>
<h:outputText value="Cdigo:"/>
<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>
</h:body>
</html>
*Crear el backing bean: click derecho sobre source packages/java class

Colocar el cdigo que sigue a continuacin:

package pkg_cliente_soap;

import java.util.List;
import javax.faces.bean.SessionScoped;
import javax.faces.bean.ManagedBean;
import javax.xml.ws.WebServiceRef;
import pkg_servicio_web.ServicioWebServidor;
import pkg_servicio_web.ServicioWebServidorService;

@ManagedBean()
@SessionScoped
public class cls_cliente_soap
{
private ServicioWebServidorService service=new
ServicioWebServidorService();
ServicioWebServidor port= service.getServicioWebServidorPort();
public String codigo="";
public String nombre="";
public String mensaje="";

public cls_cliente_soap ()
{
}
public String getcodigo() {
return codigo;
}
public void setcodigo(String as_codigo) {

this.codigo = as_codigo;
}
public String getnombre() {
return nombre;
}
public void setnombre(String as_nombre) {
this.nombre = as_nombre;
}
public String getmensaje() {
return mensaje;
}
public void setmensaje(String as_mensaje) {
this.mensaje = as_mensaje;
}
public void insertar()
{
int resultado;
try
{ resultado=port.insertar(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=port.eliminar(codigo);
if (resultado==1)
{
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=port.modificar(codigo, nombre);
if (resultado==1)
{
mensaje="Se modific satisfactoriamente";
}
else
{
mensaje="No se pudo modificar";
}

}
catch (Exception ex)
{
mensaje="No se pudo modificar";
}

public void buscar()


{
String ls_nombre;
try
{ ls_nombre=port.buscar(codigo);
if (ls_nombre!=null)
{
nombre=ls_nombre;
mensaje="Registro encontrado";
}
else
{
mensaje="No se pudo encontrar el registro";
}

}
catch (Exception ex)
{
mensaje="No se pudo encontrar el registro";
}

}
}
*Correr la aplicacin: clic derecho sobre el proyecto/run

Vous aimerez peut-être aussi