2012-12-27 5 views
2

Je suis nouveau à Oracle OSB et j'essaye d'invoquer un service, mais si l'appel échoue, réessayez cet appel jusqu'à N fois. Si cela échoue N + 1 fois, je veux enregistrer l'occurrence.Oracle Service Bus réessayant appel de service

Quelqu'un peut-il m'aider ou me suggérer de la documentation?

Vive

Répondre

3

Je pense que vous avez créé des services suivants déjà dans votre console osb: 1. Proxy Service 2. Business Service

Je pense que vous voulez essayer d'appeler le service N fois supplémentaires, cela fera le dernier essai comme (N + 1) e try ou Nth réessayer.

Maintenant, pour le mécanisme de nouvelle tentative, réglez Nombre de relances dans Transport Configuration of Business Service N.

En cas d'échec de la nouvelle tentative Nième, vous recevrez une erreur de retour dans votre service proxy. Supposons que vous appeliez Business Service à partir du nœud Route of Proxy Service. Dans ce cas, vous pouvez intercepter l'erreur dans RouteNode Error Handler. Vous pouvez enregistrer les détails ici.

+0

Réponse entièrement correcte. Je dois juste ajouter que pour certains services backend, il est nécessaire de mettre à jour le message avec le drapeau "Ceci est un ré-envoi" pour permettre la vérification de la livraison en double; pour de tels services, la nouvelle tentative devrait être faite manuellement - attraper dans le gestionnaire d'erreur et réessayer après la mise à jour. Douleur dans les fesses, ceux-là. –