Вы находитесь на странице: 1из 25

Sistemas

Ciclo : VIII

Distribuidos

CREACIN DE WEB SERVICES


Ejemplo 1: Creando un web service bsico sumar dos nmeros.
Crear un proyecto de tipo Java Web y luego Web Application

A continuacin colocamos el nombre del proyecto.

Mg. Ing. Robert Snchez Ticona

Pgina 1

Sistemas
Ciclo : VIII

Distribuidos

Nos pedir el servidor seleccionamos :

Mg. Ing. Robert Snchez Ticona

Pgina 2

Sistemas
Ciclo : VIII

Distribuidos

Creamos un paquete operaciones y dentro creamos el WebServices suma

Mg. Ing. Robert Snchez Ticona

Pgina 3

Sistemas
Ciclo : VIII

Mg. Ing. Robert Snchez Ticona

Distribuidos

Pgina 4

Sistemas
Ciclo : VIII

Distribuidos

Se crea una carpeta en el proyecto WebService

Luego nos ubicamos en el paquete operaciones buscamos el archivo suma.java y codificamos.

Luego ubicamos el archivo index.html y escribimos:

Mg. Ing. Robert Snchez Ticona

Pgina 5

Sistemas
Ciclo : VIII

Distribuidos

Ejecutamos y nos aparece el siguiente mensaje en el navegador:

Podemos probar nuestro servicio web nos vamos a la carpeta WebServices y seleccionamos suma
clic derecho Test Web Services

Mg. Ing. Robert Snchez Ticona

Pgina 6

Sistemas
Ciclo : VIII

Distribuidos

Luego crearemos un proyecto para consumir nuestro Servicio Web del tipo Java Application:

Escribimos el nombre WebServiceCliente

Mg. Ing. Robert Snchez Ticona

Pgina 7

Sistemas
Ciclo : VIII

Distribuidos

Luego debemos agregar referencia a nuestro web service para lo que debemos seleccionar
nuestra aplicacin clic derecho New Web Service Client

Aparecer la siguiente ventana en la cual debemos indicar nuestro web service creado y luego clic
en el botn browse y aparece el Servicio Web creado.

Mg. Ing. Robert Snchez Ticona

Pgina 8

Sistemas
Ciclo : VIII

Distribuidos

Hacemos clic para seleccionar el web services.

Disearemos el siguiente formulario:

Luego hacemos clic en el botn finish y en nuestro proyecto aparece una carpeta WebService

Mg. Ing. Robert Snchez Ticona

Pgina 9

Sistemas
Ciclo : VIII

Distribuidos

Luego crearemos un paquete cliente

Y luego creamos un formulario frmsuma

Mg. Ing. Robert Snchez Ticona

Pgina 10

Sistemas
Ciclo : VIII

Mg. Ing. Robert Snchez Ticona

Distribuidos

Pgina 11

Sistemas
Ciclo : VIII

Distribuidos

Codificamos en el botn calcular

Luego ejecutamos la aplicacin y probamos el webservices.

Tambin podemos consumirlo el servicio desde el mtodo main.


public static void main(String[] args) {
try{
pwebservices.WebServices_Service service = new
pwebservices.WebServices_Service();
Mg. Ing. Robert Snchez Ticona

Pgina 12

Sistemas
Ciclo : VIII

Distribuidos

pwebservices.WebServices port = service.getWebServicesPort();


int num1=22;
int num2=15;
int resultado;
resultado= port.suma(num1, num2);
System.out.println(resultado);
} catch(Exception ex ){
}
}
Ejemplo 2: Crear un web service para consultar por DNI los datos bsicos de una persona.

Creamos nuestra base de datos con MYSQL BaseSD con la tabla persona la cual
tiene la siguiente estructura:

Crear un proyecto de tipo sitio web.

Mg. Ing. Robert Snchez Ticona

Pgina 13

Sistemas
Ciclo : VIII

Mg. Ing. Robert Snchez Ticona

Distribuidos

Pgina 14

Sistemas
Ciclo : VIII

Distribuidos

Luego creamos un paquete Datos y ServidorBD

Debemos agregar la Libraries al MYSQL

Mg. Ing. Robert Snchez Ticona

Pgina 15

Sistemas
Ciclo : VIII

Distribuidos

En datos creamos la clase ConexionMySql

Mg. Ing. Robert Snchez Ticona

Pgina 16

Sistemas
Ciclo : VIII

Distribuidos

public class ConexionMysql {


public Connection Conn;
public Connection geConectar() throws ClassNotFoundException, SQLException
{
Class.forName("com.mysql.jdbc.Driver");//permite la carga del driver
Conn= (Connection) DriverManager.getConnection("jdbc:mysql://localhost/bdejemplo","root","");
return Conn;
}
}
Luego creamos la clase persona dentro del mismo paquete

