Compartir a través de


Invocación de RFC en SAP mediante BizTalk Server

El adaptador de SAP muestra las RFC expuestas por un sistema SAP como operaciones que un cliente de adaptador puede invocar. En esta sección se proporcionan instrucciones sobre cómo invocar una RFC en un sistema SAP mediante el adaptador de SAP con Microsoft BizTalk Server. Para obtener más información sobre cómo el adaptador de SAP admite la invocación de una RFC en un sistema SAP, consulte Operaciones en RFC en SAP. Para obtener más información sobre la estructura del mensaje SOAP para invocar una RFC, vea Esquemas de mensajes para operaciones RFC.

¿Cómo invocar una RFC en un sistema SAP?

La realización de una operación en un sistema SAP mediante el adaptador de SAP con BizTalk Server implica tareas de procedimientos descritas en Bloques de creación para crear aplicaciones SAP. Para invocar una RFC en un sistema SAP, estas tareas son:

  1. Cree un proyecto de BizTalk y genere el esquema para la RFC que desea invocar en el sistema SAP.

  2. Cree mensajes en el proyecto de BizTalk para enviar y recibir mensajes desde el sistema SAP.

  3. Cree una orquestación para invocar una RFC en el sistema SAP.

  4. Compile e implemente el proyecto de BizTalk.

  5. Configure la aplicación de BizTalk mediante la creación de puertos de envío y recepción físicos.

  6. Inicie la aplicación de BizTalk.

    En este tema se proporcionan instrucciones para realizar estas tareas.

Generar esquema

En este tema, para demostrar cómo invocar una RFC en un sistema SAP, generamos el esquema para RFC_CUSTOMER_GET. Consulte Examinar, buscar y obtener metadatos para operaciones rfC en SAP para obtener más información sobre cómo generar esquema.

Definición de mensajes y tipos de mensajes

El esquema que generó 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. Debe vincular el esquema que generó a los mensajes de la vista Orquestación del proyecto de BizTalk.

Para este tema, debe crear dos mensajes: uno para enviar una solicitud al sistema SAP y al otro para recibir una respuesta.

Realice los pasos siguientes para crear mensajes y vincularlos al esquema.

  1. Abra la vista de orquestación del proyecto de BizTalk, si aún no está abierto. Haga clic en Ver, seleccione Otras ventanas y haga clic en Vista de orquestación.

  2. En la vista Orquestación, haga clic con el botón derecho en Mensajes y, a continuación, haga clic en Nuevo mensaje.

  3. Haga clic con el botón derecho en el mensaje recién creado y seleccione Ventana Propiedades.

  4. En el panel Propiedades de Message_1, haga lo siguiente.

    Usa esto Para
    Identificador Escriba Solicitud.
    Tipo de mensaje En la lista desplegable, expanda Esquemas y seleccione InvokeRFC.SAPBindingSchema.RFC_CUSTOMER_GET, donde InvokeRFC es el nombre del proyecto de BizTalk. SAPBindingSchema es el esquema generado para RFC_CUSTOMER_GET.
  5. Repita el paso anterior para crear un nuevo mensaje. En el panel Propiedades del nuevo mensaje, haga lo siguiente.

    Usa esto Para
    Identificador Escriba Respuesta.
    Tipo de mensaje En la lista desplegable, expanda Esquemas y seleccione InvokeRFC.SAPBindingSchema.RFC_CUSTOMER_GETResponse.

Configuración de la orquestación

Debe crear una orquestación de BizTalk para usar BizTalk Server para invocar RFC en el sistema SAP. En esta orquestación, se deja un mensaje de solicitud en una ubicación de recepción definida. El adaptador de SAP consume el mensaje y lo pasa al sistema SAP. La respuesta del sistema SAP se guarda en otra ubicación. Una orquestación típica para invocar RFC en un sistema SAP contendrá:

  • Enviar y recibir formas para enviar mensajes al sistema SAP y recibir respuestas.

  • Puerto de recepción unidireccional para recibir mensajes de solicitud que se van a enviar al sistema SAP.

  • Puerto de envío bidireccional para enviar mensajes de solicitud al sistema SAP y recibir respuestas.

  • Un puerto de envío unidireccional para enviar las respuestas desde el sistema SAP a una carpeta.

    Una orquestación de ejemplo es similar a la siguiente:

    Orquestación con puertos conectados

Agregar formas de mensaje

Asegúrese de especificar las siguientes propiedades para cada una de las formas de mensaje. Los nombres enumerados en la columna Shape son los nombres de las formas de mensaje tal como se muestran en la orquestación anterior.

Forma Tipo de forma Propiedades
Recibir_Solicitud Recibir - Establecer nombreen Receive_Request
- Establecer Activar en True
Enviar_LOB Enviar - Establecer Nombre a Send_LOB
Receive_LOB Recibir - Establecer nombreen Receive_LOB
- Establecer Activar en False
Enviar_Respuesta Enviar - Asigne Nombre a Send_Response

Agregar puertos

Especifique las siguientes propiedades para cada uno de los puertos lógicos. Los nombres enumerados en la columna Puerto son los nombres de los puertos tal como se muestran en la orquestación.

