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 un 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 físicos de envío y recepción.

  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, se genera 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 el 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 desde 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.

    Use Para hacer esto
    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.

    Use Para hacer esto
    Identificador Respuesta de tipo.
    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 quita 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.

  • Un puerto de recepción unidireccional para recibir mensajes de solicitud para enviarlos 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 del 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 que aparecen en la columna Shape son los nombres de las formas de mensaje que se muestran en la orquestación anterior.

Forma Tipo de forma Propiedades
Receive_Request Recepción - Establecer nombreen Receive_Request
- Establecer Activar enTrue
Send_LOB Envío - Establecer nombreen Send_LOB
Receive_LOB Recepción - Establecer nombreen Receive_LOB
- Establecer Activar en False
Send_Response Envío - Establecer nombreen Send_Response

Adición de 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 que se muestran en la orquestación.

Port Propiedades
ReceiveMsgPort - Establecer 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 Solicitud-respuesta
- Establecer la dirección de comunicación en enviar y recibir
SendMsgPort - Establecer identificador en SendMsgPort
- Establecer tipo en 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 que se muestran en la orquestación anterior.

Forma Propiedades
Receive_Request - Establecer mensaje en solicitud
- Establecer operaciónen ReceiveMsgPort.Operation_1.Request
Send_LOB - Establecer mensaje en solicitud
- Establecer operación en SendToLOBPort.Operation_1.Request
Receive_LOB - Establecer mensaje en respuesta
- Establecer la operaciónen SendToLOBPort.Operation_1.Response
Send_Response - Establecer mensaje en respuesta
- Establecer operaciónen SendMsgPort.Operation_1.Request

Después de especificar estas propiedades, se conectan las formas y los puertos del mensaje y se completa la orquestación.

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

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á al sistema SAP.

    • 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 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 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, consulte Configuración de un enlace de puerto físico mediante un archivo de enlace de puertos a 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 se está ejecutando.

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

  • El puerto de envío de WCF-Custom o WCF-SAP para enviar mensajes al sistema SAP 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 para 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, consulte Excepciones y control de errores con el adaptador de SAP.

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 enlaces. Una vez que genere un archivo de enlaces, puede importar los valores de configuración del archivo para que no necesite crear los puertos de envío, los puertos de recepción, etc. para la misma orquestación. Para obtener más información sobre los archivos de enlace, consulte Reutilización de enlaces de adaptador de SAP.

Consulte también

Desarrollo de aplicaciones de BizTalk