Compartir a través de


Invocación de conjuntos de solicitudes en Oracle E-Business Suite mediante el modelo de servicio WCF

El adaptador de Microsoft BizTalk para Oracle E-Business Suite le permite ejecutar conjuntos de solicitudes en Oracle E-Business Suite. Los conjuntos de solicitudes se dividen en una o varias fases y cada fase contiene un conjunto de informes y programas simultáneos. Para obtener más información sobre cómo el adaptador admite conjuntos de solicitudes, vea Operaciones en conjuntos de solicitudes.

La clase de cliente WCF

El nombre del cliente WCF generado para invocar los conjuntos de solicitudes por el adaptador de Oracle E-Business se muestra en la tabla siguiente.

Artefacto Nombre de cliente de WCF
Conjunto de solicitudes RequestSets_[APP_NAME]Client

[APP_NAME] = Nombre real de la aplicación Oracle E-Business Suite; por ejemplo, SQLAP.

Firma de método para invocar conjuntos de solicitudes

En la tabla siguiente se muestra la firma del método para los conjuntos de solicitudes.

Operación Firma del método
Conjunto de solicitudes public <return type><request set name>(param 1, param 2, ...)

Por ejemplo, en el código siguiente se muestran las firmas de método para una clase de cliente WCF generada para el conjunto de solicitudes de reqset_singlestage .

Nota

Se trata de un conjunto de solicitudes personalizado y es posible que no esté disponible en la instancia de Oracle E-Business Solution.

public partial class RequestSets_SQLAPClient : System.ServiceModel.ClientBase<RequestSets_SQLAP>, RequestSets_SQLAP{      
  
    public string REQSTG(  
      schemas.microsoft.com.OracleEBS._2008._05.Options.SetRelClassOptions SetRelClassOptions,  
      schemas.microsoft.com.OracleEBS._2008._05.Options.SetPrintOptions SetPrintOptions,   
      schemas.microsoft.com.OracleEBS._2008._05.Options.SetRepeatOptions SetRepeatOptions,   
      schemas.microsoft.com.OracleEBS._2008._05.Options.SetNlsOptions SetNlsOptions,  
      string StartTime,  
      schemas.microsoft.com.OracleEBS._2008._05.RequestSetStage.SQLAP.REQSTG.set1 set1_set1);  
}  

En este fragmento de código, RequestSets_SQLAPClient es el nombre de la clase WCF en oracleEBSBindingClient.cs generada por el complemento Agregar referencia de servicio de adaptador. REQSTG es el nombre del método para invocar el conjunto de solicitudes.

Crear un cliente WCF para invocar conjuntos de solicitudes

El conjunto genérico de acciones necesarias para realizar una operación en Oracle E-Business Suite mediante un cliente WCF implica un conjunto de tareas descritas en Información general del modelo de servicio WCF con el adaptador de Oracle E-Business Suite. En esta sección se describe cómo crear un cliente WCF para invocar el conjunto de solicitudes de reqset_singlestage .

Para crear un cliente WCF

  1. Cree un proyecto de Visual C# en Visual Studio. En este tema, cree una aplicación de consola.

  2. Genere la clase de cliente WCF para el conjunto de solicitudes de reqset_singlestage . Para obtener más información sobre cómo generar una clase de cliente WCF, consulte Generación de un cliente WCF o un contrato de servicio WCF para artefactos de soluciones de Oracle E-Business Suite.

    Importante

    Antes de generar la clase de cliente WCF, asegúrese de establecer la propiedad de enlace EnableBizTalkCompatibilityMode en false.

  3. En el Explorador de soluciones, agregue referencia a Microsoft.Adapters.OracleEBS y Microsoft.ServiceModel.Channels.

  4. Abra el archivo Program.cs y agregue los siguientes espacios de nombres:

    • Microsoft.Adapters.OracleEBS

    • System.ServiceModel

  5. Abra el archivo Program.cs y cree un cliente como se describe en el fragmento de código siguiente.

    OracleEBSBinding binding = new OracleEBSBinding();  
    EndpointAddress address = new EndpointAddress("oracleebs://ebs_instance_name");  
    RequestSets_SQLAPClient client = new RequestSets_SQLAPClient(binding, address);  
    

    En este fragmento de código, RequestSets_SQLAPClient es el cliente WCF definido en OracleEBSBindingClient.cs. El complemento Agregar referencia del servicio adaptador genera este archivo.

    Nota

    En este fragmento de código, especificará explícitamente el enlace y la dirección del punto de conexión en el código de la aplicación. También puede usar estos valores desde el archivo de configuración de la aplicación, app.config, también generado por el complemento Agregar referencia del servicio adaptador. Para obtener más información sobre las distintas formas de especificar el enlace de cliente, consulte Configuración de un enlace de cliente para Oracle E-Business Suite.

  6. Establezca las credenciales para el cliente.

    client.ClientCredentials.UserName.UserName = "myuser";  
    client.ClientCredentials.UserName.Password = "mypassword";  
    
  7. Dado que está invocando conjuntos de solicitudes en una aplicación de Oracle E-Business Suite, 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";  
    
  8. Abra el cliente tal y como se describe en el fragmento de código siguiente:

    try  
    {  
       Console.WriteLine("Opening Client...");  
       client.Open();  
    }  
    catch (Exception ex)  
    {  
       Console.WriteLine("Exception: " + ex.Message);  
       throw;  
    }  
    
  9. Invoque el conjunto de solicitudes reqset_singlestage .

    string RequestID;  
    
    schemas.microsoft.com.OracleEBS._2008._05.RequestSetStage.SQLAP.REQSTG.set1 param =  
        new schemas.microsoft.com.OracleEBS._2008._05.RequestSetStage.SQLAP.REQSTG.set1();  
    
    param.INSPARAMPROG = new schemas.microsoft.com.OracleEBS._2008._05.RequestSetConcurrentProgram.SQLAP.REQSTG.set1.SQLAP1.INSPARAMPROG();  
    param.INSPARAMPROG.p_id = "123";  
    param.INSPARAMPROG.p_name = "MyName";  
    
    try  
    {  
        Console.WriteLine("Invoking the reqset_singlestage request set");  
        RequestID = client.REQSTG(null, null, null, null, null, param);  
        Console.WriteLine("The request ID generated for the request set is : " + RequestID);  
        Console.WriteLine("*****************************************************************");  
        Console.WriteLine("\nHit <RETURN> to end");  
        Console.ReadLine();  
    }  
    catch (Exception ex)  
    {  
        Console.WriteLine("Exception : " + ex);  
        throw;  
    }  
    
  10. Cierre el cliente como se describe en el fragmento de código siguiente:

    client.Close();  
    
  11. Compile el proyecto y ejecútelo. La aplicación invoca el conjunto de solicitudes reqset_singlestage y devuelve un identificador de solicitud, que se escribe en la consola.

Consulte también

Desarrollo de aplicaciones de Oracle E-Business Suite mediante el modelo de servicio WCF