Procédure pas à pas (AS2) : réception EDI via AS2 avec un MDN synchrone
Cette procédure pas à pas fournit des instructions détaillées sur la création d'une solution pour la réception de messages EDI via le transport AS2 et le renvoi de MDN synchrones.
Prérequis
La configuration suivante est requise pour exécuter les procédures décrites dans cette rubrique :
Vous devez être connecté en tant que membre du groupe Administrateurs BizTalk Server ou BizTalk Server groupe Opérateurs B2B.
Internet Information Services (IIS) 7 doit être installé sur l'ordinateur sur lequel est exécutée la procédure pas à pas.
Si une version 64 bits de Windows est installée sur l'ordinateur sur lequel est exécutée la procédure pas à pas, vous devez vérifier que les hôtes BizTalk sont marqués comme applications 32 bits uniquement. Vous devez également vous assurer qu’IIS a le paramètre Activer l’application 32 bits pour les pools d’applications défini sur True. Pour plus d’informations, consultez Tutoriel 3 : Tutoriel AS2.
Réception d'un message EDI/AS2 et renvoi d'un MDN synchrone par la solution
La solution assure les tâches suivantes :
Réception d'un message AS2 contenant un échange EDI via HTTP du partenaire commercial Fabrikam et décodage de l'échange à partir d'EDIINT/AS2.
Notes
Les événements dans cette liste peuvent se produire dans un ordre différent de celui indiqué.
Renvoi d'un MDN synchrone au partenaire commercial à l'aide du port de réception de requête-réponse.
Conversion du format EDI de l'échange au format XML interne et placement dans la MessageBox.
Un port d'envoi FILE avec un pipeline PassThruTransmit récupère le fichier XML du message.
Le port d'envoi transmet le fichier XML d'échange EDI à un dossier du tiers Contoso.
L'architecture de cette solution est représentée dans la figure suivante.
Fonctionnalités dans la solution
Les conditions suivantes s'appliquent aux fonctionnalités de cette procédure pas à pas :
Aucun accusé de réception EDI n'est généré. La génération d’un accusé de réception EDI est illustrée dans Procédure pas à pas (X12) : réception d’échanges EDI et envoi d’un accusé de réception. L’envoi d’un accusé de réception EDI via le transport AS2 est décrit dans Procédure pas à pas (AS2) : Envoi d’EDI sur AS2 avec un MDN synchrone.
La solution est conçue pour les échanges basés sur le codage X12, et non le codage EDIFACT.
Notes
La configuration utilisée pour le codage EDIFACT est proche de celle utilisée pour le codage X12.
La validation de type EDI et la validation étendue sont effectuées sur l'échange entrant.
La création de rapports AS2 et EDI est activée. Les documents informatisés sont enregistrés pour être consultables depuis le rapport État de l'échange.
Cette solution ne configure pas la signature, la compression, le chiffrement ou le stockage des messages dans la base de données de non-répudiation. Pour connaître les procédures de configuration de ces propriétés, consultez Configuration des propriétés AS2.
Configuration et test de la procédure pas à pas
Les étapes suivantes sont requises pour configurer cette solution :
Générez et déployez un projet BizTalk avec le schéma de message requis, ce qui rend le schéma disponible pour être utilisé par BizTalk Server dans le traitement de l’échange reçu.
Activer le filtre BTS ISAPI utilisé pour la réception du message AS2.
Créer un répertoire virtuel Contoso recevant le message AS2 de Fabrikam, comme configuré dans l'emplacement de réception.
Spécifier que le répertoire virtuel Contoso n'est pas géré par les services Windows SharePoint.
Créez un port de réception HTTP bidirectionnel statique pour BizTalk Server de recevoir le message AS2 contenant l’échange EDI du partenaire commercial et d’envoyer la réponse MDN. Configurer le pipeline AS2EDIReceive comme pipeline de réception et le pipeline AS2Send comme pipeline d'envoi.
Créer un port d'envoi FILE unidirectionnel statique pour transférer la charge EDI (au format XML) vers un dossier local. Créer le dossier local.
Créer un tiers (partenaire commercial) pour Fabrikam et Contoso.
Créer un profil d'entreprise pour les deux parties commerciales.
Créer un accord AS2 entre les profils d'entreprise pour Fabrikam et Contoso. L'accord AS2 contiendra les propriétés relatives à l'envoi d'un message AS2 et la réception d'un MDN synchrone en retour.
Créer un accord X12 entre les profils d'entreprise pour Fabrikam et Contoso pour la réception des messages X12.
Tester la solution à l'aide de l'utilitaire HTTP Sender inclus dans les fichiers du didacticiel AS2. Cet utilitaire envoie un message AS2 de test contenant un échange EDI via le transport AS2 (X12_00401_864-Sync.edi, également inclus dans le didacticiel AS2). Vous devez modifier l'utilitaire HTTP Sender et le message de test des versions incluses dans le didacticiel. Ces modifications sont décrites dans les sections appropriées ci-dessous.
Configuration de la procédure pas à pas
Cette section décrit les étapes de configuration de la procédure pas à pas.
Déployer le schéma de message
Dans Visual Studio, ouvrez le projet \Program Files (x86)\Microsoft BizTalk Server <>VERSION SDK\AS2 Tutorial\Schemas\Schemas.btproj.
Notes
Ce projet, intégré au didacticiel AS2, inclut un schéma 864 à utiliser avec le message de test.
Notes
Cette rubrique part du principe que vous avez déjà ajouté une référence de votre application à l'application BizTalk EDI, qui contient les schémas, pipelines et orchestrations EDI. Si ce n’est pas le cas, consultez Ajouter une référence à l’application EDI BizTalk Server.
Cliquez avec le bouton droit sur le projet Schémas dans le Explorateur de solutions, puis cliquez sur Propriétés. Cliquez sur l’onglet Signature dans le concepteur de projet, case activée la case Signer l’assembly et, dans la liste déroulante, sélectionnez Nouveau et fournissez les valeurs nécessaires pour créer un fichier de clé de nom fort. Enregistrez les modifications et fermez la fenêtre de propriétés du projet.
Créez et déployez Schemas.btproj.
Activer le filtre ISAPI BTS
Cliquez sur Démarrer, pointez sur Tous les programmes et sur Outils d'administration, puis cliquez sur Gestionnaire des services Internet (IIS).
Conseil
Selon le système d'exploitation utilisé, l'option Outils d'administration du menu Démarrer peut être indisponible. Dans ce cas, cliquez sur Démarrer, sur Exécuter, puis entrez
inetmgr
pour ouvrir le Gestionnaire des services Internet (IIS).Sélectionnez l’entrée Serveur web racine et, dans la vue Fonctionnalités, double-cliquez sur Mappages de gestionnaires , puis dans le volet Actions , cliquez sur Ajouter un mappage de script.
Notes
La configuration du mappage de script au niveau du serveur web entraîne l’application de ce mappage à tous les sites Web enfants. Si vous souhaitez limiter le mappage à un site web ou à un dossier virtuel spécifique, sélectionnez le site ou dossier cible au lieu du serveur web.
Dans la boîte de dialogue Ajouter une carte de script, entrez
BtsHttpReceive.dll
dans le champ Chemin de la requête .Dans le champ Exécutable, cliquez sur le bouton de sélection (...) et accédez à \Program Files (x86)\Microsoft BizTalk Server <VERSION>HttpReceive. Sélectionnez BtsHttpReceive.dll, puis cliquez sur OK.
Entrez
BizTalk HTTP Receive
dans le champ Nom , puis cliquez sur Restrictions de demande.Dans la boîte de dialogue Restrictions des demandes, sélectionnez l’onglet Verbes , puis sélectionnez l’un des verbes suivants. Entrez
POST
comme verbe .Sous l’onglet Accès , sélectionnez Script , puis cliquez sur OK.
Cliquez sur OK et lorsque vous êtes invité à autoriser l’extension ISAPI, cliquez sur Oui.
Configurer la page Web Contoso
Dans le Gestionnaire des services Internet, cliquez avec le bouton droit sur Pools d’applications , puis sélectionnez Ajouter un pool d’applications.
Dans la boîte de dialogue Ajouter un pool d’applications, entrez BizTalkAppPool dans Nom, puis sélectionnez .NET Framework V4.0.30210 dans la liste déroulante Version du .NET Framework . Cliquez sur OK.
Notes
Le numéro de version peut varier en fonction de la version de .NET Framework 4.5 installée sur l’ordinateur.
Sélectionnez Pools d’applications, dans la vue Fonctionnalités, sélectionnez BizTalkAppPool, puis cliquez sur Paramètres avancés dans le volet Actions .
Dans la boîte de dialogue Paramètres avancés , sélectionnez Identité , puis cliquez sur le bouton de sélection (...) .
Dans la boîte de dialogue Identité du pool d’applications, sélectionnez Compte personnalisé , puis cliquez sur Définir.
Entrez le nom d’utilisateur et le mot de passe d’un compte d’utilisateur membre du groupe Administrateurs, entrez le mot de passe dans Confirmer le mot de passe , puis cliquez sur OK trois fois pour revenir au Gestionnaire des services Internet.
Dans le Gestionnaire des services Internet, ouvrez le dossier Sites . Cliquez avec le bouton droit sur le nœud Site web par défaut , puis sélectionnez Ajouter une application.
Dans la boîte de dialogue Ajouter une application , entrez Contoso dans la zone de texte Alias , puis cliquez sur Sélectionner.
Dans la boîte de dialogue Sélectionner un pool d’applications , sélectionnez BizTalkAppPool , puis cliquez sur OK.
Pour le chemin physique, cliquez sur le bouton de sélection (...) et accédez à \Program Files (x86)\Microsoft BizTalk Server <VERSION>HttpReceive.
Cliquez sur Paramètres de test et vérifiez qu’aucune erreur n’est affichée dans la boîte de dialogue Tester la connexion . Cliquez sur Fermer, puis sur OK.
Dans le Gestionnaire des services Internet, sélectionnez le répertoire virtuel Contoso et, dans la vue Fonctionnalités, double-cliquez sur Authentification.
Dans la page Authentification , sélectionnez Authentification anonyme et vérifiez que l’état est Activé. Si l’état est Désactivé, cliquez sur Activer dans le volet Actions .
Spécifiez que votre répertoire virtuel n’est pas géré par Windows SharePoint Services
Si Windows SharePoint Services est installé sur votre ordinateur, cliquez sur Démarrer, pointez sur Tous les programmes, sur Outils d’administration, puis sur Administration centrale de SharePoint 3.0.
Notes
Cette procédure est requise si Windows SharePoint Server est installé sur l'ordinateur sur lequel vous configurez la procédure pas à pas. Dans ce cas, vous devez spécifier que votre répertoire virtuel IIS n'est pas géré par Windows SharePoint Server.
Dans la page Administration centrale , sous Administration centrale, cliquez sur Gestion des applications.
Dans la page Gestion des applications, cliquez sur Définir des chemins managés.
Dans la page Définir des chemins d’accès managés , sous Ajouter un nouveau chemin, puis dans la zone de texte Chemin d’accès , entrez Contoso. Sous Type, cliquez sur Chemin d’accès exclu, puis sur OK.
Créer un port de réception pour recevoir le message EDI sur AS2 et retourner un MDN
Dans la console d’administration BizTalk Server, cliquez avec le bouton droit sur le nœud Ports de réception sous le nœud Application 1 BizTalk, pointez sur Nouveau, puis cliquez sur Port de réception requête-réponse.
Nommez le port de réception, puis cliquez sur Emplacements de réception dans l’arborescence de la console.
Cliquez sur Nouveau.
Nommez l’emplacement de réception, sélectionnez HTTP pour Type, puis cliquez sur Configurer.
Pour Répertoire virtuel et extension ISAPI, entrez
/Contoso/BTSHTTPReceive.dll
.Sélectionnez la zone Suspendre les demandes ayant échoué case activée, puis cliquez sur OK.
Pour Pipeline de réception, sélectionnez AS2EDIReceive.
Pour Envoyer le pipeline, sélectionnez AS2Send.
Cliquez sur OK, puis à nouveau sur OK.
Dans le volet Emplacements de réception de la console d’administration BizTalk Server, cliquez avec le bouton droit sur l’emplacement de réception, puis cliquez sur Activer.
Créer un port d’envoi pour envoyer la charge utile EDI à un dossier local
Dans Windows Explorer, créez un dossier local nommé EDI_to_Contoso à laquelle envoyer la charge utile EDI.
Dans la console d’administration BizTalk Server, cliquez avec le bouton droit sur Ports d’envoi, pointez sur Nouveau, puis cliquez sur Port d’envoi One-Way statique.
Dans la boîte de dialogue Propriétés du port d’envoi, nommez votre port d’envoi, par exemple , Send_Payload. Sélectionnez FICHIER pour Type, puis cliquez sur Configurer.
Dans la boîte de dialogue Propriétés du transport du fichier, pour Dossier de destination, recherchez et sélectionnez le dossier EDI_to_Contoso que vous avez créé à l’étape 1. Laissez File namesur %MessageID%.xml. Cliquez sur OK.
Pour la liste déroulante Envoyer le pipeline , acceptez passThruTransmit par défaut.
Cliquez sur Filtres dans l’arborescence de la console. Pour Propriété, entrez BTS. MessageType. Pour Opérateur, entrez ==. Pour Valeur, entrez le type de message de votre message,
http://schemas.microsoft.com/BizTalk/Edi/X12/2006#X12_00401_864
.Cliquez sur OK.
Dans le volet Ports d’envoi de la console d’administration BizTalk Server, cliquez avec le bouton droit sur le port d’envoi, puis cliquez sur Démarrer.
Créer un parti et un profil d’entreprise pour Fabrikam
Cliquez avec le bouton droit sur le nœud Parties dans la console d’administration BizTalk Server, pointez sur Nouveau, puis cliquez sur Partie.
Entrez un nom pour le groupe dans la zone de texte Nom , puis cliquez sur OK.
Notes
En sélectionnant la zone BizTalk local traite les messages reçus par le tiers OU prend en charge l’envoi de messages à partir de cette partie case activée, vous pouvez spécifier que la partie en cours de création est pour le même organization qui héberge également BizTalk Server. En prenant ces éléments en compte, certaines propriétés devront être activées et d'autres désactivées lors de la création d'un accord. Toutefois, pour les besoins de cette procédure pas à pas, vous pouvez laisser cette case à cocher activée.
Cliquez avec le bouton droit sur le nom du groupe, pointez sur Nouveau, puis cliquez sur Profil professionnel.
Dans la boîte de dialogue Propriétés du profil , dans la page Général , entrez Fabrikam_Profile dans la zone de texte Nom .
Notes
Lorsque vous créez un tiers, un profil est également créé. Vous pouvez renommer et utiliser ce profil plutôt que d'en créer un nouveau. Pour renommer un profil, cliquez avec le bouton droit sur le profil, puis sélectionnez Propriétés. Dans la page Général , spécifiez un nom pour le profil.
Créer un groupe et un profil d’entreprise pour Contoso
Cliquez avec le bouton droit sur le nœud Parties dans la console d’administration BizTalk Server, pointez sur Nouveau, puis cliquez sur Partie.
Entrez un nom pour le groupe dans la zone de texte Nom , puis cliquez sur OK.
Notes
En sélectionnant la zone BizTalk local traite les messages reçus par le tiers OU prend en charge l’envoi de messages à partir de cette partie case activée, vous pouvez spécifier que la partie en cours de création est pour le même organization qui héberge également BizTalk Server. En prenant ces éléments en compte, certaines propriétés devront être activées et d'autres désactivées lors de la création d'un accord. Toutefois, pour les besoins de cette procédure pas à pas, vous pouvez laisser cette case à cocher activée.
Cliquez avec le bouton droit sur le nom du groupe, pointez sur Nouveau, puis cliquez sur Profil professionnel.
Dans la boîte de dialogue Propriétés du profil , dans la page Général , entrez Contoso_Profile dans la zone de texte Nom .
Notes
Lorsque vous créez un tiers, un profil est également créé. Vous pouvez renommer et utiliser ce profil plutôt que d'en créer un nouveau. Pour renommer un profil, cliquez avec le bouton droit sur le profil, puis sélectionnez Propriétés. Dans la page Général , spécifiez un nom pour le profil.
Créer un contrat AS2 entre les deux profils métier
Cliquez avec le bouton droit sur Fabrikam_Profile, pointez sur Nouveau, puis cliquez sur Contrat.
Dans la page Propriétés générales , pour la zone de texte Nom , entrez un nom pour le contrat.
Dans la liste déroulante Protocole , sélectionnez AS2.
Dans la section Deuxième partenaire , dans la liste déroulante Nom , sélectionnez Contoso.
Dans la section Deuxième partenaire , dans la liste déroulante Profil , sélectionnez Contoso_Profile.
Vous remarquerez que deux nouveaux onglets sont ajoutés en regard de l’onglet Général . Chaque onglet permet de configurer un contrat AS2 unidirectionnel.
Sous l’onglet Général , dans la page Propriétés générales , dans la section Paramètres d’hôte communs , sélectionnez Activer la création de rapports.
Effectuez les tâches suivantes sous l’onglet Fabrikam-Contoso>.
- Dans la page Identificateurs , entrez des valeurs pour AS2-From et AS2-To. Pour AS2-From, entrez
Fabrikam
. Pour AS2- To, entrezContoso
.
- Dans la page Identificateurs , entrez des valeurs pour AS2-From et AS2-To. Pour AS2-From, entrez
Effectuez les tâches suivantes sous l’onglet Contoso-Fabrikam>.
Notes
Dans cette procédure pas à pas, la valeur requise est spécifiée sous l'onglet afin de permettre la création d'un accord. Pour créer un contrat, les deux onglets d’accord unidirectionnel doivent avoir des valeurs définies pour AS2_From et AS2-To.
- Dans la page Identificateurs , entrez des valeurs pour AS2-From et AS2-To. Pour AS2-From, entrez
Contoso
. Pour AS2- To, entrezFabrikam
.
- Dans la page Identificateurs , entrez des valeurs pour AS2-From et AS2-To. Pour AS2-From, entrez
Cliquez sur Appliquer.
Cliquez sur OK. Le contrat nouvellement ajouté est répertorié dans la section Contrats du volet Parties et profils métier . Le contrat nouvellement ajouté est activé par défaut.
Créer un contrat X12 entre les deux profils métier
Cliquez avec le bouton droit sur Fabrikam_Profile, pointez sur Nouveau, puis cliquez sur Contrat.
Dans la page Propriétés générales , pour la zone de texte Nom , entrez un nom pour le contrat.
Dans la liste déroulante Protocole , sélectionnez X12.
Dans la section Deuxième partenaire , dans la liste déroulante Nom , sélectionnez Contoso.
Dans la section Deuxième partenaire , dans la liste déroulante Profil , sélectionnez Contoso_Profile.
Vous remarquerez que deux nouveaux onglets sont ajoutés en regard de l’onglet Général . Chaque onglet sert à configurer un contrat X12 unidirectionnel.
Sous l’onglet Général , dans la page Propriétés générales , dans la section Paramètres d’hôte communs , sélectionnez Activer la création de rapports, puis sélectionnez Stocker la charge utile de message pour la création de rapports.
Effectuez les tâches suivantes sous l’onglet Fabrikam-Contoso>.
Dans la page Identificateurs sous la section Paramètres d’échange , entrez les valeurs des champs qualificateur et identificateur (ISA5, ISA6, ISA7 et ISA8) qui correspondent aux valeurs de ces champs d’en-tête dans votre message de test.
Notes
BizTalk Server nécessite les champs qualificateur et identificateur pour l’expéditeur et le destinataire afin d’effectuer la résolution du contrat. Il fera correspondre les valeurs d’ISA5, ISA6, ISA7 et ISA8 dans l’en-tête d’échange avec celles des propriétés d’un contrat. BizTalk Server résout également le contrat en faisant correspondre le qualificateur et l’identificateur de l’expéditeur (sans le qualificateur et l’identificateur du destinataire). Si BizTalk Server ne peut pas résoudre le contrat, il utilise les propriétés de l’accord de secours.
Notes
Pour cette procédure pas à pas, définissezISA5 sur ZZ, ISA6sur 7654321, ISA7 sur ZZ et ISA8 sur 1234567.
Dans la page Validation , sous la section Paramètres d’échange , vérifiez que l’option Rechercher le double ISA13 est décochée.
Notes
L’effacement de la propriété Vérifier la valeur ISA13 en double vous permet de recevoir plusieurs instances du même message.
Si vous utilisez l’un des schémas standard fournis avec BizTalk Server, dans la page Paramètres de l’hôte local sous la section Paramètres de l’ensemble de transactions, sélectionnez l’espace de noms du schéma à utiliser pour traiter l’échange entrant.
Propriété Pour Par défaut Activez la case à cocher dans la colonne. Espace de noms cible Sélectionnez http://schemas.microsoft.com/BizTalk/EDI/X12/2006
.Notes
La définition des propriétés permet BizTalk Server de déterminer le schéma à utiliser dans le traitement de l’échange 850 entrant. Si les valeurs GS02 et ST01 d'un échange sont entrées dans une ligne de la grille, l'espace de noms cible dans la même ligne sert à déterminer le schéma à utiliser.
Effectuez les tâches suivantes sous l’onglet Contoso-Fabrikam>.
Notes
Dans cette procédure pas à pas, la valeur requise est spécifiée sous l'onglet afin de permettre la création d'un accord. Pour créer un contrat, les deux onglets d’accord unidirectionnel doivent avoir des valeurs définies pour ISA5, ISA6, ISA7 et ISA8.
Dans la page Identificateurs sous la section Paramètres d’échange , entrez les valeurs des champs qualificateur et identificateur (ISA5, ISA6, ISA7 et ISA8) qui correspondent aux valeurs de ces champs d’en-tête dans votre message de test.
Notes
Pour cette procédure pas à pas, définissezISA5 sur ZZ, ISA6sur 1234567, ISA7 sur ZZ et ISA8 sur 7654321.
Cliquez sur Appliquer.
Cliquez sur OK. Le contrat qui vient d’être ajouté est répertorié dans la section Contrats du volet Parties et profils métier . L’accord qui vient d’être ajouté est activé par défaut.
Test de la procédure pas à pas
Cette section fournit des informations sur le test de la procédure pas à pas.
Test de la solution
Dans Visual Studio, ouvrez le projet Sender.csproj dans le dossier \Program Files (x86)\Microsoft BizTalk Server <VERSION>SDK\AS2 Tutorial\Sender.
Dans HttpSender.cs, commentez la ligne suivante (immédiatement sous la ligne de commentaire //Request Asynchronous MDN) :
Stream sr = new FileStream(getBizTalkInstallPath() + @"SDK\AS2 Tutorial\X12_00401_864.edi", FileMode.Open, FileAccess.Read);
Supprimez les commentaires dans la ligne suivante (immédiatement sous la ligne de commentaire //Request Synchronous MDN) :
Stream sr = new FileStream(getBizTalkInstallPath() + @"SDK\AS2 Tutorial\X12_00401_864-Sync.edi", FileMode.Open, FileAccess.Read);
Créez ce projet.
Dans Windows Explorer, accédez à \Program Files (x86)\Microsoft BizTalk Server <VERSION>SDK\AS2 Tutorial. Ouvrez X12_00401_864-Sync.edi dans le Bloc-notes. Supprimez la ligne définissant l'en-tête Disposition-Notification-Options, puis enregistrez le fichier.
Ouvrez une fenêtre de commandes. Accédez à \Program Files (x86)\Microsoft BizTalk Server <VERSION>SDK\AS2 Tutorial\Sender\bin\debug. Exécutez Sender.exe.
Notes
L'exécution de Sender.exe dans cette instance publie le message X12_00401_864-sync.edi dans le répertoire virtuel Contoso (emplacement de réception HTTP BTS).
Vérifiez qu'un MDN est affiché dans la fenêtre de commande. Vérifiez que l'en-tête AS2-From est Contoso et que l'en-tête AS2-To est Fabrikam dans le MDN.
Notes
Sender.exe affiche le MDN dans la fenêtre de commande.
Ouvrez le dossier local Contoso que vous créez pour envoyer la charge utile EDI à (\EDI_to_Contoso). Vérifiez que le dossier contient un fichier .XML. Ouvrez le fichier XML et vérifiez qu'il contient un document informatisé 864.
Ouvrez le message de test X12_00401_864-Sync.edi dans le Bloc-notes et vérifiez que la transaction définie dans le message de sortie dans le dossier local \EDI_to_Contoso correspond au jeu de transactions dans le message d’entrée X12_00401_864-Sync.edi.
Voir aussi
Développement et configuration de solutions AS2 BizTalk Server