Manual SOAP en JAVA EMCO
ARQUITECTURA DE SOFTWARE
MANUAL
Ing. Mauricio Campaña O. Ms. MDU CCNA. CCIA.
1
MANUAL DE SOAP EN JAVA
Crear una tabla en la base de datos jdbc/simple con nombre cliente, atributos (código, nombre),
necesarios para el ejemplo.
Ing. Mauricio Campaña O. Ms. MDU CCNA. CCIA.
2
CREACION DEL SERVIDOR
*Crear un proyecto web: file/new proyect/webapplication
*Ingresar el nombre del proyecto y ubicación
*Ingresar servidor, versión jee, ruta de inicio
Ing. Mauricio Campaña O. Ms. MDU CCNA. CCIA.
3
*No seleccionar ningún framework.
*Creación del servicio web: click derecho sobre el proyecto/new/web service
Ing. Mauricio Campaña O. Ms. MDU CCNA. CCIA.
4
*En la ficha source editar el código como sigue a continuación:
packagepkg_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()
publicclass 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)
{
Ing. Mauricio Campaña O. Ms. MDU CCNA. CCIA.
5
String sql ="insert intocliente (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();
Ing. Mauricio Campaña O. Ms. MDU CCNA. CCIA.
6
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;
Ing. MauricioCampaña O. Ms. MDU CCNA. CCIA.
7
}
}
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;
}
}
}
Ing.Mauricio Campaña O. Ms. MDU CCNA. CCIA.
8
*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
*Probar el servicio web: ir al browser y colocar en la línea de comandoshttp://localhost:8080/prj_soap_servidor/servicio_web_servidorService?tester
Ing. Mauricio Campaña O. Ms. MDU CCNA. CCIA.
9
SOAP – CREACION DEL CLIENTE JSF
*Crear un proyecto: file/new/ web application
Ing. Mauricio Campaña O. Ms. MDU CCNA. CCIA.
10
*Seleccionar el servidor, versión de jee y ruta de inicio
*Seleccionar el framework JSF
Ing. Mauricio Campaña O. Ms. MDU CCNA. CCIA.
11
*Creación del cliente de web...
Regístrate para leer el documento completo.