Exemple : Échange de message AS2 complet (Simple)

www.altova.com Imprimer cette rubrique Page précédente Un niveau supérieur Page suivante

Accueil >  Intégration AS2  >

Exemple : Échange de message AS2 complet (Simple)

Cet exemple illustre comment configurer un échange de message AS2 complet entre deux partenaires AS2, vu depuis une perspective FlowForce Server. Dans cet exemple, le partenaire AS2 d'envoi et le partenaire AS2 de réception sont des instances FlowForce Server.

 

Appelons le serveur d'envoi "Hermes" et le serveur de réception "Apollo". Notons que Hermes est exécuté sur CentOS alors qu'Apollo est exécuté sur Windows (ce détail est important uniquement pour les chemins et la configuration de pare-feu, comme indiqué ci-dessous). L'objectif de cette exemple est comme suit :

 

Le serveur d'envoi (Hermes) doit envoyer un message AS2 avec succès au serveur AS2 de réception (Apollo).
Le serveur de réception (Apollo) doit traiter le message entrant avec succès et le stocker localement.

 

Cet exemple illustre le scénario de communication le plus simple possible entre deux partenaires AS2 (la première de douze permutations possibles conformément à la section 2.4.2 de RFC 4130), ce qui signifie, essentiellement :

 

L'expéditeur envoie des données AS2 non chiffrées
L'expéditeur envoie des données AS2 non signées
L'expéditeur ne nécessite pas qu'une MDN soit retournée en réponse au message

 

Autres hypothèses :

 

Apollo et Hermes sont tous les deux exécutés sur un réseau privé local.
Le serveur de réception AS2 (Apollo) acceptera des requêtes HTTP depuis des clients non authentifiés (c'est à dire que le service AS2 sera adressé publiquement).

 

Exigences préalables

FlowForce Server Advanced Edition doit être installé et mis sous licence sur les appareil Apollo et Hermes.
Sur les deux serveur Apollo et Hermes, l'interface d'administration FlowForce Web doit être en bon fonctionnement sur l'hôte et le port configuré (par exemple, http://apollo:8082 et http://hermes:8082, en partant du principe que "apollo" et "hermes" sont les noms d'hôte respectifs). Voir aussi Définir les paramètres de réseau.

 

Configurer l'envoi du serveur AS2 ("Hermes")

1.Se connecter sur l'interface d'administration FlowForce Web et créer un nouveau partenaire AS2 appelé "APOLLO" (voir aussi Configurer les partenaires AS2). Ce partenaire identifie le serveur qui recevra les messages AS2. Puisque le chiffrage, la signature et la MDN ne sont pas requis dans cet exemple simple, les seuls paramètres de partenaire qui doivent être définis sont les suivants :

ff_as2_ex1-01

Comme illustré ci-dessus, le nom du partenaire AS2 utilisé pour la communication AS2 est "Apollo", alors que l'objet de partenaire stocké dans FlowForce Server est "APOLLO". La valeur "Demander URL" part du principe que le nom d'hôte du partenaire est aussi apollo. Si le nom d'hôte est différent, ajuster l'URL en conséquence. Nous allons configurer le service AS2 réel derrière cette URL dans une étape ultérieure.

 

2.Créer une nouvelle tâche qui envoie un message AS2.

 

a) Ouvrir le conteneur public, et cliquer sur Créer | Créer tâche.

ff_as2_ex1-01a

Saisir un nom de tâche (par exemple, "send-as2"), et, en option, une description.

 

b) Cliquez sur Nouveau déclencheur du système de fichier puis définir les paramètres de déclencheur tel que montré ci-dessous. Si le répertoire /home/altova/as2/outgoing n'existe pas sur l'appareil Hermes, le créer.

ff_as2_ex1-02a

Dès que vous ajoutez le déclencheur, un paramètre appelé triggerfile est ajouté à la tâche. Ce paramètre représente le nom de fichier qui déclenchera cette tâche automatiquement, à chaque fois que vous copiez un fichier sous /home/altova/as2/outgoing. Pour plus d'information, voir Déclencheurs de système de fichier.

 

c) Ajoute une étape d'exécution qui envoie un fichier EDI depuis le chemin local défini précédemment au partenaire AS2. Pour plus d'information concernant ce que fait cette étape, voir Envoyer des messages AS2.

ff_as2_ex1-02

d) Enfin, ajouter les identifiants du compte d'utilisateur sur l'appareil local (généralement, le nom d'utilisateur et le mot de passe que vous utilisez pour se connecter sur cet appareil). Veuillez noter que ces identifiants ne sont pas les mêmes que le nom d'utilisateur et le mot de passe dans l'interface d'administration de FlowForce Web. Pour plus d'information, voir Comment fonctionnent les identifiants.

ff_as2_create_job_4

e) Cliquer sur Enregistrer. La tâche doit maintenant apparaître sous "Déclencheurs actifs" dans la page d'accueil de FlowForce Server.

ff_as2_ex1-04a

 

Configurer le serveur AS2 récepteur ("Apollo")

1.Configurer FlowForce Server pour accepter les connexions des clients AS2 dans l'URL désignée. Dans cet exemple, les clients AS2 se connecteront à Apollo par le biais d'un HTTP clair sur le port par défaut 4646, donc la page de configuration devrait ressembler à ce qui suit (voir aussi Définir les paramètres de réseau):

