2017-01-27 7 views
0

Je crée un proxy dans Oracle Service Bus 11G pour un service Web. Après réception de la requête et quand la réponse est 200, tout va bien, l'OSB retourne le même code 200.Retour du code d'erreur du bus de service Oracle

Maintenant, dans mon WebService je lève erreur 400, 406, 403, etc., selon quelque traitement logique, mais l'OSB soulève toujours l'erreur 500.

Il y a un moyen de faire OSB avancer la réponse claire, y compris l'erreur code?

Merci.

Répondre

3

Ajouter un gestionnaire de défaut au service d'affaires

variables Extrait de data($fault//*:http-response-code) et data($fault//*:reason) (ou quelque chose de similaire

Insérer:

<http:http-response-code>$response_code_variable</http:http-response-code>
dernier enfant de
./ctx:transport/ctx:response
Dans variable - $inbound

Insérer:

<tp:response-message>$response_reason_variable</tp:response-message>
après ./ctx:transport/ctx:response/ctx:response-code
Dans variable - $inbound

+1

a marché! Je vous remercie! –