4D v16.3

Publier un Service Web avec 4D

Accueil

 
4D v16.3
Publier un Service Web avec 4D

Publier un Service Web avec 4D  


 

 

La publication d’un Service Web dans 4D s’effectue généralement en trois étapes :

  1. Création de la méthode destinée à être publiée
  2. Paramétrage de la publication (WSDL)
  3. Publication

Des étapes de personnalisation supplémentaires peuvent être définies, mais elles ne sont pas obligatoires.

Vous pouvez créer tout type de méthode projet destinée à une publication en tant que Web Service. La méthode doit accepter des paramètres et retourner un résultat. Ces paramètres doivent impérativement être déclarés explicitement dans l’en-tête de la méthode à l’aide des commandes du thème Compilateur

4D formate par défaut les paramètres nécessaires au fonctionnement des méthodes publiées en tant que Services Web. Vous pouvez toutefois modifier ces paramètres à l’aide de la commande SOAP DECLARATION

4D se charge de décoder et d’encoder automatiquement les données reçues et envoyées via SOAP. 

Attention : Les noms des méthodes sont utilisés comme balises XML dans les requêtes SOAP. Conformément à la norme XML, ces noms ne doivent pas débuter par un chiffre ni contenir d’espaces. En outre, pour éviter tout risque d’incompatibilité, il est recommandé de ne pas utiliser de caractères étendus (tels que des caractères accentués). 

Pour définir et contrôler le déroulement d’une méthode publiée en tant que Web Service, vous devez utiliser les commandes du thème “Web Services”— reportez-vous à la section Web Services (Serveur) dans le manuel Langage de 4D.

Pour pouvoir publier une ou plusieurs méthode(s) de votre base comme Web Service(s), les conditions suivantes doivent être réunies.

  • Le poste utilisé comme serveur SOAP (application 4D monoposte ou 4D Server) dispose de la licence SOAP 4D.
  • Le serveur Web de 4D doit être lancé.
  • L’option Autoriser requêtes Web Services dans la page “Web Services” de la boîte de dialogue des Propriétés de la base doit être cochée. Si cette option n’est pas cochée, 4D refuse les requêtes SOAP et ne génère pas de WSDL.

    Lorsque cette option est cochée, 4D crée le fichier WSDL (cf. paragraphe Génération du WSDL). 
  • Chaque méthode à publier doit être offerte comme Web Service. Ce paramétrage s’effectue à l’aide d’une option située dans la fenêtre des propriétés de la méthode :

    Note : Pour plus d’informations sur cette fenêtre, reportez-vous à la section Propriétés des méthodes projet.
    Lorsque l’option Offerte comme Web Service est cochée, la méthode correspondante peut être appelée comme Web Service via une requête SOAP.
    Note : Si l’option Publié dans WSDL est également cochée, la méthode apparaîtra dans le WSDL du serveur (cf. paragraphe suivant).

Des icônes spécifiques distinguent, dans la Page Méthodes de l’Explorateur de 4D, les méthodes offertes comme Web Services et celles publiées dans le fichier WSDL .

Le WSDL décrit en langage XML la syntaxe et les informations nécessaires à l’appel de la méthode 4D (Nom de la méthode, URL, paramètres, etc.).

Dans 4D, le WSDL correspond à un seul Service Web. Il décrit les méthodes et leurs paramètres et peut être consulté à un emplacement spécifique. Dans 4D, le WSDL n’est pas un véritable “fichier” (il n’existe qu’en mémoire et n’est pas écrit sur disque) ; c’est un URL nommé 4DWSDL pour les Services Web publiés en mode RPC ou 4DWSDL/DOC pour les Services Web publiés en mode DOC. Il est toujours situé à la racine du serveur Web.

Si l’adresse de votre serveur Web est http://www.monserveur.com, vous pourrez consulter le WSDL à l’URL suivant :

  • http://www.monserveur.com/4DWSDL (mode RPC)
  • http://www.monserveur.com/4DWSDL/DOC (mode DOC)

Pour ajouter ou supprimer une méthode dans le WSDL, il suffit de cocher ou désélectionner l’option correspondante dans les propriétés de la méthode. 4D met à jour instantanément le contenu du WSDL. 