ff_as2_ex1-04

2.Veuillez vous assurer que FlowForce Server est autorisé à communiquer par le biais du pare-feu du système d'exploitation. Dans cet exemple, puisque FlowForce Server "Apollo" est exécuté sur Windows, il doit être autorisé à communiquer par le biais de Windows Defender Firewall.

ff_as2_ex1-05

3.Créer un nouveau conteneur FlowForce Server ; appelons-le "as2service". (Dans FlowForce, les permissions sont définis au niveau du conteneur, il est donc conseillé de créer un conteneur séparé pour la tâche qui recevra le message AS2. De cette manière, vous pourrez définir des permissions spécifiques AS2 uniquement sur le conteneur requis, sans toucher aux permissions applicables à d'autres tâches FlowForce existantes).

ff_as2_ex1-06

4.Ouvrir le conteneur "as2service" défini précédemment et créer le partenaire d'expédition, Hermes, comme indiqué ci-dessous. La valeur "Demander URL" part du principe que le nom d'hôte du partenaire est aussi hermes. Si le nom de l'hôte est différent, ajuster l'URL en conséquence.

ff_as2_ex1-07

Assurez-vous que les paramètres d'interopérabilité sont les mêmes sur les deux serveurs, par exemple :

ff_as2_ex1-08

5.Ouvrir le conteneur "as2service" défini précédemment et créer une nouvelle tâche. L'objectif de cette tâche est d'exposer un service AS2 qui écoute les requêtes AS2. Lorsqu'un nouveau message AS2 est reçu, cette tâche le copiera dans un dossier temporaire.

ff_as2_ex1-09a

a) Choisir la case à cocher Rendre cette tâche disponible HTTP sous... et donner un nom au service AS2 (dans cet exemple, "as2-receiver").

ff_as2_ex1-09

b) Comme illustré ci-dessus, choisir l'option service AS2 depuis la liste déroulante. En résultat, deux paramètres d'entrée sont ajoutés à la tâche, partner et message. Ceux-ci peuvent être utilisés pour traiter et stocker l'information concernant le partenaire expéditeur et le message, respectivement. Dans cet exemple, nous allons stocker le message uniquement, comme montré dans une étape suivante.

ff_as2_ex1-10

c) Ajouter une étape d'exécution qui copie le message reçu dans un chemin local. Les expressions de FlowForce Server utilisées ci-dessous convertissent essentiellement le message en un fichier, et composent le nom de fichier sur la base du champ Message-ID header. Pour une explication plus détaillée de ces expressions, voir Recevoir des messages AS2.

ff_as2_ex1-11

Veuillez vous assurer que le répertoire C:\as2\incoming existe. C'est le répertoire dans lequel les communications AS2 reçues seront enregistrées.

 

d) Enfin, ajouter les identifiants du compte l'utilisateur sur l'appareil local (généralement le nom d'utilisateur et le mot de passe que vous utilisez pour vous connecter sur cet appareil). Veuillez noter que ces identifiants ne sont pas les mêmes que le nom d'utilisateur et le mot de passe que vous utilisez pour l'interface d'administration FlowForce Web. Pour plus d'information, voir Comment fonctionnent les identifiants.

ff_as2_create_job_4

6.Rendez-vous sur le conteneur public / as2service, et cliquer sur Permissions. Cliquer sur  Ajouter permissions et attribuer la permission "Service: Utiliser" à l'utilisateur user anonymous sur le conteneur "as2service".

ff_as2_ex1-11a

Les permissions de conteneur ressemblent à :

ff_as2_ex1-12

Cela rend le service AS2 public et permet à toute personne d'accéder et de le consommer sans authentification.

 

Envoyer le message AS2

Sur l'appareil Hermes, copier un fichier .edi dans le répertoire configuré précédemment, /home/altova/as2/outgoing. Le fichier déclenche l'exécution de la tâche, et la tâche envoie le fichier au service AS2 sur l'appareil Apollo.

 

Pour consulter le résultat de la tâche, consulter le journal de FlowForce Server, voir Consulter le journal de tâche. Il peut y avoir plusieurs raisons pour lesquelles une tâche peut échouer, y compris, mais pas limité aux éléments suivants :

 

Le chemin vers le fichier EDI sur Hermes est incorrect
Les identifiants du système d'exploitation Hermes spécifiés dans la tâche sont incorrectes
Le service Apollo http://apollo:4646/service/as2-receiver n'est pas disponible parce que le pare-feu de l'appareil Apollo le bloque
Les permissions de conteneur de FlowForce Server pour le service http://apollo:4646/service/as2-receiver interdisent l'accès anonyme (c'est à dire que le service AS2 n'est pas accessible aux clients)
Le paramètre "Demande URL" du partenaire Apollo est incorrect (sur l'appareil Hermes, sur l'appareil Apollo, ou les deux)
Les paramètres "Paramètres d'interopérabilité" sont malconfigurés pour le partenaire Hermes sur l'appareil Apollo.

 

En cas de succès, la tâche de réception sur l'appareil Apollo traite le message entrant et crée un nouveau fichier sous le chemin suivant : C:\as2\incoming.


© 2019 Altova GmbH