Partager via


Appeler des RFC dans SAP à l’aide de BizTalk Server

L’adaptateur SAP présente les RFC exposés par un système SAP en tant qu’opérations qui peuvent être appelées par un client d’adaptateur. Cette section fournit des instructions sur l’appel d’un RFC dans un système SAP à l’aide de l’adaptateur SAP avec Microsoft BizTalk Server. Pour plus d’informations sur la façon dont l’adaptateur SAP prend en charge l’appel d’une RFC dans un système SAP, consultez Opérations sur les RFC dans SAP. Pour plus d’informations sur la structure du message SOAP pour l’appel d’une RFC, consultez Schémas de message pour les opérations RFC.

Comment appeler une RFC dans un système SAP ?

L’exécution d’une opération sur un système SAP à l’aide de l’adaptateur SAP avec BizTalk Server implique des tâches procédurales décrites dans Blocs de construction pour créer des applications SAP. Pour appeler une RFC dans un système SAP, voici les tâches suivantes :

  1. Créez un projet BizTalk et générez le schéma pour la RFC que vous souhaitez appeler dans le système SAP.

  2. Créez des messages dans le projet BizTalk pour envoyer et recevoir des messages à partir du système SAP.

  3. Créez une orchestration pour appeler une RFC dans le système SAP.

  4. Générez et déployez le projet BizTalk.

  5. Configurez l’application BizTalk en créant des ports d’envoi et de réception physiques.

  6. Démarrez l’application BizTalk.

    Cette rubrique fournit des instructions pour effectuer ces tâches.

Génération d’un schéma

Dans cette rubrique, pour montrer comment appeler une RFC dans un système SAP, nous générons le schéma pour RFC_CUSTOMER_GET. Pour plus d’informations sur la façon de générer un schéma , consultez Parcourir, rechercher et obtenir des métadonnées pour les opérations RFC dans SAP .

Définition des messages et des types de messages

Le schéma que vous avez généré précédemment décrit les « types » requis pour les messages dans l’orchestration. Un message est généralement une variable, dont le type est défini par le schéma correspondant. Vous devez lier le schéma que vous avez généré aux messages de la vue Orchestration du projet BizTalk.

Pour cette rubrique, vous devez créer deux messages : l’un pour envoyer une demande au système SAP et l’autre pour recevoir une réponse.

Effectuez les étapes suivantes pour créer des messages et les lier au schéma.

  1. Ouvrez la vue d’orchestration du projet BizTalk, s’il n’est pas déjà ouvert. Cliquez sur Affichage, pointez sur Autres fenêtres, puis cliquez sur Vue d’orchestration.

  2. Dans la vue Orchestration, cliquez avec le bouton droit sur Messages, puis cliquez sur Nouveau message.

  3. Cliquez avec le bouton droit sur le nouveau message de création, puis sélectionnez Fenêtre Propriétés.

  4. Dans le volet Propriétés de Message_1, procédez comme suit.

    Propriété Pour
    Identificateur Tapez Demande.
    Type de message Dans la liste déroulante, développez Schémas, puis sélectionnez InvokeRFC.SAPBindingSchema.RFC_CUSTOMER_GET, où InvokeRFC est le nom de votre projet BizTalk. SAPBindingSchema est le schéma généré pour RFC_CUSTOMER_GET.
  5. Répétez l’étape précédente pour créer un nouveau message. Dans le volet Propriétés du nouveau message, procédez comme suit.

    Propriété Pour
    Identificateur Type Réponse.
    Type de message Dans la liste déroulante, développez Schémas, puis sélectionnez InvokeRFC.SAPBindingSchema.RFC_CUSTOMER_GETResponse.

Configuration de l’orchestration

Vous devez créer une orchestration BizTalk pour utiliser BizTalk Server pour appeler des RFC dans le système SAP. Dans cette orchestration, vous supprimez un message de demande à un emplacement de réception défini. L’adaptateur SAP consomme le message et le transmet au système SAP. La réponse du système SAP est enregistrée à un autre emplacement. Une orchestration classique pour appeler des RFC dans un système SAP contient :

  • Envoyer et recevoir des formes pour envoyer des messages au système SAP et recevoir des réponses.

  • Port de réception unidirectionnel pour recevoir les messages de demande à envoyer au système SAP.

  • Port d’envoi bidirectionnel pour envoyer des messages de demande au système SAP et recevoir des réponses.

  • Port d’envoi unidirectionnel pour envoyer les réponses du système SAP à un dossier.

    Un exemple d’orchestration ressemble à ce qui suit :

    Orchestration avec ports connectés

Ajout de formes de message

Veillez à spécifier les propriétés suivantes pour chacune des formes de message. Les noms répertoriés dans la colonne Forme sont les noms des formes de message, comme indiqué dans l’orchestration précédente.

Forme Type de forme Propriétés
Receive_Request Recevoir - Définissez Name sur Receive_Request
- Définissez Activer sur True
Send_LOB Envoyer - Définissez Name sur Send_LOB
Receive_LOB Recevoir - Définissez Name sur Receive_LOB
- Définissez Activer sur False
Send_Response Envoyer - Définissez Name sur Send_Response

Ajout de ports

Spécifiez les propriétés suivantes pour chacun des ports logiques. Les noms répertoriés dans la colonne Port sont les noms des ports affichés dans l’orchestration.