Puerto Propiedades
ReceiveMsgPort - Establece Identificador en ReceiveMsgPort
- Establecer Tipo en ReceiveMsgPortType
- Establecer el patrón de comunicación en unidireccional
- Establecer la dirección de comunicación para recibir
SendToLOBPort - Establecer Identificador en SendToLOBPort
- Establecer Tipo en SendToLOBPortType
- Establecer el patrón de comunicación en Request-Response
- Establecer la dirección de comunicación en enviar y recibir
SendMsgPort - Establece identificador en SendMsgPort
- Configurar Tipo como SendMsgPortType
- Establecer el patrón de comunicación en unidireccional
- Establecer la dirección de comunicación en Enviar

Especificar mensajes para formas de acción y conectarse a puertos

En la tabla siguiente se especifican las propiedades y sus valores que se van a establecer para especificar mensajes para las formas de acción y vincularlos a los puertos. Los nombres enumerados en la columna Shape son los nombres de las formas de mensaje tal como se muestran en la orquestación anterior.

Forma Propiedades
Recibir_Solicitud - Establecer mensaje en solicitud
- Configurar Operación en ReceiveMsgPort.Operation_1.Request
Enviar_LOB - Establecer mensaje en solicitud
- Establecer Operación en SendToLOBPort.Operation_1.Request
Receive_LOB - Establecer mensaje en respuesta
- Establezca Operation en SendToLOBPort.Operation_1.Response
Enviar_Respuesta - Establecer mensaje en respuesta
- Establecer Operación en SendMsgPort.Operation_1.Request

Una vez que haya especificado estas propiedades, las formas de mensaje y los puertos están conectados y se completa la orquestación.

Ahora debe compilar la solución de BizTalk e implementarla en un servidor de 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 más información sobre cómo configurar una aplicación, consulte How to Configure an Application (Cómo configurar una aplicación).

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, debes:

    • Defina una ubicación en el disco duro y un puerto de archivo correspondiente donde dejará un mensaje de solicitud. La orquestación de BizTalk consumirá el mensaje de solicitud y lo enviará al sistema SAP.

    • Defina una ubicación en el disco duro y un puerto de archivos correspondiente donde la orquestación de BizTalk dejará el mensaje de respuesta con la respuesta del sistema SAP.

    • Defina un puerto de envío físico WCF-Custom o WCF-SAP para enviar mensajes al sistema SAP. También debe especificar la acción en el puerto 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 SAP.

      Nota:

      La generación del esquema mediante el complemento del proyecto de BizTalk para consumir servicio de 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, consulte Configuración de un enlace de puerto físico mediante un archivo de enlace de puertos en SAP.

Iniciar la aplicación

Debe iniciar la aplicación de BizTalk para invocar una RFC en el sistema SAP. Para obtener instrucciones sobre cómo iniciar una aplicación de BizTalk, vea Cómo iniciar una orquestación o cómo iniciar una aplicación.

En esta fase, asegúrese de:

  • El puerto de recepción FILE para recibir mensajes de solicitud para la orquestación está en funcionamiento.

  • El puerto de envío "FILE" para recibir los mensajes de respuesta de la orquestación está en funcionamiento.

  • El puerto de envío WCF-Custom o WCF-SAP para enviar mensajes al sistema SAP está activo.

  • 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 dejar un mensaje de solicitud de la orquestación en una ubicación predefinida. Consulte Esquemas de mensajes para operaciones RFC para conocer el esquema del mensaje de solicitud para invocar una RFC en un sistema SAP. Por ejemplo, el mensaje de solicitud para invocar RFC_CUSTOMER_GET es:

<RFC_CUSTOMER_GET xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/">  
  <KUNNR>0000001390</KUNNR>  
  <NAME1>*</NAME1>  
  <CUSTOMER_T/>  
</RFC_CUSTOMER_GET>  

La orquestación consume el mensaje y lo envía al sistema SAP. La respuesta del sistema SAP se guarda en otra ubicación de archivo definida como parte de la orquestación. Por ejemplo, la respuesta del sistema SAP para el mensaje de solicitud anterior es:

<?xml version="1.0" encoding="utf-8" ?>   
<RFC_CUSTOMER_GETResponse xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/">  
  <CUSTOMER_T>  
    <RFCCUST xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">  
      <KUNNR>0000001390</KUNNR>   
      <ANRED>Firma</ANRED>   
      <NAME1>Contoso, Ltd.</NAME1>   
      <PFACH />   
      <STRAS>4567 Main Street</STRAS>   
      <PSTLZ>98052</PSTLZ>   
      <ORT01>USA</ORT01>   
      <TELF1>555-0101</TELF1>   
      <TELFX>555-0102</TELFX>   
    </RFCCUST>  
  </CUSTOMER_T>  
</RFC_CUSTOMER_GETResponse>  

Posibles excepciones

Para obtener información sobre las excepciones que puede encontrar al invocar una RFC en un sistema SAP mediante BizTalk Server, vea Excepciones y control de errores con el adaptador de SAP.

Procedimientos recomendados

Después de implementar y configurar el proyecto de BizTalk, puede exportar opciones de configuración a un archivo XML denominado archivo de enlaces. Una vez que genere un archivo de enlaces, puede importar los valores de configuración del archivo para que no sea necesario crear los puertos de envío, los puertos de recepción, etc. para la misma orquestación. Para obtener más información sobre archivos de vinculación, consulte Reuse SAP adapter bindings.

Véase también

Desarrollo de aplicaciones de BizTalk