Esquemas de mensaje para funciones y procedimientos
El adaptador de Microsoft BizTalk para Oracle Database muestra funciones de base de datos de Oracle y procedimientos almacenados como operaciones. En esta sección se describe la estructura de mensajes y las acciones usadas para invocar funciones y procedimientos.
Estructura de mensajes de funciones y procedimientos
Las operaciones expuestas para funciones y procedimientos almacenados siguen un patrón de intercambio de mensajes de solicitud-respuesta. En la tabla siguiente se muestra la estructura de estos mensajes de solicitud y respuesta.
Operación | Mensaje XML | Descripción |
---|---|---|
Solicitud de procedimiento almacenado | <[SP_NAME] xmlns="http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Procedure"> <[PRM1_NAME]>value1</[PRM1_NAME]> <[PRM2_NAME]>value2</[PRM2_NAME]> … </[SP_NAME]> |
Admite los parámetros IN e IN OUT de Oracle en el cuerpo del mensaje. |
Respuesta de procedimiento almacenado | <[SP_NAME]Response xmlns="http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Procedure"> <[PRM1_NAME]>value1<[PRM1_NAME]> <[PRM2_NAME]>value2</[PRM2_NAME]> … </[SP_NAME]Response> |
Admite los parámetros OUT e IN OUT de Oracle en el cuerpo del mensaje. |
Solicitud de función | <[FN_NAME] xmlns="http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Function"> <[PRM1_NAME]>value1</[PRM1_NAME]> <[PRM2_NAME]>value2</[PRM2_NAME]> … </[FN_NAME]> |
Admite los parámetros IN e IN OUT de Oracle en el cuerpo del mensaje. |
Respuesta de función | <[FN_NAME]Response xmlns="http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Function"> <[FN_NAME]Result>return_value</[FN_NAME]Result> <[PRM1_NAME]>value1</[PRM1_NAME]> <[PRM2_NAME]>value2</[PRM2_NAME]> … </[FN_NAME]Response> |
Admite los parámetros OUT e IN OUT de Oracle en el cuerpo del mensaje. : el valor devuelto de la función se devuelve en el <[FN_NAME]Result\> elemento . Este es el primer elemento del mensaje de respuesta. Viene antes de cualquier parámetro. |
Procedimiento empaquetado o solicitud de función | <[SP_NAME] xmlns="http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Package/[PACKAGE_NAME]"> <[PRM1_NAME]>value1</[PRM1_NAME]> <[PRM2_NAME]>value2</[PRM2_NAME]> … </[SP_NAME]> |
Igual que la función o el procedimiento almacenado |
Procedimiento empaquetado o respuesta de función | <[SP_NAME]Response xmlns="http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Package/[PACKAGE_NAME]"> <[PRM1_NAME]>value1</[PRM1_NAME]> <[PRM2_NAME]>value2</[PRM2_NAME]> … </[SP_NAME]Response> |
Igual que la función o el procedimiento almacenado |
[SCHEMA]
= Colección de artefactos de Oracle; por ejemplo, SCOTT.
[SP_NAME]
= Procedimiento almacenado que se va a ejecutar; por ejemplo, SP_INSERT.
[FN_NAME]
= Función que se va a ejecutar; por ejemplo, FN_GETID.
[PRM1_NAME]
= El nombre del parámetro de Oracle. Consulte la columna Descripción para obtener instrucciones de parámetro compatibles para cada mensaje.
[PACKAGE_NAME]
= Nombre del paquete que contiene el procedimiento o función de destino.
La base de datos de Oracle admite la sobrecarga de procedimientos almacenados y funciones. El adaptador de base de datos de Oracle admite esta funcionalidad anexando una cadena de sobrecarga al espacio de nombres de destino para cada artefacto sobrecargado. El valor de esta cadena es "overload1" para la primera sobrecarga, "overload2" para la segunda sobrecarga, etc. En el ejemplo siguiente se muestra la estructura del mensaje para dos procedimientos almacenados sobrecargados.
Stored Procedure Overload 1:
<[SP_NAME] xmlns="http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Package/[PACKAGE_NAME]/[SP_NAME]/overload1">
<[PRM1_NAME]>value1</[PRM1_NAME]>
<[PRM2_NAME]>value1</[PRM2_NAME]>
…
</[SP_NAME]>
Stored Procedure Overload 2:
<[SP_NAME] xmlns="http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Package/[PACKAGE_NAME]/[SP_NAME]/overload2">
<[PRM1_NAME]>value1</I_[PRM1_NAME]>
<[PRM2_NAME]>value1</I_[PRM2_NAME]>
…
</[SP_NAME]>
Acciones de mensajes de funciones y procedimientos
El adaptador de Oracle Database usa las siguientes acciones de mensaje para las operaciones de procedimiento almacenado y función.
Message | Acción | Ejemplo |
---|---|---|
Solicitud de procedimiento almacenado | http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Procedure/[SP_NAME] |
http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Procedure/SP_INSERT |
Respuesta de procedimiento almacenado | http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Procedure/[SP_NAME]/response |
http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Procedure/SP_INSERT/response |
Solicitud de función | http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Function/[FN_NAME] |
http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Function/FN_GETID |
Respuesta de función | http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Function/[FN_NAME]/response |
http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Function/FN_GETID/response |
Solicitud de procedimiento almacenado empaquetado | http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Package/[PACKAGE_NAME]/[SP_NAME] |
http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Package/CUSTOMER/SP_INSERT |
Respuesta de procedimiento almacenado empaquetado | http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Package/[PACKAGE_NAME]/[SP_NAME]/response |
http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Package/CUSTOMER/SP_INSERT/response |
Solicitud de función empaquetada | http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Package/[PACKAGE_NAME]/[FN_NAME] |
http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Package/CUSTOMER/FN_GETID |
Respuesta de función empaquetada | http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Package/[PACKAGE_NAME]/[FN_NAME]/response |
http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Package/CUSTOMER/FN_GETID/response |
Solicitud de procedimiento almacenado sobrecargado | http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Procedure/[SP_NAME]/[OVERLOAD] |
http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Procedure/SP_INSERT/overload1 |
Respuesta de procedimiento almacenado sobrecargado | http://Microsoft.LobServices.OracleDB/2007/03/[SCHEMA]/Procedure/[SP_NAME]/[OVERLOAD]/response |
http://Microsoft.LobServices.OracleDB/2007/03/SCOTT/Procedure/SP_INSERT/overload1/response |
[SCHEMA]
= Colección de artefactos de Oracle; por ejemplo, SCOTT.
[SP_NAME]
= Procedimiento almacenado que se va a ejecutar; por ejemplo, SP_INSERT.
[FN_NAME]
= Función que se va a ejecutar; por ejemplo, FN_GETID.
[PACKAGE_NAME]
= Nombre del paquete que contiene el procedimiento o función de destino.
[OVERLOAD]
= El parámetro Overload. Los valores posibles son overload1, overload2, etc.
Consulte también
Mensajes y esquemas de mensaje para el adaptador de BizTalk para la base de datos de Oracle