Port Propriétés
ReceiveMsgPort - Définir l’identificateur sur ReceiveMsgPort
- Définissez Type sur ReceiveMsgPortType
- Définir le modèle de communication sur Unidirectionnel
- Définir le sens de communication sur réception
SendToLOBPort - Définissez Identificateur sur SendToLOBPort
- Définissez Type sur SendToLOBPortType
- Définir le modèle de communication sur Requête-réponse
- Définir le sens de communication sur Send-Receive
SendMsgPort - Définissez Identificateur sur SendMsgPort
- Définissez Type sur SendMsgPortType
- Définir le modèle de communication sur Unidirectionnel
- Définir le sens de communication sur Envoyer

Spécifier des messages pour les formes d’action et se connecter aux ports

Le tableau suivant spécifie les propriétés et leurs valeurs à définir pour spécifier des messages pour les formes d’action et les lier aux ports. Les noms répertoriés dans la colonne Forme sont les noms des formes de message affichées dans l’orchestration précédente.

Forme Propriétés
Receive_Request - Définir message sur Demande
- Définissez Opération sur ReceiveMsgPort.Operation_1.Request
Send_LOB - Définir message sur Demande
- Définissez Opération sur SendToLOBPort.Operation_1.Request
Receive_LOB - Définir Message sur Réponse
- Définissez Opération sur SendToLOBPort.Operation_1.Response
Send_Response - Définir Message sur Réponse
- Définissez Opération sur SendMsgPort.Operation_1.Request

Une fois que vous avez spécifié ces propriétés, les formes et les ports de message sont connectés et votre orchestration est terminée.

Vous devez maintenant générer la solution BizTalk et la déployer sur un BizTalk Server. Pour plus d’informations, consultez Génération et exécution d’orchestrations.

Configuration de l’application BizTalk

Une fois que vous avez déployé le projet BizTalk, l’orchestration que vous avez créée précédemment est répertoriée sous le volet Orchestrations de la console d’administration BizTalk Server. Vous devez utiliser la console d’administration BizTalk Server pour configurer l’application. Pour plus d’informations sur la configuration d’une application, consultez Guide pratique pour configurer une application.

La configuration d’une application implique :

  • Sélection d’un hôte pour l’application.

  • Mappage des ports que vous avez créés dans votre orchestration à des ports physiques dans la console d’administration BizTalk Server. Pour cette orchestration, vous devez :

    • Définissez un emplacement sur le disque dur et un port de fichier correspondant où vous supprimerez un message de demande. L’orchestration BizTalk consomme le message de demande et l’envoie au système SAP.

    • Définissez un emplacement sur le disque dur et un port de fichier correspondant où l’orchestration BizTalk supprimera le message de réponse contenant la réponse du système SAP.

    • Définissez un WCF-Custom physique ou un port d’envoi WCF-SAP pour envoyer des messages au système SAP. Vous devez également spécifier l’action dans le port d’envoi. Pour plus d’informations sur la création de ports, consultez Configurer manuellement une liaison de port physique à l’adaptateur SAP.

      Notes

      La génération du schéma à l’aide du complément de projet BizTalk du service d’adaptateur de consommation crée également un fichier de liaison contenant des informations sur les ports et les actions à définir pour ces ports. Vous pouvez importer ce fichier de liaison à partir de la console d’administration BizTalk Server pour créer des ports d’envoi (pour les appels sortants) ou des ports de réception (pour les appels entrants). Pour plus d’informations, consultez Configurer une liaison de port physique à l’aide d’un fichier de liaison de port à SAP.

Démarrage de l’application

Vous devez démarrer l’application BizTalk pour appeler une RFC dans le système SAP. Pour obtenir des instructions sur le démarrage d’une application BizTalk, consultez Guide pratique pour démarrer une orchestration ou comment démarrer une application.

À ce stade, assurez-vous que :

  • Le port de réception FILE pour recevoir des messages de demande pour l’orchestration est en cours d’exécution.

  • Le port d’envoi FILE pour recevoir les messages de réponse de l’orchestration est en cours d’exécution.

  • Le port d’envoi WCF-Custom ou WCF-SAP pour envoyer des messages au système SAP est en cours d’exécution.

  • L’orchestration BizTalk pour l’opération est en cours d’exécution.

Exécution de l’opération

Après avoir exécuté l’application, vous devez supprimer un message de demande pour l’orchestration à un emplacement prédéfini. Consultez Schémas de message pour les opérations RFC pour en savoir plus sur le schéma du message de demande d’appel d’une RFC dans un système SAP. Par exemple, le message de demande pour appeler RFC_CUSTOMER_GET est :

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

L’orchestration consomme le message et l’envoie au système SAP. La réponse du système SAP est enregistrée à un autre emplacement de fichier défini dans le cadre de l’orchestration. Par exemple, la réponse du système SAP pour le message de demande ci-dessus est :

<?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>  

Exceptions possibles

Pour plus d’informations sur les exceptions que vous pouvez rencontrer lors de l’appel d’une RFC dans un système SAP à l’aide de BizTalk Server, consultez Gestion des exceptions et des erreurs avec l’adaptateur SAP.

Bonnes pratiques

Une fois que vous avez déployé et configuré le projet BizTalk, vous pouvez exporter les paramètres de configuration vers un fichier XML appelé fichier de liaisons. Une fois que vous avez généré un fichier de liaisons, vous pouvez importer les paramètres de configuration à partir du fichier afin de ne pas avoir à créer les ports d’envoi, les ports de réception, etc. pour la même orchestration. Pour plus d’informations sur les fichiers de liaison, consultez Réutiliser les liaisons d’adaptateur SAP.

Voir aussi

Développer des applications BizTalk