Altova MapForce 2026 Enterprise Edition

Définir les erreurs du service Web SOAP

Accueil Préc Haut Suivant

Un fichier WSDL peut contenir un élément d'erreur pour une opération et un attribut de message qui contient le message d'erreur. Par conséquent, lorsque vous concevez un service web SOAP dans MapForce, vous pouvez ajouter un composant « Erreur » à votre mappage. Cela provoquera le déclenchement d'une exception par le service web si une certaine condition est remplie.

 

Pour insérer un composant Erreur dans un mappage, un élément d'erreur doit être présent dans le fichier WSDL.

 

Vous pouvez définir la condition d'échec dans le mappage et définir le texte du message d'erreur. Lorsque la condition est remplie, le service web échoue comme suit :

 

Dans un environnement réel (au moment de l'exécution, après le déploiement du service web sur un serveur), le service web échoue et renvoie le message personnalisé à l'appelant.

Dans MapForce (au moment de la conception), l'exécution du mappage s'arrête et vous pouvez afficher le message dans la fenêtre Message.

Pour ajouter un composant d'erreur à un mappage MapForce :

1.Dans le menu Insérer, cliquez sur Exception. (Vous pouvez également cliquer sur le bouton Exception ic-component_exception de la barre d'outils.)

2.Sélectionnez Créer erreur WSDL.

mff_soap_add_fault

Note : si l'option Créer erreur WSDL est désactivée et que le message « Aucune erreur pour cette opération » s'affiche, cela signifie qu'il n'existe aucune erreur dans le fichier WSDL et qu'aucune ne peut donc être ajoutée dans MapForce.

 

Pour obtenir un exemple de mappage contenant une erreur de service web, ouvrez l'exemple de projet MapForce suivant : <Documents>\Altova\MapForce2026\MapForceExamples\TimeService\TimeService.mfp. Double-cliquez sur le mappage (opération) getTimeZoneTime.mfd.

mff_soap_fault

 

Dans le mappage ci-dessus, l'exception doit être déclenchée lorsque n0:timezone n'est pas égal à UTC.

 

La fonction equal vérifie si le fuseau horaire est égal à UTC, et le résultat booléen est transmis au filtre.

Si la condition est fausse, c'est-à-dire si la valeur est différente de UTC, le paramètre on-false du filtre active l'exception Fault:errorSoapOut et le processus de mappage est interrompu. (Notez que vous pouvez également connecter l'exception au paramètre on-true, si nécessaire.)

Deux ensembles de textes d'erreur sont fournis par le message SoapFault.

 

Il est très important de noter l'emplacement du filtre dans l'exemple :

 

Les deux paramètres du composant de filtre, on-true et on-false, doivent être mappés. L'un d'eux doit être mappé au composant d’erreur, et l'autre, au composant cible qui reçoit les données source filtrées. Sinon, le composant d’erreur ne sera jamais déclenché.

Les composants d'exception et cible doivent être directement connectés au composant de filtre. Aucune fonction ou autre composant ne peut être placé entre le filtre et les composants d'exception ou cible.

 

© 2019-2025 Altova GmbH