Les webservices en JAVA

forteco Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
Bonjour,

J'ai créé une application en java qui se communique directement à une base de donnée Mysql à l'aide de JDBC, mais je voudrais que cette application utilise les web services pour se communiquer avec JDBC et ce dernier se communique avec la base de données.
SVP aidez moi et dites moi comment faire et merci :)

A voir également:

2 réponses

forteco Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Aidez moi SVP
0
Utilisateur anonyme
 
Salut,

Le plus simple est d'utiliser les annotations JAX-WS: @WebService et @WebMethod.

Si tu utilises SOAP, tu devras peut être définir certains attributs dans @WebService.

Si tu veux utiliser REST, je te conseille d'utiliser RestEasy (de JBoss) qui est facile d'utilisation.

package hacktrack.webservices;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import javax.jws.WebMethod;
import javax.jws.WebService;

@WebService
public class JdbcWebserviceDemo {

	@WebMethod(operationName="searchEmployeeByName")
	public List<Employee> chercheEmployeParNom(String texte) {
		Connection c = getConnection();
		Statement s;
		List<Employee> employees = new ArrayList<Employee>();
		try {
			s = c.createStatement();
			StringBuilder sqlQuery = new StringBuilder();
			sqlQuery.append("SELECT e.id,e.lastname,e.firstname,d.name");
			sqlQuery.append(" FROM Employee e, Department d");
			sqlQuery.append(" WHERE e.dept_id=d.depyt_id");
			sqlQuery.append(" AND UPPER(e.lastname) LIKE '%" + texte + "%'");
			ResultSet rs = s.executeQuery(sqlQuery.toString());
			Employee e;
			while(rs.next()){
				e = new Employee();
				e.setId(rs.getInt(0));
				e.setLastname(rs.getString(1));
				e.setFirstname(rs.getString(2));
				e.setDepartmentName(rs.getString(3));
				employees.add(e);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}

		return employees;
	}

	private Connection getConnection() {
		Connection conn = null;
		// ... construit ta connexion ici
		return conn;
	}
}



Et la classe Employee:

package hacktrack.webservices;

public class Employee {
	private String lastname;
	private String firstname;
	private String departmentName;
	private int id;

	public String getLastname() {
		return lastname;
	}

	public void setLastname(String lastname) {
		this.lastname = lastname;
	}

	public String getFirstname() {
		return firstname;
	}

	public void setFirstname(String firstname) {
		this.firstname = firstname;
	}

	public String getDepartmentName() {
		return departmentName;
	}

	public void setDepartmentName(String departmentName) {
		this.departmentName = departmentName;
	}

	public void setId(int id) {
		this.id=id;		
	}
	
	public int getId(){
		return id;
	}

}


;-)
HackTrack
0