Déploiement des Web Services

De Wiki1000

Sommaire

Web Service Client : Consommer un Web Service

Nous allons maintenant réaliser le code nécessaire à l’appel du service.

Importer le WSDL

La première opération consiste à importer le WSDL, cette méthode permet de garantir que l’interface du service sera respectée.

image1.png Il est possible de décrire le modèle manuellement mais ceci ne garanti pas le respect du contrat WSDL.

L’assistant d’importation est accessible à partir de la racine des projets :

image10.png

L’assistant permet de spécifier un fichier WSDL ou une URL référençant un WSDL

image11.png

L’assistant présente ensuite le WSDL sous forme structuré, notez la structure d’un WSDL :

image12.png

Types

Définit les types utilisés dans les messages du service

Messages

Définir les messages (paramètres des opérations) échangés

portType

Définit les opérations offertes par le service

Binding

Définit les informations de liens entres les descriptions du service et l’implémentation

Service

Définit le service

Cette structure WSDL est transcrite en modèle intermédiaire qui reflète le modèle 1000 qui sera créé :

image13.png

L’assistant d’importation crée systématiquement un paquet contenant l’interface du service, cette méthode est préférable car elle permet de bien cerner le contrat rempli par le service.

La référence du WSDL est enregistrée dans le descriptif du paquet ce qui permettra par la suite de mettre à jour le service.

image14.png

Les Web Services utilisent les schémas XML qui définissent des domaines ; il arrive qu’un descripteur de service définisse plusieurs domaines. Cette page permet de sélectionner quels domaines inclure dans le paquet.

Voir le paragraphe sur les domaines.

image15.png

Notez l’utilisation du préfix de paquet IC qui préfixera les classes importées.

image16.png

Les opérations réalisées par l’importation :

image17.png

L’assistant d’importation a créé un paquet 1000 de service distant et une classe « Support de Service distant » contenant une méthode distante « echoString ».

Une méthode distante représente un proxy local de la méthode implémentée par le fournisseur de service, une méthode distante ne doit donc pas être « codée » localement.

image18.png

Créer une classe de test.

Pour tester notre service nous allons implémenter une classe de test non persistante contenant une méthode echoString.

image19.png

Appeler le service.

Le code appelant le service est le suivant :

//Procedure echoString;
var inst:ICinteropService; sin,sout:string;
begin
  inst := ClassManager.CreateInstance('ICinteropService');
  sin := 'coucou';
  inst.echoString(sin,sout);
  if sin<>sout
     then showMessage('echoString failed')
     else showMessage('echoString OK');
end;

Une instance de la classe Support est créée et la méthode distante est appelée comme n’importe qu’elle méthode.


Modèle:PrecedentSuivant

Outils personnels