Mg. Ing. Robert Snchez Ticona

Pgina 17

Sistemas
Ciclo : VIII

Distribuidos

Luego en el paquete ServidorBD agregar la clase WSDB

Mg. Ing. Robert Snchez Ticona

Pgina 18

Sistemas
Ciclo : VIII

Distribuidos

Codificamos en la clase creada :


@WebService(serviceName = "WSBD")
public class WSBD {
public Connection cn;
@WebMethod(operationName = "busqueda")
public ArrayList<Persona> busqueda(@WebParam(name = "dni") String dni) {
String cod,app,apm,nom;
ArrayList<Persona> lisempleado = new ArrayList<>();
try {
//TODO write your implementation code here:
Class.forName("com.mysql.jdbc.Driver");//permite la carga del driver
cn=
DriverManager.getConnection("jdbc:mysql://localhost:3306/basesd","root","");
String sentencia = "select * from persona where dni='" + dni + "'";
Statement stm = (Statement) cn.createStatement();
ResultSet rs = stm.executeQuery(sentencia);
while (rs.next()){
cod=rs.getString(1);
app=rs.getString(2);
apm=rs.getString(3);
nom=rs.getString(4);
Persona oempleado= new Persona(cod,app,apm,nom);
lisempleado.add(oempleado);
}
cn.close();
} catch (SQLException | ClassNotFoundException ex) {
Logger.getLogger(WSBD.class.getName()).log(Level.SEVERE, null, ex);
}
return lisempleado;
}
@WebMethod(operationName = "otro")
public String otro(@WebParam(name = "dni") String dni) {
String cod="";
try {
//TODO write your implementation code here:
Class.forName("com.mysql.jdbc.Driver");//permite la carga del driver
cn=
DriverManager.getConnection("jdbc:mysql://localhost:3306/basesd","root","");
String sentencia = "select * from persona where dni='" + dni + "'";
Statement stm = (Statement) cn.createStatement();
ResultSet rs = stm.executeQuery(sentencia);
while (rs.next()){
cod=rs.getString(1);
}
cn.close();
} catch (SQLException | ClassNotFoundException ex) {
Logger.getLogger(WSBD.class.getName()).log(Level.SEVERE, null, ex);
}
return cod;

Mg. Ing. Robert Snchez Ticona

Pgina 19

(Connection)

(Connection)

Sistemas
Ciclo : VIII

Distribuidos

Podemos probar nuestro servicio web nos vamos a la carpeta WebServices y seleccionamos suma
clic derecho Test Web Services

Una vez probado el servicio web ahora se creara la aplicacin cliente:

Mg. Ing. Robert Snchez Ticona

Pgina 20

Sistemas
Ciclo : VIII

Mg. Ing. Robert Snchez Ticona

Distribuidos

Pgina 21

Sistemas
Ciclo : VIII

Distribuidos

Una vez creado el proyecto hacemos clic derecho New Web Service Client

Aparece la ventana en la cual hacemos clic en browse

Mg. Ing. Robert Snchez Ticona

Pgina 22

Sistemas
Ciclo : VIII

Distribuidos

Al hacer clic en Browse aparecen los dos servicios creados clic en Ok.

Ahora creamos un paquete para crear el formulario y consumir el servicio web

Mg. Ing. Robert Snchez Ticona

Pgina 23

Sistemas
Ciclo : VIII

Distribuidos

Creamos el formulario frmpersona

Codificamos en el boton buscar


private void btnbuscarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String dni;
dni=txtdni.getText();
Mg. Ing. Robert Snchez Ticona

Pgina 24

Sistemas
Ciclo : VIII

Distribuidos

servidorbd.WSBD_Service service = new servidorbd.WSBD_Service();


servidorbd.WSBD port = service.getWSBDPort();
if (port.busqueda(dni).size()==0)
{
JOptionPane.showMessageDialog(null, "Dni no
Existe","Aviso",JOptionPane.ERROR_MESSAGE);
}
else
{
txtnombres.setText(port.busqueda(dni).get(0).getNombres());
txtappaterno.setText(port.busqueda(dni).get(0).getAppaterno());
txtapmaterno.setText(port.busqueda(dni).get(0).getApmaterno());
}
}
EJERCICIO PROPUESTO
-

Cree una aplicacin con la tabla persona en la que el usuario podr


buscar por el apellido paterno, no necesito escribir el apellido completo
al hacer clic en buscar aparecen todos los registros que cumplan esa
condicin en un JTable.

Mg. Ing. Robert Snchez Ticona

Pgina 25

Вам также может понравиться