sql >> Base de Datos >  >> RDS >> Oracle

Acceda al servicio web desde el procedimiento almacenado de Oracle

En primer lugar, ¿a qué tipo de servicio web está llamando? Estoy asumiendo SOAP o REST.

Para los servicios web REST, UTL_HTTP suele ser más que suficiente, combinado con un poco de XPath en un procedimiento almacenado PL/SQL simple.

Para los servicios web SOAP, depende de cuán sofisticado necesite (o desee) ser. Sin duda, puede usar XQuery para crear un documento XML que cumpla con las especificaciones del servicio web, usar UTL_HTTP para publicar el documento y obtener la respuesta, y luego usar XPath para analizar la respuesta en PL/SQL. Esta es una solución relativamente manual y relativamente de fuerza bruta, pero si está hablando de un puñado de servicios web, implica un mínimo de infraestructura y las llamadas pueden unirse con bastante rapidez.

Si espera que las llamadas evolucionen con el tiempo o espera que haya una serie de procedimientos que llamen a una serie de servicios web, probablemente tenga sentido invertir tiempo en algo como UTL_DBWS (sin embargo, esto no es algo que generalmente obtenga). trabajando en un par de horas).