web services

20
SOAP CREACION DEL SERVIDOR *Crear un proyecto web: file/new proyect/web application *Ingresar el nombre del proyecto y ubicación Cliente (Browser ) Capa De Presentaci ón (index.xht ml) Capa De Presentaci ón Backing Bean (cls_clien te_soap.ja va) Capa De Persistenc ia (Web services) R e c u r s o Conjunto de Conexión Base de datos J P A

Upload: pablo-almeida

Post on 08-Nov-2015

212 views

Category:

Documents


0 download

DESCRIPTION

Web services - Pablo Vinicio Almeida Haro

TRANSCRIPT

SOAP

SOAP

CREACION DEL SERVIDOR

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

*Ingresar el nombre del proyecto y ubicacin

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

ICEfaces 2








*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

J

P

A

Base

de

datos

Conjunto

de

Conexin

R

e

c

u

r

s

o

Capa

De

Persistencia

(Web

services)

Capa

De

Presentacin

Backing

Bean

(cls_cliente_soap.java)

Capa

De

Presentacin

(index.xhtml)

Cliente

(Browser)