Définir des Erreurs Service Web SOAP
Un fichier WSDL peut contenir un élément fault pour une opération et un attribut de message qui contient le message d'erreur. Ainsi, lors de la conception d'un service Web SOAP dans MapForce, vous pouvez ajouter un composant "Fault" à votre mappage. Le service Web lancera une exception si une certaine condition est satisfaite.
Pour insérer un composant Fault dans un mappage, un élément fault doit se trouver dans le fichier WSDL. |
Vous pouvez définir la condition défaillante dans le mappage et vous pouvez aussi définir le texte du message d'erreur. Lorsque la condition est satisfaite, le service Web échouera comme suit :
•Dans un environnement en direct (au moment de l'exécution, après que le service Web soit déployé vers un serveur), le service Web échouera et retournera le message défini par l'utilisateur vers l'appelant.
•Dans MapForce (au moment de la conception), l'exécution du mappage s'arrête et vous pouvez consulter le message dans la fenêtre Message.
Pour ajouter un composant d'erreur à un mappage MapForce :
1.Dans le menu Insérer, cliquer sur Exception. (En alternative, vous pouvez cliquer sur la touche de la barre d'outils Exception .)
2.Choisir Créer erreur WSDL.
Note : | Si l'option Créer erreur WSDL est désactivée et que le message "Aucune erreur pour cette opération" apparaît, cela signifie qu'aucune erreur n'existe dans le fichier WSDL, et donc, qu'aucune erreur ne peut être ajoutée dans MapForce. |
Pour consulter un exemple d'un mappage qui contient une erreur de service Web, ouvrir le projet MapForce échantillon suivant : <Documents>\Altova\MapForce2025\MapForceExamples\TimeService\TimeService.mfp. Double-cliquer sur le mappage (opération) getTimeZoneTime.mfd.
Dans le mappage ci-dessus, l'exception doit être déclenchée lorsque n0:timezone n'est pas égal à UTC.
•La fonction equal contrôle si le fuseau horaire est égal à UTC, et le résultat bool est passé vers le filtre.
•Si la condition est fausse, c'est à dire si quelque chose d'autre que l'UTC, le paramètre on-false du filtre active l'exception Fault:errorSoapOut et que le processus de mappage est interrompu. (Veuillez noter que vous pouvez aussi connecter l'exception au paramètre on-true, le cas échéant.)
•Deux types de textes d'erreur sont fournis par le message SoapFault.
Il est très important de noter le placement de filtre dans l'exemple :
•Les deux paramètres du composant de filtre, on-true et on-false, doivent être mappés. L'un d'entre eux doit être mappé au composant d'erreur, et l'autre au composant cible qui reçoit les données de source filtrées. Sinon, le composant d'erreur ne sera jamais déclenché. •Les composants d'exception et de cible doivent être connectés directement au composant de filtre. Les fonctions ou les autres composants ne peuvent pas être placés entre le filtre et une des exceptions, ou bien les composants de cible. |