Invocación de programas simultáneos en Oracle E-Business Suite
Oracle E-Business Suite expone programas simultáneos que puede ejecutar para realizar operaciones específicas en aplicaciones oracle. Cada aplicación de Oracle tiene un conjunto de programas simultáneos estándar (que son iguales en todas las operaciones) y determinados programas simultáneos específicos de una aplicación de Oracle. El adaptador de Oracle E-Business expone todos los programas simultáneos como operaciones que los clientes adaptadores pueden invocar. Para obtener más información sobre cómo el adaptador admite programas simultáneos, vea Operaciones en programas simultáneos. Para obtener información sobre la estructura de los mensajes SOAP para invocar programas simultáneos, vea Esquemas de mensajes para programas simultáneos.
Nota
Para los programas simultáneos que no exponen sus metadatos, el adaptador de Oracle E-Business expone 100 parámetros opcionales para cada uno de estos programas simultáneos. Para invocar correctamente estos programas simultáneos, el usuario debe consultar la documentación de Oracle E-Business Suite para averiguar los parámetros de un programa simultáneo que requiera un valor y, a continuación, especificarlos. Un ejemplo de este programa simultáneo es Journal Import (nombre real: GLLEZL) en la aplicación General Ledger .
Requisitos previos
Debe haber completado los pasos descritos en Requisitos previos para crear aplicaciones de Oracle E-Business Suite.
Cómo invocar programas simultáneos en aplicaciones de Oracle
Realizar una operación en Oracle E-Business Suite mediante el adaptador de Oracle E-Business con BizTalk Server implica tareas de procedimientos descritas en Bloques de creación para crear aplicaciones de Oracle E-Business Suite. Para invocar un programa simultáneo, estas tareas son:
Cree un proyecto de BizTalk y genere el esquema para el programa simultáneo que desea invocar.
Cree mensajes en el proyecto de BizTalk para enviar y recibir mensajes hacia y desde Oracle E-Business Suite.
Cree una orquestación para invocar el programa simultáneo.
Compile e implemente el proyecto de BizTalk.
Configure la aplicación de BizTalk mediante la creación de puertos físicos de envío y recepción.
Inicie la aplicación de BizTalk.
En este tema se proporcionan instrucciones para realizar estas tareas.
Generación de esquema
En este tema se muestra cómo invocar el programa simultáneo de la interfaz de cliente desde la aplicación De cobrar . Esta aplicación está disponible con la aplicación predeterminada de Oracle E-Business Suite. Este programa simultáneo devuelve un identificador de solicitud. Para comprobar el estado del programa simultáneo, ejecutamos el Get_Status programa simultáneo pasando el identificador de solicitud recibido en la respuesta del programa simultáneo de la interfaz de cliente .
En este tema, generamos esquema para la interfaz de cliente y Get_Status programas simultáneos. Para obtener más información sobre cómo generar esquema, vea Recuperación de metadatos para operaciones de Oracle E-Business Suite en Visual Studio.
Definición de mensajes y tipos de mensajes
El esquema que ha generado anteriormente describe los "tipos" necesarios para los mensajes de la orquestación. Normalmente, un mensaje es una variable, el tipo para el que se define mediante el esquema correspondiente. Ahora debe crear mensajes para la orquestación y vincularlos a esquemas que generó en el paso anterior.
En esta orquestación, debe crear cuatro mensajes: un conjunto de respuestas de recepción para invocar el programa simultáneo interfaz de cliente y el otro conjunto de respuesta de recepción para invocar el programa simultáneo Get_Status .
Para crear mensajes y vincular al esquema
Agregue una orquestación al proyecto de BizTalk. En Explorador de soluciones, haga clic con el botón derecho en el nombre del proyecto de BizTalk, seleccione Agregar y, a continuación, haga clic en Nuevo elemento. Escriba un nombre para la orquestación de BizTalk y, a continuación, haga clic en Agregar.
Abra la ventana Vista orquestación del proyecto de BizTalk si no está abierta. Para ello, haga clic en Ver, seleccione Otras ventanas y, a continuación, haga clic en Vista de orquestación.
En la vista Orquestación, haga clic con el botón derecho en Mensajes y, a continuación, haga clic en Nuevo mensaje.
Haga clic con el botón derecho en el mensaje recién creado y, a continuación, seleccione Ventana Propiedades.
En el panel Propiedades del Message_1, haga lo siguiente:
Use Para hacer esto Identificador Escriba Request
Tipo de mensaje En la lista desplegable, expanda Esquemas y, a continuación, seleccione ConcurrentProgram.OracleEBSBindingSchema.RACUST, donde ConcurrentProgram es el nombre del proyecto de BizTalk. OracleEBSBindingSchema es el esquema generado para invocar el programa simultáneo interfaz de cliente . Nota: RACUST es el nombre real del programa simultáneo de la interfaz de cliente . Mientras que el complemento consumir servicio de adaptador muestra el nombre descriptivo (interfaz de cliente), el esquema contiene el nombre real del programa simultáneo. Repita el paso 3 para crear tres mensajes nuevos. En el panel Propiedades del nuevo mensaje, haga lo siguiente:
Establecer identificador en Establecer el tipo de mensaje en Response ConcurrentProgram.OracleEBSBindingSchema.RACUSTResponse Get_StatusRequest ConcurrentProgram.OracleEBSBindingSchema1.GetStatusForConcurrentProgram Get_StatusResponse ConcurrentProgram.OracleEBSBindingSchema1.GetStatusForConcurrentProgramResponse
Configuración de la orquestación
Debe crear una orquestación de BizTalk para usar BizTalk Server para invocar programas simultáneos en Oracle E-Business Suite. En esta orquestación, quitará un mensaje de solicitud en una ubicación de recepción definida. La orquestación consume este mensaje y la pasa a Oracle E-Business Suite para invocar el programa simultáneo de la interfaz de cliente . La respuesta del programa simultáneo se recibe de Oracle y se guarda en otra ubicación. El mensaje de respuesta contiene un identificador de solicitud. La orquestación incluye una forma De mensaje de construcción para extraer el identificador de solicitud de la respuesta y construir un mensaje que se ajusta al esquema del Get_Status programa simultáneo. El mensaje para invocar el programa simultáneo de Get_Status se envía a Oracle E-Business Suite con el identificador de solicitud como parámetro. Debe incluir formas de envío y recepción, formas de construcción de mensajes y puertos para enviar mensajes a Oracle y recibir respuestas.
Normalmente, el programa simultáneo interfaz de cliente tardará algún tiempo en ejecutarse, por lo que debe esperar antes de ejecutar el Get_Status simultáneo. Para automatizar esto, agregue una forma Delay .
Una orquestación de ejemplo es similar a la siguiente:
Agregar formas de mensaje
Especifique las siguientes propiedades para cada una de las formas de mensaje. Los nombres enumerados en la columna Shape corresponden a las formas de mensaje que se muestran en la orquestación anterior.
Forma | Tipo de forma | Propiedades |
---|---|---|
ReceiveMessage | Recepción | - Establecer nombre en ReceiveMessage - Establecer Activar en True |
SendMessage | Envío | - Establecer nombre en SendMessage |
ReceiveResponse | Recepción | - Establecer nombre en ReceiveResponse - Establecer Activar en False |
SendResponse | Envío | - Establecer el nombre en SendResponse |
SendGetStatus | Envío | - Establecer nombre en SendGetStatus |
ReceiveStatusResponse | Recepción | - Establecer nombre en ReceiveStatusResponse - Establecer Activar en False |
SaveStatusResponse | Envío | - Establecer nombre en SaveStatusResponse |
Agregar una forma de retraso
Si desea que la orquestación espere entre invocar la interfaz de cliente y Get_Status programas simultáneos, debe agregar una forma Delay a la orquestación. Debe agregar una forma Delay después de que la orquestación copie la respuesta del programa simultáneo de la interfaz de cliente en un puerto de envío FILE. Por lo tanto, debe agregar una forma Delay después de la forma SendResponse .
Dentro de la forma Retraso , puede especificar el intervalo de tiempo para el que la orquestación debe esperar antes de continuar agregando el código siguiente al Editor de expresiones para la forma Retraso :
new System.TimeSpan(0,2,0)
Al agregar este código, la orquestación esperará dos minutos antes de continuar. Para obtener más información sobre cómo configurar la forma Delay , vea How to Configure the Delay Shape.
Adición de la forma Construir mensaje
La respuesta de Oracle E-Business Suite para el programa simultáneo customer Interface contiene un identificador de solicitud. Para obtener el estado del programa simultáneo, debe pasar el mismo identificador de solicitud que un parámetro al programa simultáneo Get_Status . Para ello, en la orquestación, debe incluir una forma Construir mensaje y dentro de esa forma una asignación de mensajes . El propósito de la forma Construir mensaje es:
Para extraer el identificador de solicitud de la respuesta que se recibe para el programa simultáneo de la interfaz de cliente .
Para construir un mensaje que se ajuste al esquema del mensaje para el programa simultáneo de Get_Status .
Para la forma Construir mensaje , establezca la propiedad Construido de mensajes en Get_StatusRequest.
Para la forma Asignación de mensajes, agregue lo siguiente. Antes de agregar el código, debe tener:
XmlDoc = new System.Xml.XmlDocument();
XmlDoc.LoadXml("<GetStatusForConcurrentProgram xmlns='http://schemas.microsoft.com/OracleEBS/2008/05/ConcurrentPrograms/AR'><RequestId /></GetStatusForConcurrentProgram>");
Get_StatusRequest = XmlDoc;
Get_StatusRequest.RequestId = xpath(Response,"string(/*[local-name()='RACUSTResponse']/*[local-name()='RACUSTResult']/text())");
Adición de puertos
Para configurar los puertos, especifique las propiedades enumeradas en la tabla siguiente para cada uno de los puertos lógicos. Los nombres enumerados en la columna Puerto corresponden a los nombres de los puertos mostrados en la orquestación.
Port | Propiedades |
---|---|
MessageIn | - Establecer identificador en MessageIn - Establecer tipo en MessageInType - Establecer el patrón de comunicación en unidireccional - Establecer la dirección de comunicación para recibir |
LOBPort | - Establecer identificador en LOBPort - Establecer tipo en LOBPortType - Establecer el patrón de comunicación en Solicitud-respuesta - Establecer la dirección de comunicación en enviar y recibir |
ResponseOut | - Establecer identificador enResponseOut - Establecer tipo en ResponseOutType - Establecer el patrón de comunicación en unidireccional - Establecer la dirección de comunicación en Enviar - Crear una operación Cust_Interface. Esta operación se usa para el programa simultáneo de la interfaz de cliente . - Crear una operación Get_Status. Esta operación se usa para el programa simultáneo Get_Status . |
LOBPort_GetStatus | - Establecer identificador en LOBPort_GetStatus - Establecer tipoen LOBPort_GetStatusType - Establecer el patrón de comunicación en Solicitud-respuesta - Establecer la dirección de comunicación en enviar y recibir |
Especificar mensajes para formas de acción y conectarse a puertos
En la tabla siguiente se especifican los valores de propiedad para especificar mensajes para las formas de acción y vincularlos a los puertos. Los nombres enumerados en la columna Shape corresponden a los nombres de las formas de mensaje tal como se muestran en el diagrama de orquestación.
Después de especificar estas propiedades, las formas y los puertos de mensaje están conectados y se completa la orquestación.
Ahora debe compilar la solución de BizTalk y, a continuación, implementarla en un BizTalk Server. Para obtener más información, vea Compilar y ejecutar orquestaciones.
Forma | Propiedades |
---|---|
ReceiveMessage | - Establecer mensaje en solicitud - Establecer operaciónen MessageIn.Cust_Interface.Request |
SendMessage | - Establecer mensaje en solicitud - Establecer operaciónen LOBport.Cust_Interface.Request |
ReceiveResponse | - Establecer mensaje en respuesta - Establecer operaciónen LOBport.Cust_Interface.Response |
SendResponse | - Establecer mensaje en respuesta - Establecer operaciónen ResponseOut.Cust_Interface.Request |
SendGetStatus | - Establecer mensajeen Get_StatusRequest - Establecer operaciónen LOBPort_GetStatus.Get_Status.Request |
ReceiveStatusResponse | - Establecer mensajeen Get_StatusResponse - Establecer operaciónen LOBPort_GetStatus.Get_Status.Response |
SaveStatusResponse | - Establecer mensajeen Get_StatusResponse - Establecer operaciónen ResponseOut.Get_Status.Request |
Después de especificar estas propiedades, las formas y los puertos de mensaje están conectados y se completa la orquestación.
Ahora debe compilar la solución de BizTalk y, a continuación, implementarla en un BizTalk Server. Para obtener más información, vea Compilar y ejecutar orquestaciones.
Configuración de la aplicación de BizTalk
Después de implementar el proyecto de BizTalk, la orquestación que creó anteriormente aparece en el panel Orquestaciones de la consola de administración de BizTalk Server. Debe usar la consola de administración de BizTalk Server para configurar la aplicación. Para obtener un tutorial, vea Tutorial: Implementación de una aplicación básica de BizTalk.
La configuración de una aplicación implica:
Selección de un host para la aplicación.
Asignación de los puertos que creó en la orquestación a puertos físicos en la consola de administración de BizTalk Server. Para esta orquestación, debe:
Defina una ubicación en el disco duro y un puerto de archivo correspondiente donde quitará un mensaje de solicitud. La orquestación de BizTalk consumirá el mensaje de solicitud y lo enviará a Oracle E-Business Suite.
Defina una ubicación en el disco duro y un puerto de archivo correspondiente donde la orquestación de BizTalk quitará el mensaje de respuesta que contiene la respuesta de Oracle E-Business Suite.
Defina dos puertos de envío físicos WCF-Custom o WCF-OracleEBS: uno para enviar mensajes a Oracle E-Business Suite para ejecutar el programa simultáneo de la interfaz de cliente y el otro para ejecutar el programa simultáneo Get_Status . También debe especificar la acción en los puertos de envío. Para obtener información sobre cómo crear puertos, consulte Configuración manual de un enlace de puerto físico al adaptador de oracle E-Business.
Para invocar programas simultáneos mediante el adaptador de Oracle E-Business, debe establecer el contexto de aplicación adecuado en el que se invoca la operación. El adaptador de Oracle E-Business proporciona determinadas propiedades de enlace para especificar el contexto de la aplicación para cualquier operación. Debe establecer estas propiedades de enlace en el puerto WCF-Custom o WCF-OracleEBS usado para invocar programas simultáneos.
Si la propiedad de enlace ClientCredentialType está establecida en Database, debe especificar las siguientes propiedades de enlace para establecer el contexto de las aplicaciones.
Binding (propiedad) Value OracleUserName Especifique el nombre de un usuario de Oracle E-Business Suite. El adaptador de Oracle E-Business no conserva el caso del valor especificado para la propiedad de enlace OracleUserName cuando se conecta a Oracle E-Business Suite. El nombre de usuario se pasa a Oracle E-Business Suite mediante las reglas estándar de SQL*Plus. Sin embargo, si desea conservar el caso del nombre de usuario o si desea escribir un nombre de usuario que contenga caracteres especiales, debe especificar el valor entre comillas dobles. OraclePassword Contraseña del usuario de Oracle E-Business Suite. El adaptador de Oracle E-Business no conserva el caso del valor especificado para la propiedad de enlace OraclePassword cuando se conecta a Oracle E-Business Suite. La contraseña se pasa a Oracle E-Business Suite mediante las reglas estándar de SQL*Plus. Sin embargo, si desea conservar el caso de la contraseña o si desea escribir una contraseña que contenga caracteres especiales, debe especificar el valor entre comillas dobles. OracleEBSResponsibilityName Responsabilidad asociada al usuario de Oracle E-Business Suite. Si la propiedad de enlace ClientCredentialType está establecida en EBusiness, debe haber especificado las credenciales de Oracle E-Business al establecer la conexión. En tal caso, solo debe especificar el valor de la propiedad de enlace OracleEBSResponsibilityName .
Para obtener más información sobre las distintas propiedades de enlace, vea Leer sobre las propiedades de enlace del adaptador de BizTalk para Oracle E-Business Suite. Para obtener más información sobre cómo el adaptador admite la configuración del contexto de la aplicación, consulte Establecer contexto de aplicación.
Nota
Puede establecer el contexto de la aplicación especificando las propiedades de enlace o estableciendo las propiedades de contexto del mensaje expuestas por el adaptador de Oracle E-Business. Para obtener instrucciones sobre cómo establecer las propiedades de enlace, consulte Configuración de las propiedades de enlace para Oracle E-Business Suite. Para obtener instrucciones sobre cómo establecer el contexto de la aplicación mediante propiedades de contexto de mensaje, vea Configurar el contexto de aplicación mediante propiedades de contexto de mensaje en Oracle E-Business Suite.
Nota
La generación del esquema mediante el complemento de proyecto de BizTalk del servicio consumir adaptador también crea un archivo de enlace que contiene información sobre los puertos y las acciones que se van a establecer para esos puertos. Puede importar este archivo de enlace desde la consola de administración de BizTalk Server para crear puertos de envío (para llamadas salientes) o puertos de recepción (para llamadas entrantes). Para obtener más información, vea Configurar un enlace de puerto físico mediante un archivo de enlace de puertos en Oracle E-Business Suite.
Iniciar la aplicación
Debe iniciar la aplicación de BizTalk antes de invocar los programas simultáneos. Para obtener instrucciones sobre cómo iniciar una aplicación de BizTalk, vea Cómo iniciar una orquestación.
En esta fase, asegúrese de:
El puerto de recepción FILE para recibir mensajes de solicitud para la orquestación se está ejecutando.
El puerto de envío FILE para recibir los mensajes de respuesta de la orquestación se está ejecutando.
El WCF-Custom o WCF-OracleEBS puerto de envío para invocar el programa simultáneo interfaz de cliente se está ejecutando.
El WCF-Custom o WCF-OracleEBS puerto de envío para invocar al programa simultáneo Get_Status se está ejecutando.
La orquestación de BizTalk para la operación se está ejecutando.
Ejecución de la operación
Después de ejecutar la aplicación, debe quitar un mensaje de solicitud que se ajuste al esquema para invocar el programa simultáneo de la interfaz de cliente . Por ejemplo, el mensaje de solicitud para invocar el programa simultáneo de la interfaz de cliente es:
<RACUST xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/ConcurrentPrograms/AR">
<Description>Customer Interface Program</Description>
<StartTime></StartTime>
<CREATE_RECIPROCAL_CUSTOMER>Yes</CREATE_RECIPROCAL_CUSTOMER>
<ORG_ID>203</ORG_ID>
</RACUST>
Nota
El mensaje de solicitud para invocar un programa simultáneo requiere algunos parámetros opcionales, como SetOptions, SetPrintOptions y SetRepeatOptions. El mensaje de solicitud proporcionado aquí no contiene estos parámetros opcionales. Para obtener información sobre el mensaje de solicitud completo, incluidos los parámetros opcionales, vea Esquemas de mensajes para programas simultáneos.
La orquestación consume el mensaje, lo pasa a Oracle E-Business Suite y recibe una respuesta. El mensaje de respuesta se guarda en la otra ubicación de archivo especificada como parte de la orquestación. La respuesta del programa simultáneo de la interfaz de cliente es similar a la siguiente:
<?xml version="1.0" encoding="utf-8"?>
<RACUSTResponse xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/ConcurrentPrograms/AR">
<RACUSTResult>2794708</RACUSTResult>
</RACUSTResponse>
La respuesta de Oracle E-Business Suite contiene un identificador de solicitud. La orquestación extrae el identificador de solicitud del mensaje de respuesta, construye un mensaje para invocar el programa simultáneo Get_Status y lo pasa al conjunto de aplicaciones de Oracle E-Business Suite para ejecutar el programa simultáneo de Get_Status . Después de recibir la respuesta para el primer Get_Status programa simultáneo, se copia en la misma ubicación de archivo que la primera respuesta. La respuesta del Get_Status programa simultáneo es similar a la siguiente:
<?xml version="1.0" encoding="utf-8" ?>
<GetStatusForConcurrentProgramResponse xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/ConcurrentPrograms/AR">
<GetStatusForConcurrentProgramResult>true</GetStatusForConcurrentProgramResult>
<Phase>Pending</Phase>
<Status>Standby</Status>
<DevPhase>PENDING</DevPhase>
<DevStatus>STANDBY</DevStatus>
<Message>null</Message>
</GetStatusForConcurrentProgramResponse>
Prácticas recomendadas
Después de haber implementado y configurado el proyecto de BizTalk, puede exportar las opciones de configuración a un archivo XML denominado archivo de enlace. Después de generar un archivo de enlace, puede importar los valores de configuración del archivo, de modo que no necesite crear elementos como puertos de envío y puertos de recepción para la misma orquestación. Para obtener más información sobre los archivos de enlace, consulte Reutilización de enlaces de adaptadores con Oracle E-Business Suite.
Consulte también
Desarrollo de aplicaciones de BizTalk mediante el adaptador de Oracle E-Business Suite