Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’adaptateur SAP fait apparaître les RFC exposés par un système SAP en tant qu’opérations pouvant être appelées par un client d’adaptateur. Cette section fournit des instructions sur l’appel d’une 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 appeler un 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, ces tâches sont les suivantes :
Créez un projet BizTalk et générez un schéma pour la RFC que vous souhaitez appeler dans le système SAP.
Créez des messages dans le projet BizTalk pour l’envoi et la réception de messages à partir du système SAP.
Créez une orchestration pour appeler une RFC dans le système SAP.
Générez et déployez le projet BizTalk.
Configurez l’application BizTalk en créant des ports d’envoi et de réception physiques.
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 à partir de la vue Orchestration du projet BizTalk.
Pour cette rubrique, vous devez créer deux messages : un pour envoyer une demande au système SAP et l’autre pour recevoir une réponse.
Procédez comme suit pour créer des messages et les lier au schéma.
Pour créer des messages et créer un lien vers le schéma
Ouvrez l’affichage orchestration du projet BizTalk, s’il n’est pas déjà ouvert. Cliquez sur Affichage, pointez sur Autres fenêtres, puis cliquez sur Mode Orchestration.
Dans l’affichage Orchestration, cliquez avec le bouton droit sur Messages, puis cliquez sur Nouveau message.
Cliquez avec le bouton droit sur le message nouvellement créé et sélectionnez Fenêtre Propriétés.
Dans le volet Propriétés de Message_1, procédez comme suit.
Utiliser cette option Pour ce faire 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. Répétez l’étape précédente pour créer un message. Dans le volet Propriétés du nouveau message, procédez comme suit.
Utiliser cette option Pour ce faire Identificateur Tapez 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 déposez un message de requête dans un emplacement de réception spécifié. 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 des 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 |
---|---|---|
Recevoir_Requête | Recevoir | - Définir Nom à Receive_Request - Définir Activer sur True |
Send_LOB | Envoyer | - Attribuer le nom à Send_LOB |
Receive_LOB | Recevoir | - Définir Name à Receive_LOB - Définir Activer sur False |
Envoyer_Réponse | Envoyer | - Ajuster le nom à 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, comme indiqué dans l’orchestration.
Port | Propriétés |
---|---|
PortDeReceptionDesMessages | - Définir l’identificateur sur ReceiveMsgPort - Définir le type sur ReceiveMsgPortType - Définir le modèle de communication sur unidirectionnel - Définir la direction de communication sur recevoir |
SendToLOBPort | - Attribuer l'identificateur à SendToLOBPort - Définir le type sur SendToLOBPortType - Définir le modèle de communication sur Demande-Réponse - Définir la direction de communication pour envoyer-recevoir |
SendMsgPort | - Définir l’identificateur à SendMsgPort - Définir le 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 comme indiqué dans l’orchestration précédente.
Forme | Propriétés |
---|---|
Recevoir_Demande | - Définir Message sur Requête - Définir l’opération sur ReceiveMsgPort.Operation_1.Request |
Send_LOB | - Définir Message sur Requête - Définir l’opération sur SendToLOBPort.Operation_1.Request |
Receive_LOB | - Définir le message en réponse - Définir l’opération à SendToLOBPort.Operation_1.Response |
Envoyer_Réponse | - Définir le message en réponse - Définir l’opération sur SendMsgPort.Operation_1.Request |
Une fois que vous avez spécifié ces propriétés, les formes de message et les ports sont connectés et votre orchestration est terminée.
Vous devez maintenant générer la solution BizTalk et la déployer sur un serveur BizTalk. 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 dans la console Administration de BizTalk Server. Vous devez utiliser la console Administration de BizTalk Server pour configurer l’application. Pour plus d’informations sur la configuration d’une application, consultez Comment configurer une application.
La configuration d’une application implique :
Sélection d’un hôte pour l’application.
Associez les ports que vous avez créés dans votre orchestration aux ports physiques dans la console d'administration de 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 requête 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 supprime le message de réponse contenant la réponse du système SAP.
Définissez une 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 sur l’adaptateur SAP.
Remarque
La génération du schéma à l'aide du module complémentaire de projet BizTalk "Service d'adaptateur Consume" 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 Administration de BizTalk Server pour créer des ports d’envoi (pour les appels sortants) ou recevoir des ports (pour les appels entrants). Pour plus d’informations, consultez Configurer une liaison de port physique à l’aide d’un fichier de liaison de port vers 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 Comment 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 requête pour l’orchestration est en cours d’exécution.
Le port d'envoi FILE, chargé de 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 de BizTalk pour l’opération est en cours.
Exécution de l’opération
Après avoir exécuté l'application, vous devez déposer un message de demande pour l'orchestration à un emplacement prédéfini. Consultez Schémas de message pour les opérations RFC pour connaître le schéma du message de demande pour appeler une RFC dans un système SAP. Par exemple, le message de requête pour invoquer 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 requête ci-dessus est la suivante :
<?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 Exceptions et Gestion des erreurs avec l’adaptateur SAP.
Meilleures 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 que vous n’ayez pas besoin de 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.