Authentification LDAP en Webservice : Client java -- 3ème partie
Posté par Clem
| mardi 8 décembre 2009 à 18:34 | rss
Si vous avez suivi les épisodes précedents, vous disposez maintenant d'un serveur de webservices opérationnel proposant le service LdapAuthentService qui requiert les paramètres login et password.
Le wsdl (fichier de définition du webservice en xml) est disponible à l'adresse http://localhost:8080/axis2/services/LdapAuthentService?wsdl
Le script wsdl2java.sh d'Axis2 va nous permettre de générer une classe client d'appel à ce webservice appelée "stub". En gros cette classe se charge de l'aspect communication via des échanges en xml.
$ $AXIS2_HOME/bin/wsdl2java.sh -d adb -uri http://localhost:8080/axis2/services/LdapAuthentService?wsdl -p fr.quaquin.clement.ldap.client -s -o build/client
Options :- L'option -d adb signifie que nous choisissons le databinding adb (recommandé)
- L'option -uri permet d'indiquer l'adresse du fichier de définition wsdl
- L'option -p permet d'indiquer un package java de destination pour la classe
- L'option -s indique que nous fonctionnerons en mode synchrone
- L'option -o permet d'indiquer un dossier dans lequel générer le code
Génération de l'archive .jar
$ cd build/client/
$ ant jar.client
Le fichier LdapAuthentService-test-client.jar est généré dans build/lib . Je l'ajoute aux librairies du projet.
Maintenant, je crée une classe ClientConnect utilisant le stub pour communiquer avec le webservice :
package fr.quaquin.clement.ldap;
import java.rmi.RemoteException;
import org.apache.axis2.AxisFault;
import fr.quaquin.clement.ldap.client.LdapAuthentServiceStub;
public class ClientConnect {
public static void main(String[] args) {
LdapAuthentServiceStub stub = null;
String url="http://localhost:8080/axis2/services/LdapAuthentService";
// Contact avec le serveur via le Stub
try {
stub = new LdapAuthentServiceStub(url);
}
catch (AxisFault e) {e.printStackTrace();}
// Création de l'objet de connexion
// avec initialisation des paramètres
LdapAuthentServiceStub.GetConnectionLDAP myconnection =
new LdapAuthentServiceStub.GetConnectionLDAP();
myconnection.setLogin("cquaquin");
myconnection.setPassword("titi");
// Tentative de connexion et affichage du code retour
// si le serveur répond
try {
LdapAuthentServiceStub.GetConnectionLDAPResponse myrep =
stub.getConnectionLDAP(myconnection);
System.out.println("Code retour : "+myrep.get_return());
}catch (RemoteException e) { e.printStackTrace(); }
}
}
Code retour : OK
Références :
Generating a Client using ADB
Tutorial Axis2 : Génération des stubs grace à wsdl2java
Tutorial Axis2 : Réalisation du client du service web
Clem blog : Authentification LDAP en java
Clem blog : Authentification LDAP en java/Webservice -- 2ème partie
axis , code
, java
, openldap
, tuto
, webservice
This work is licensed under a Creative Commons Attribution 3.0 Unported License
Commentaires
Aucun commentaire pour le moment.
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.