Oracle
 sql >> Base de données >  >> RDS >> Oracle

Accéder au service Web à partir de la procédure stockée Oracle

Tout d'abord, quel type de service Web appelez-vous ? Je suppose soit SOAP soit REST.

Pour les services Web REST, UTL_HTTP est souvent plus que suffisant, combiné avec un peu de XPath dans une simple procédure stockée PL/SQL.

Pour les services Web SOAP, cela dépend du degré de sophistication dont vous avez besoin (ou souhaitez) être. Vous pouvez certainement utiliser XQuery pour créer un document XML qui répond aux spécifications du service Web, utiliser UTL_HTTP pour publier le document et obtenir la réponse, puis utiliser XPath pour analyser la réponse en PL/SQL. Il s'agit d'une solution relativement manuelle et relativement brutale, mais si vous parlez d'une poignée de services Web, cela implique un minimum d'infrastructure et les appels peuvent être regroupés assez rapidement.

Si vous vous attendez à ce que les appels évoluent avec le temps ou si vous vous attendez à ce qu'il y ait un certain nombre de procédures appelant un certain nombre de services Web, il est probablement logique d'investir du temps dans quelque chose comme UTL_DBWS (ce n'est pas quelque chose, cependant, que vous obtenez généralement travailler en quelques heures).