2017-06-26 5 views
1

J'ai un service d'intégration qui a 2 champs entrants (Login et Acao), les deux devraient être requis, j'ai donc créé un objet métier pour chacun, et dans la section "Type simple", j'ai défini le "message d'erreur" des champs. Lorsque j'ai exécuté le service par IBM BPM et que je n'ai pas renseigné ces champs, le message s'affiche, mais si j'appelle le service à l'aide de SOAP UI, je reçois l'erreur "Internal Server" et le message que j'ai défini à " Message d'erreur "n'est pas affiché.Comment renvoyer un message d'erreur dans un service IBM BPM?

J'ai utilisé "Error Intermediate Event" pour intercepter l'erreur et "Error end Event", mais cela ne fonctionne toujours pas. Quel est le meilleur moyen de rendre un champ obligatoire dans un service IBM BPM ou comment puis-je toujours lancer une exception, mais au lieu de "Internal Error" afficher un message spécifique?

Amitiés

Répondre

2

Je ne suis pas sûr de votre version actuelle d'IBM BPM ou de l'édition et je suppose que vous utilisez uniquement Process Designer.

Je pense qu'il n'est pas possible de lancer une erreur comme vous le souhaitez. Vous devrez peut-être implémenter votre service Web (je suppose qu'un WS est utilisé pour exposer le système d'information) en utilisant IBM Integration Designer (IID), qui est un peu plus complexe mais qui a beaucoup de flexibilité.

Dans le cas qui ne sont pas une option (uniquement disponible en version Advanced Edition), vous pouvez ajouter une variable de sortie supplémentaire à votre service actuel pour revenir (jet) l'erreur:

  • Ajouter une sortie variable en chaîne ou tout autre type complexe recherché
  • Utilisez le End Event régulièrement au lieu de votre Error End Event
  • Inclure un script entre le Error Intermediate Event et le End Event pour cartographier la description de l'erreur à la nouvelle variable de sortie