Web services SOAP
Definition
Un web service est un composant informatique permettant, sans intervention humaine, la communication et l'échange de données entre applications et systèmes hétérogènes sur internet ou sur un intranet via le protocole d'échange SOAP WSDL.
EndDefinition
Principe de fonctionnement
- Un consommateur effectue une demande a un fournisseur de web services, via une requête.
- Le web service SOAP exécute la requête puis renvoie une réponse au consommateur.
- Le consommateur utilise la réponse dans le cadre d'une application tierce qu'il a développée.
Service Manager fournisseur et consommateur de web services SOAP
Service Manager comme fournisseur de web services SOAP
- Service Manager fournit des web services SOAP. Il s'agit de fonctionnalités métier au périmètre bien délimité -
voir Liste des web services
exemple Composant de création ou de suspension d'un incident dans Service Manager
- L'application tierce appelle un web service SOAP Service Manager en passant les valeurs attendues par les paramètres de celui-ci. Le traitement s'effectue alors comme si Service Manager était actif.
exemple Une application de Service Desk appelle le web service SOAP Suspendre un ticket en passant le numéro d'incident Service Manager
Service Manager comme consommateur de web services SOAP
- Service Manager peut appeler des web services SOAP fournis par d'autres produits.
exemple Appel d'un composant externe de réinitialisation des mots de passe
- L'accès au web service SOAP s'effectue en utilisant une action automatique de type Étape WebService dans un processus (workflow / règle métier). Le web service SOAP externe doit être déclaré et configuré au préalable -
voir Paramétrage des web services SOAP
voir Exemples de web services SOAP
Remarques
- Le développement de la partie consommatrice est à la charge du consommateur et doit respecter le WSDL Service Manager accessible à l'adresse http://{easyvista_path}/WebService/SmoBridge.php.
- {easyvista_path} = votre répertoire EasyVista sur le serveur Apache
- Attention : L'adresse est sensible à la casse.
- Règles de nommage des web services SOAP Service Manager :
- EZV_(nom de la fonction métier)
- S'il s'agit d'une fonction système : EZV_SYS_(nom de la fonction)
Propriétés des web services SOAP Service Manager :* Les paramètres sont sensibles à la casse : respectez impérativement les lettres majuscules et les lettres minuscules.
- Le type de valeur attendue par le paramètre est indiquée dans le fichier SmoBridge.php.
exemple Login: xsd:string
- Lorsque plusieurs paramètres concernent une même information, un algorithme de recherche traite les paramètres un par un et dans un ordre précis jusqu'à ce que l'enregistrement correspondant soit trouvé ; si l'enregistrement n'est pas trouvé, une erreur est retournée et le traitement par le web service SOAP est stoppé. Dans les tableaux descriptifs des web services SOAP, les paramètres concernés par cet algorithme sont regroupés et mentionnés dans l'ordre de recherche.
exemple Group_ID - Group_Mail - Groupe_Name
- La gestion des erreurs se fait via des codes retour.
exemple -1 = base Service Manager non trouvée
- Le type de valeur attendue par le paramètre est indiquée dans le fichier SmoBridge.php.
Bonnes pratiques
- Pour éviter toute erreur lors de la saisie des paramètres, faites un copier-coller à partir du fichier descriptif SmoBridge.php.
- Lorsque vous utilisez un web service SOAP utilisant une structure XML, reportez-vous au modèle de données Service Manager pour codifier le nom des champs et éviter toute erreur de syntaxe.
- Paramètres de type Date : respectez le format de date utilisé dans le pays de l'utilisateur connecté à l'application.
- Paramètres de type Libellé : saisissez les libellés définis dans la langue de l'utilisateur connecté à l'application.
Système de licence
- À chaque appel d'un web service SOAP, un accès utilisateur est comptabilisé -
voir Règles de consommation des licences Service Manager
Accès aux web services SOAP Service Manager
- L’accès aux web services SOAP Service Manager se fait via un bridge réalisé en PHP.
- 2 fichiers sont nécessaires :
Principe de fonctionnement d'un bridge
Un bridge permet d'exposer à l’extérieur uniquement un serveur web (une simple page PHP), et non un exécutable demandant l'accès aux bases de données.
- Le bridge reçoit un appel SOAP d'un consommateur.
- Il convertit l'appel en un appel SMOServer (serveur applicatif) natif.
- Il récupère la réponse du serveur applicatif, qu'il convertit en un message SOAP.
- Il renvoie le message SOAP au consommateur.
Fichier WebService_Config.php
Ce fichier permet de paramétrer le bridge et d'indiquer le SmoServer (serveur applicatif) à appeler.
- Emplacement : http://{easyvista_path}/Config/webservice_config.php
- {easyvista_path} = votre répertoire EasyVista sur le serveur Apache
- Attention : L'adresse est sensible à la casse.
Paramètres obligatoires
Paramètre | Description |
---|---|
SMO_BROKER_PORT_ID | Port du SMOBroker |
SMO_BROKER_ADDRESS | Adresse IP du SMOBroker |
Paramètres optionnels
Paramètre | Description |
---|---|
SMO_SERVER_PORT_ID | Port du SMOServer |
SMO_SERVER_ADDRESS | Adresse IP du SMOServer.
|
SmoWebService | Namespace partiel défini dans le WSDL |
Namespace | Namespace identifiant le service |
Exemple
define( "SMO_BROKER_PORT_ID" , 49358 );
define( "SMO_BROKER_ADDRESS" , '127.0.0.1' );
define( "SMO_SERVER_PORT_ID" , 49359 );
define( "SMO_SERVER_ADDRESS" , "127.0.0.1" );
define( "SmoWebService" , "SmoWebService" );
define( "Namespace" , "http:~/~/localhost/" . SmoWebService );
define( "CONST_WSDL" , "http:~/~/localhost/WebService/SmoBridge.php?wsdl" );
define( "CONST_DEBUG_MODE" , false );
define( "CONST_LOG_FILENAME" , "C:\www\EVO_WS\WsLog.txt" );
define( "CONST_DELPHI_WSDL" , "http:~/~/localhost/WebService/wsdl/IDelphiSmoWebService" );
?>
Fichier SmoBridge.php
Ce fichier contient le code nécessaire à l'interfaçage SOAP / SmoServer et toutes les spécifications relatives à l’utilisation des web services SOAP.
- Emplacement : http://{easyvista_path}/WebService/SmoBridge.php
- Le détail d'un web service permet de visualiser tous les paramètres que doit fournir l’application consommatrice pour pouvoir utiliser le service.
voir Exemple
Liste des web services SOAP Service Manager
Matériels
- Créer un matériel : EZV_CreateEquipment
- Modifier un matériel : EZV_ModifyEquipment
- Créer un matériel via une structure XML : EZV_CreateEquipmentXML
- Modifier un matériel via une structure XML : EZV_ModifyEquipmentXML
Employés
- Créer un employé : EZV_CreateUser
- Modifier un employé : EZV_ModifyUser
- Créer un employé via une structure XML : EZV_CreateUserXML
- Modifier un employé via une structure XML : EZV_ModifyUserXML
Tickets
Note : Le terme Tickets englobe les incidents / demandes (service, changement, investissement) / problèmes / événements.
- Créer un ticket : EZV_CreateRequest
- Mettre à jour un ticket : EZV_UpdateRequest
- Terminer un ticket : EZV_CloseRequest
- Suspendre un ticket : EZV_SuspendRequest
- Reprendre un ticket : EZV_RestartRequest
- Créer une tâche pour un ticket : EZV_CreateTask
- Attacher un document à un ticket : EZV_AttachDocToRequest
- Compter le nombre de documents attachés à un ticket : EZV_GetDocumentCount
- Rechercher l'URL des documents attachés à un ticket : EZV_GetDocumentURL
Actions
- Créer une action pour un ticket : EZV_CreateRelatedAction
- Terminer une action rattachée à un ticket : EZV_EndAction
Autres
- Exécuter une requête interne : EZV_SYS_ExecuteInternalQuery