Compartir a través de


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