Note : L'icône distingue, dans l’Explorateur de 4D, les méthodes publiées dans le WSDL.

Lorsque les requêtes Web Services sont autorisées, 4D génère automatiquement et dynamiquement le WSDL du serveur 4D Web si au moins une méthode dispose de l’option Publié dans WSDL dans la fenêtre des Propriétés de la méthode. Par défaut, cette option n’est pas cochée.

Chaque Service Web publié sur Internet comporte un nom. Ce nom permet de différencier les services au niveau du serveur SOAP (lorsque le serveur publie plusieurs Web Services), ainsi que dans les annuaires de Services Web. 

Par défaut, 4D utilise le nom A_WebService. Ce paramètre peut être modifié dans la page “Web Services” du thème Web des Propriétés de la base.

Attention : Conformément à la norme XML concernant les noms de balises, la chaîne de caractères utilisée ne doit pas débuter par un chiffre ni contenir d’espaces. En outre, pour éviter tout risque d’incompatibilité, il est recommandé de ne pas utiliser de caractères étendus (tels que des caractères accentués).

Chaque Service Web publié sur Internet doit être unique. L’unicité des noms de Web Services est assuré à l’aide des espaces de nommage XML (XML namespace). Un espace de nommage est une chaîne de caractères arbitraire permettant d’identifier de manière unique un ensemble de balises XML. Typiquement, l’espace de nommage débute par l’URL de la société (http://masociete.com/monespacedenommage). Dans ce cas, il n’est pas indispensable qu’il y ait quelque chose à l’URL défini, il importe simplement que la chaîne de caractères utilisée soit unique.

Par défaut, 4D utilise l’espace de nommage suivant : http://www.4d.com/namespace/default. Ce paramètre peut être modifié dans la page "Web Services" du thème Web des Propriétés de la base.

Les commentaires éventuellement associés aux méthodes offertes en tant que Web Services et publiées dans le WSDL apparaissent automatiquement dans ce fichier en tant que champ “documentation”.

Ces commentaires doivent être saisis dans la de la Page Méthodes de l'Explorateur (cf. section Utiliser les commentaires).

Ce mécanisme permet de décrire ou de documenter les méthodes publiées. L’interprétation et la prise en charge de ce champ dépend de l’implémentation du client Web Service.

Une fois que votre Service Web est publié par 4D, toute application cliente de Web Service peut s’y connecter. Le mode d’accès au serveur et le traitement des informations échangées sont spécifiques à chaque type d’application cliente utilisée. 

Toutes les informations nécessaires à l’emploi du Service Web (telles que l’URL du service, les paramètres à utiliser, etc.) sont publiées dans le WSDL de 4D. En principe, l’utilisation d’un Web Service débute donc par la lecture du WSDL du serveur SOAP afin de récupérer ces informations. Dans 4D, l’URL du WSDL est http://AdresseServeur/4DWSDL (mode RPC) ou http://AdresseServeur/4DWSDL/DOC (mode DOC).

Cette étape n’est toutefois pas obligatoire. La connexion au serveur SOAP peut être effectuée directement. 

Voici la liste des valeurs nécessaires à l’établissement des requêtes SOAP ainsi que leur mode de définition :

  • URL d’accès à un Web Service publié par 4D
    http://AdresseServeur/4DSOAP/ (mode RPC) ou
    http://AdresseServeur/4DSOAP/DOC (mode DOC)
    (non personnalisables)
  • Paramètres de la méthode
    Les paramètres doivent être déclarés dans la méthode 4D (définis par le développeur).
    Noms SOAP par défaut : FourD_arg0, FourD_arg1... FourD_argn
    Noms personnalisables à l’aide de la commande SOAP DECLARATION.
  • Contenu du champ SOAP Action
    NomService#NomMéthode (non personnalisable).

 
PROPRIÉTÉS 

Produit : 4D
Thème : Publication et utilisation de Services Web
Nom intl. : Publishing a Web Service with 4D

 
HISTORIQUE 

 
UTILISATION DE L'ARTICLE

4D - Mode Développement ( 4D v16)
4D - Mode Développement ( 4D v16.1)
4D - Mode Développement ( 4D v16.3)