Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El adaptador de Oracle E-Business descubre un conjunto de operaciones de Insertar, Seleccionar, Actualizar y Eliminar en las tablas de interfaz de Oracle E-Business Suite. Mediante estas operaciones, puede realizar instrucciones Insert, Select, Update y Delete sencillas calificadas por una cláusula Where en una tabla de interfaz de destino. En este tema se proporcionan instrucciones sobre cómo realizar una operación de inserción en una tabla de interfaz mediante el modelo de canal WCF.
Para obtener más información sobre cómo el adaptador admite estas operaciones, consulte Operaciones en tablas de interfaz y vistas de interfaz. Para obtener más información sobre cómo realizar operaciones en Oracle E-Business Suite mediante el modelo de canal WCF, consulte Información general sobre el modelo de canal WCF con el adaptador de Oracle E-Business Suite.
Acerca de los ejemplos usados en este tema
En el ejemplo de este tema se realizan operaciones en la tabla de interfaz MS_SAMPLE_EMPLOYEE. La tabla se crea ejecutando el script proporcionado con los ejemplos. Para obtener más información sobre los ejemplos, consulte Ejemplos para el adaptador de Oracle EBS. Junto con los ejemplos de adaptadores de Oracle E-Business, también se proporciona un ejemplo, InsertOperation, que se basa en este tema.
Mensaje de inserción
Para realizar operaciones en Oracle E-Business Suite mediante el modelo de canal WCF, debe tener el mensaje de solicitud específico de la operación. El mensaje de solicitud para realizar una operación De inserción en la tabla de interfaz de MS_SAMPLE_EMPLOYEE es similar al siguiente:
<Insert xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/InterfaceTables/FND/APPS/MS_SAMPLE_EMPLOYEE">
<RECORDSET>
<InsertRecord xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/TableViewRecord/APPS/MS_SAMPLE_EMPLOYEE">
<EMP_NO>10050</EMP_NO>
<NAME>John Smith</NAME>
<DESIGNATION>Manager</DESIGNATION>
<SALARY>500000</SALARY>
<JOIN_DATE>1999-05-31</JOIN_DATE>
</InsertRecord>
</RECORDSET>
</Insert>
Este mensaje de solicitud inserta un registro con los detalles siguientes:
Employee Number = 10050
Name = Tom Smith
Designation = Manager
Salary = 500000
Debe copiar el mensaje en un archivo, por ejemplo, InsertRequest.xml. Este archivo se usa en este ejemplo para enviar el mensaje de solicitud a Oracle E-Business Suite mediante el adaptador de Oracle E-Business. Para obtener más información sobre el esquema de mensajes para las operaciones en la tabla, vea Esquemas de mensaje para insertar, actualizar, eliminar y seleccionar operaciones.
Creación de una aplicación de canal WCF
En esta sección se proporcionan instrucciones sobre cómo crear una aplicación de canal WCF para realizar una operación Insert en la tabla de interfaz de MS_SAMPLE_EMPLOYEE.
Para crear una aplicación de canal WCF para insertar registros en la tabla
Cree un proyecto de Visual C# en Visual Studio. Para este tema, cree una aplicación de consola.
En el Explorador de soluciones, agregue referencia a
Microsoft.Adapters.OracleEBS
,Microsoft.ServiceModel.Channels
,System.ServiceModel
ySystem.Runtime.Serialization
.Abra el archivo Program.cs y agregue los siguientes espacios de nombres:
Microsoft.Adapters.OracleEBS
Microsoft.ServiceModel.Channels
System.ServiceModel
System.ServiceModel.Channels
System.Xml
Cree el enlace y el punto de conexión.
OracleEBSBinding binding = new OracleEBSBinding(); EndpointAddress address = new EndpointAddress("oracleebs://ebs_instance_name");
Dado que está realizando una operación en una tabla de interfaz, debe establecer el contexto de la aplicación. En este ejemplo, para establecer el contexto de la aplicación, especifique las propiedades de enlace OracleUserName, OraclePassword y OracleEBSResponsibilityName . Para obtener más información sobre el contexto de la aplicación, consulte Establecimiento del contexto de la aplicación.
binding.OracleUserName = "myOracleEBSUserName"; binding.OraclePassword = "myOracleEBSPassword"; binding.OracleEBSResponsibilityName = "myOracleEBSResponsibility";
Cree y abra el generador de canales. Esta aplicación envía un mensaje de solicitud a Oracle E-Business Suite y recibe una respuesta, por lo que debe implementar la interfaz IRequestChannel.
ChannelFactory<IRequestChannel> factory = new ChannelFactory<IRequestChannel>(binding, address); factory.Credentials.UserName.UserName = "<Enter user name here>"; factory.Credentials.UserName.Password = "<Enter password here>"; factory.Open();
Cree y abra el canal.
IRequestChannel channel; try { channel = factory.CreateChannel(); channel.Open(); } catch (Exception ex) { Console.WriteLine("Exception :" + ex.Message); throw; }
Cree y envíe el mensaje de solicitud.
XmlReader readerIn; try { readerIn = XmlReader.Create("InsertRequest.xml"); Console.WriteLine("Reader created"); } catch (Exception ex) { Console.WriteLine("Exception: " + ex.Message); throw; } Message messageIn; Message messageOut; try { messageIn = Message.CreateMessage(MessageVersion.Default, "InterfaceTables/Insert/FND/APPS/MS_SAMPLE_EMPLOYEE", readerIn); messageOut = channel.Request(messageIn); } catch (Exception ex) { Console.WriteLine("Exception: " + ex.Message); throw; }
Mientras crea el mensaje de solicitud, debe especificar la acción del mensaje que indique la acción que realiza el adaptador en la tabla de interfaz. Para realizar una operación de inserción en la tabla MS_SAMPLE_EMPLOYEE, la acción en el mensaje es
InterfaceTables/Insert/FND/APPS/MS_SAMPLE_EMPLOYEE
. Para obtener información sobre cómo puede determinar la acción de mensaje para varias operaciones en tablas, vea Esquemas de mensaje para insertar, actualizar, eliminar y seleccionar operaciones.Obtenga el mensaje de respuesta.
XmlReader readerOut = messageOut.GetReaderAtBodyContents(); XmlDocument doc = new XmlDocument(); doc.Load(readerOut); doc.Save("C:\\Response.xml");
Cierre el mensaje, el canal y el generador de canales.
messageOut.Close(); channel.Close(); factory.Close();
Compile el proyecto. Después de compilar el proyecto, debe copiar el mensaje de solicitud, InsertRequest.xml, en la misma ubicación que el ejecutable del proyecto. Normalmente, esta ubicación es \bin\Debug\ en el directorio del proyecto.
Ejecute la aplicación. El mensaje de respuesta, Response.xml, se guarda en la ubicación especificada en la aplicación. El mensaje de respuesta contiene el número o los registros insertados y se parece a lo siguiente:
<InsertResponse xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/InterfaceTables/FND/APPS/MS_SAMPLE_EMPLOYEE"> <InsertResult>1</InsertResult> </InsertResponse>
El valor "1" indica que se inserta un único registro en la tabla MS_SAMPLE_EMPLOYEE.
Véase también
Desarrollo de aplicaciones de Oracle E-Business Suite mediante el modelo de canal WCF