

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Envoyer et recevoir AS2 des messages
<a name="send-as2-messages"></a>

Cette section décrit les processus d'envoi et de réception de AS2 messages. Il fournit également des détails sur les noms de fichiers et les emplacements associés AS2 aux messages.

Le tableau suivant répertorie les algorithmes de chiffrement disponibles pour les AS2 messages et indique dans quels cas vous pouvez les utiliser.


| Algorithme de chiffrement | HTTP | HTTPS | Remarques | 
| --- |--- |--- |--- |
| AES128\$1CBC | Oui | Oui |  | 
| AES192\$1CBC | Oui | Oui |  | 
| AES256\$1CBC | Oui | Oui |  | 
| DES\$1\$1CBC EDE3 | Oui | Oui | N'utilisez cet algorithme que si vous devez prendre en charge un ancien client qui en a besoin, car il s'agit d'un algorithme de chiffrement faible. | 
| NONE | Non | Oui | Si vous envoyez des messages à un serveur Transfer Family, vous ne pouvez sélectionner que NONE si vous utilisez un Application Load Balancer (ALB). | 

**Topics**
+ [Processus de réception des AS2 messages](#as2-inbound-process)
+ [Envoyer et recevoir AS2 des messages via HTTPS](#as2-https-process)
+ [Transférer des fichiers à l'aide d'un AS2 connecteur](#transfer-as2-connectors)
+ [Noms et emplacements des fichiers](#file-names-as2)
+ [Codes d’état](#status-codes)
+ [Exemples de fichiers JSON](#file-as2-json)

## Processus de réception des AS2 messages
<a name="as2-inbound-process"></a>

Le processus entrant est défini comme un message ou un fichier transféré vers votre AWS Transfer Family serveur. La séquence des messages entrants est la suivante :

1. Un administrateur ou un processus automatisé lance un transfert de AS2 fichiers sur le AS2 serveur distant du partenaire.

1. Le AS2 serveur distant du partenaire signe et chiffre le contenu du fichier, puis envoie une requête HTTP POST à un point de terminaison AS2 entrant hébergé sur Transfer Family.

1. À l'aide des valeurs configurées pour le serveur, les partenaires, les certificats et le contrat, Transfer Family déchiffre et vérifie la charge utile. AS2 Le contenu du fichier est stocké dans le magasin de fichiers Amazon S3 configuré.

1. La réponse MDN signée est renvoyée soit en ligne avec la réponse HTTP, soit de manière asynchrone via une requête HTTP POST distincte au serveur d'origine.

1. Une piste d'audit contenant les détails de l'échange est écrite pour Amazon CloudWatch .

1. Le fichier déchiffré est disponible dans un dossier nommé. `inbox/processed`

![\[Schéma illustrant la séquence de traitement des messages entrants.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/as2-architecture-inbound.png)


## Envoyer et recevoir AS2 des messages via HTTPS
<a name="as2-https-process"></a>

Cette section décrit comment configurer un serveur Transfer Family qui utilise le AS2 protocole pour envoyer et recevoir des messages via HTTPS.

**Topics**
+ [Envoyer AS2 des messages via HTTPS](#send-https)
+ [Recevoir AS2 des messages via HTTPS](#receive-https)

### Envoyer AS2 des messages via HTTPS
<a name="send-https"></a>

Pour envoyer AS2 des messages via HTTPS, créez un connecteur contenant les informations suivantes :
+ Pour l'URL, spécifiez une URL HTTPS
+ Pour l'algorithme de chiffrement, sélectionnez l'un des algorithmes disponibles.
**Note**  
 Pour envoyer des messages à un serveur Transfer Family sans utiliser le chiffrement (c'est-à-dire si vous sélectionnez l'algorithme `NONE` de chiffrement), vous devez utiliser un Application Load Balancer (ALB).
+ Fournissez les valeurs restantes pour le connecteur, comme décrit dans[Configuration des AS2 connecteurs](configure-as2-connector.md).

### Recevoir AS2 des messages via HTTPS
<a name="receive-https"></a>

 AWS Transfer Family AS2 les serveurs fournissent actuellement uniquement le transport HTTP via le port 5080. Cependant, vous pouvez mettre fin au protocole TLS sur un réseau ou un équilibreur de charge d'application situé devant le point de terminaison VPC de votre serveur Transfer Family en utilisant un port et un certificat de votre choix. Avec cette approche, vous pouvez faire en sorte que les AS2 messages entrants utilisent le protocole HTTPS.

**Conditions préalables**
+ Le VPC doit se trouver dans le même emplacement Région AWS que votre serveur Transfer Family.
+ Les sous-réseaux de votre VPC doivent se trouver dans les zones de disponibilité dans lesquelles vous souhaitez utiliser votre serveur.
**Note**  
Chaque serveur Transfer Family peut prendre en charge jusqu'à trois zones de disponibilité.
+ Allouez jusqu'à trois adresses IP élastiques dans la même région que votre serveur. Vous pouvez également choisir d'apporter votre propre plage d'adresses IP (BYOIP).
**Note**  
Le nombre d'adresses IP élastiques doit correspondre au nombre de zones de disponibilité que vous utilisez avec les points de terminaison de votre serveur.

Vous pouvez configurer un Network Load Balance (NLB) ou un Application Load Balancer (ALB). Le tableau suivant répertorie les avantages et les inconvénients de chaque approche.

Le tableau ci-dessous indique les différences entre les fonctionnalités lorsque vous utilisez un NLB par rapport à un ALB pour mettre fin au protocole TLS.


| Fonctionnalité | Network Load Balancer (NLB) | Application Load Balancer (ALB) | 
| --- | --- | --- | 
| Latence | Temps de latence réduit car il fonctionne au niveau de la couche réseau. | Latence plus élevée car il fonctionne au niveau de la couche application. | 
| Prise en charge des adresses IP statiques | Peut associer des adresses IP élastiques qui peuvent être statiques. | Impossible d'associer des adresses IP élastiques : fournit un domaine dont les adresses IP sous-jacentes peuvent changer. | 
| Routage avancé | Ne prend pas en charge le routage avancé. | Supporte le routage avancé. Peut injecter `X-Forwarded-Proto` l'en-tête requis AS2 sans cryptage. [Cet en-tête est décrit dans [X-Forwarded-Proto](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Proto) sur le site web developer.mozilla.org.](https://developer.mozilla.org/) | 
| Terminaison TLS/SSL | Supporte TLS/SSL la résiliation | Supporte TLS/SSL la résiliation | 
| TLS mutuel (mTLS) | Transfer Family ne prend actuellement pas en charge l'utilisation d'un NLB pour les MTL | Support pour les MTL | 

------
#### [ Configure NLB ]

Cette procédure décrit comment configurer un Network Load Balancer (NLB) connecté à Internet dans votre VPC.<a name="create-nlb-AS2"></a>

**Pour créer un Network Load Balancer et définir le point de terminaison VPC du serveur comme cible de l'équilibreur de charge**

1. Ouvrez la console Amazon Elastic Compute Cloud à l'adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le volet de navigation, choisissez **Load Balancers**, puis **Create load Balancer**.

1. Sous **Network Load Balancer**, choisissez **Créer**.

1. Dans la section **Configuration de base**, entrez les informations suivantes :
   + Dans **Nom**, entrez un nom descriptif pour l'équilibreur de charge.
   + Pour **Méthodes**, choisissez **Accessible sur Internet**.
   + Pour **IP address type** (Type d'adresse IP), choisissez **IPv4**.

1. Dans la section **Cartographie du réseau**, entrez les informations suivantes :
   + Pour le **VPC**, choisissez le cloud privé virtuel (VPC) que vous avez créé.
   + Sous **Mappages**, choisissez les zones de disponibilité associées aux sous-réseaux publics disponibles dans le même VPC que celui que vous utilisez avec les points de terminaison de votre serveur.
   + Pour l'**IPv4 adresse** de chaque sous-réseau, choisissez l'une des adresses IP élastiques que vous avez allouées.

1. Dans la section **Écouteurs et routage**, entrez les informations suivantes :
   + Pour **Protocole**, choisissez **TLS.**
   + Pour **Port**, entrez **5080**.
   + Pour **Action par défaut**, choisissez **Créer un groupe cible**. Pour en savoir plus sur la création d'un nouveau groupe cible, consultez[Pour créer un groupe cible](#create-target-group).

   Après avoir créé un groupe cible, entrez son nom dans le champ **Action par défaut**.

1. Dans la section **Paramètres de l'écouteur sécurisé**, choisissez votre certificat dans la zone ** SSL/TLS Certificat par défaut**.

1. Choisissez **Create load balancer** pour créer votre NLB.

1. (Facultatif, mais recommandé) Activez les journaux d'accès au Network Load Balancer afin de conserver une piste d'audit complète, comme décrit dans la section [Journaux d'accès de votre Network](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-access-logs.html) Load Balancer.

   Nous recommandons cette étape car la connexion TLS est interrompue au niveau du NLB. Par conséquent, l'adresse IP source reflétée dans vos groupes de AS2 CloudWatch journaux Transfer Family est l'adresse IP privée de la NLB, et non l'adresse IP externe de votre partenaire commercial.

------
#### [ Configure ALB ]

Cette procédure décrit comment configurer un Application Load Balancer (ALB) dans votre VPC.<a name="create-alb-AS2"></a>

**Pour créer un Application Load Balancer et définir le point de terminaison VPC du serveur comme cible de l'équilibreur de charge**

1. Ouvrez la console Amazon Elastic Compute Cloud à l'adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le volet de navigation, choisissez **Load Balancers**, puis **Create load Balancer**.

1. Sous **Application Load Balancer**, choisissez **Create** (Créer).

1. Dans la console ALB, créez un nouvel écouteur HTTP sur le port 443 (HTTPS).

1. (Facultatif) Si vous souhaitez configurer l'authentification mutuelle (MTL), configurez les paramètres de sécurité et un trust store.

   1. Joignez votre SSL/TLS certificat à l'écouteur.

   1. Sous **Gestion des certificats clients**, sélectionnez **Authentification mutuelle (mTLS).**

   1. Choisissez **Verify with Trust Store**.

   1. Sous **Paramètres MTLS avancés**, choisissez ou créez un trust store en téléchargeant vos certificats CA.

1. Créez un nouveau groupe cible et ajoutez les adresses IP privées des points de terminaison de votre AS2 serveur Transfer Family en tant que cibles sur le port 5080. Pour en savoir plus sur la création d'un nouveau groupe cible, consultez[Pour créer un groupe cible](#create-target-group).

1. Configurez les contrôles de santé pour que le groupe cible utilise le protocole HTTP sur le port 5080.

1. Créez une nouvelle règle pour transférer le trafic HTTPS de l'écouteur vers le groupe cible.

1. Configurez l'écouteur pour qu'il utilise votre certificat SSL/TLS.

------

Après avoir configuré l'équilibreur de charge, les clients communiquent avec l'équilibreur de charge via l'écouteur de port personnalisé. L'équilibreur de charge communique ensuite avec le serveur via le port 5080.<a name="create-target-group"></a>

**Pour créer un groupe cible**

1. Après avoir choisi **Créer un groupe cible** dans la procédure précédente, vous êtes redirigé vers la page **Spécifier les détails du groupe** pour un nouveau groupe cible.

1.  Dans la section **Configuration de base**, entrez les informations suivantes.
   + Pour **Choisir un type de cible**, choisissez **les adresses IP**.
   + Pour **Nom du groupe cible**, saisissez un nom pour le groupe cible.
   + Pour **le protocole**, votre sélection dépend de l'utilisation d'un ALB ou d'un NLB.
     + **Pour un Network Load Balancer (NLB), choisissez TCP**
     + **Pour un Application Load Balancer (ALB), choisissez HTTP**
   + Pour **Port**, entrez **5080**. 
   + Pour **IP address type** (Type d'adresse IP), choisissez **IPv4**.
   + Pour **VPC**, choisissez le VPC que vous avez créé pour votre serveur Transfer Family. AS2 

1. <a name="vpc-register-targets"></a>Dans la section **Health checks**, choisissez le **protocole Health check**.
   + **Pour un ALB, choisissez HTTP**
   + **Pour un NLB, choisissez TCP**

1. <a name="vpc-add-to-list"></a>Choisissez **Suivant**.

1. Sur la page **Enregistrer les cibles**, entrez les informations suivantes :
   + Pour **Network**, vérifiez que le VPC que vous avez créé pour votre AS2 serveur Transfer Family est spécifié.
   + Pour **IPv4 adresse**, entrez l' IPv4adresse privée des points de terminaison de votre AS2 serveur Transfer Family.

      Si vous avez plusieurs points de terminaison pour votre serveur, choisissez **Ajouter une IPv4 adresse** pour ajouter une autre ligne permettant de saisir une autre IPv4 adresse. Répétez ce processus jusqu'à ce que vous ayez saisi les adresses IP privées de tous les points de terminaison de votre serveur.
   + Assurez-vous que **Ports** est réglé sur**5080**.
   + Choisissez **Inclure comme en attente ci-dessous** pour ajouter vos entrées à la section **Objectifs de révision**.

1. Dans la section **Vérifier les cibles**, passez en revue vos cibles IP.

1. Choisissez **Créer un groupe cible**, puis revenez à la procédure précédente de création de votre NLB et entrez le nouveau groupe cible à l'endroit indiqué.

**Tester l'accès au serveur depuis une adresse IP élastique**

Connectez-vous au serveur via le port personnalisé à l'aide d'une adresse IP élastique ou du nom DNS du Network Load Balancer.

**Important**  
Gérez l'accès à votre serveur à partir des adresses IP des clients en utilisant les [listes de contrôle d'accès réseau (réseau ACLs)](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html) pour les sous-réseaux configurés sur l'équilibreur de charge. Les autorisations ACL réseau sont définies au niveau du sous-réseau, de sorte que les règles s'appliquent à toutes les ressources qui utilisent le sous-réseau. Vous ne pouvez pas contrôler l'accès depuis les adresses IP des clients à l'aide de groupes de sécurité, car le type de cible de l'équilibreur de charge est défini sur les **adresses IP** plutôt que sur les **instances**. Par conséquent, l'équilibreur de charge ne conserve pas les adresses IP sources. Si les [vérifications de santé du Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/target-group-health-checks.html) échouent, cela signifie que l'équilibreur de charge ne peut pas se connecter au point de terminaison du serveur. Pour résoudre ce problème, vérifiez les points suivants :  
Vérifiez que le [groupe de sécurité associé au point de terminaison](https://aws.amazon.com/premiumsupport/knowledge-center/sftp-enable-elastic-ip-custom-port/) du serveur autorise les connexions entrantes provenant des sous-réseaux configurés sur l'équilibreur de charge. L'équilibreur de charge doit pouvoir se connecter au point de terminaison du serveur via le port 5080.
Vérifiez que l'**état** du serveur est **en ligne**.

## Transférer des fichiers à l'aide d'un AS2 connecteur
<a name="transfer-as2-connectors"></a>

AS2 les connecteurs établissent une relation entre les partenaires commerciaux pour les transferts de AS2 messages d'un serveur Transfer Family vers une destination externe appartenant au partenaire.

Vous pouvez utiliser Transfer Family pour envoyer AS2 des messages en faisant référence à l'ID du connecteur et aux chemins d'accès aux fichiers, comme illustré dans la commande suivante `start-file-transfer` AWS Command Line Interface (AWS CLI) :

```
aws transfer start-file-transfer --connector-id c-1234567890abcdef0 \
--send-file-paths "/amzn-s3-demo-source-bucket/myfile1.txt" "/amzn-s3-demo-source-bucket/myfile2.txt"
```

Pour obtenir les détails de vos connecteurs, exécutez la commande suivante :

```
aws transfer list-connectors
```

La `list-connectors` commande renvoie le connecteur IDs et Amazon Resource Names (ARNs) pour vos connecteurs. URLs

Pour renvoyer les propriétés d'un connecteur spécifique, exécutez la commande suivante avec l'ID que vous souhaitez utiliser :

```
aws transfer describe-connector --connector-id your-connector-id
```

La `describe-connector` commande renvoie toutes les propriétés du connecteur, notamment son URL, ses rôles, ses profils, ses notifications de disposition des messages (MDNs), ses balises et ses mesures de surveillance.

Vous pouvez vérifier que le partenaire a bien reçu les fichiers en consultant les fichiers JSON et MDN. Ces fichiers sont nommés conformément aux conventions décrites dans[Noms et emplacements des fichiers](#file-names-as2). Si vous avez configuré un rôle de journalisation lors de la création du connecteur, vous pouvez également vérifier l'état des AS2 messages dans vos CloudWatch journaux.

Pour consulter les détails du AS2 connecteur, voir[Afficher les détails AS2 du connecteur](configure-as2-connector.md#connectors-view-info). Pour plus d'informations sur la création de AS2 connecteurs, consultez[Configuration des AS2 connecteurs](configure-as2-connector.md).

**Pour envoyer un message AS2 sortant**

Le processus sortant est défini comme un message ou un fichier envoyé depuis AWS un client ou un service externe. La séquence des messages sortants est la suivante :

1. Un administrateur appelle la commande `start-file-transfer` AWS Command Line Interface (AWS CLI) ou l'opération `StartFileTransfer` API. Cette opération fait référence à une `connector` configuration.

1. Transfer Family détecte une nouvelle demande de fichier et localise le fichier. Le fichier est compressé, signé et chiffré. 

1. Un client HTTP de transfert exécute une requête HTTP POST pour transmettre la charge utile au AS2 serveur du partenaire. 

1. Le processus renvoie la réponse MDN signée, en ligne avec la réponse HTTP (MDN synchrone ou asynchrone).

1. Au fur et à mesure que le fichier passe d'une étape de transmission à l'autre, le processus fournit au client la réception de la réponse MDN et les détails du traitement. 

1. Le AS2 serveur distant met le fichier déchiffré et vérifié à la disposition de l'administrateur partenaire.

![\[Schéma illustrant la séquence de traitement des messages sortants.\]](http://docs.aws.amazon.com/fr_fr/transfer/latest/userguide/images/as2-architecture-outbound.png)


AS2 le traitement prend en charge de nombreux protocoles RFC 4130, en mettant l'accent sur les cas d'utilisation courants et sur l'intégration avec les implémentations de serveurs AS2 compatibles existantes. Pour plus de détails sur les configurations prises en charge, consultez[AS2 configurations](create-b2b-server.md#as2-supported-configurations).

## Noms et emplacements des fichiers
<a name="file-names-as2"></a>

Cette section décrit les conventions de dénomination des fichiers pour AS2 les transferts.

Pour les transferts de fichiers entrants, tenez compte des points suivants :
+ Vous spécifiez le répertoire de base dans un accord. Le répertoire de base est le nom du compartiment Amazon S3 associé à un préfixe, le cas échéant. Par exemple, `/amzn-s3-demo-bucket/AS2-folder`.
+ Si un fichier entrant est traité avec succès, le fichier (et le fichier JSON correspondant) est enregistré `/processed` dans le dossier. Par exemple, `/amzn-s3-demo-bucket/AS2-folder/processed`.

  Le fichier JSON contient les champs suivants :
  + `agreement-id` 
  + `as2-from`
  + `as2-to`
  + `as2-message-id`
  + `transfer-id`
  + `client-ip`
  + `connector-id`
  + `failure-message`
  + `file-path`
  + `message-subject`
  + `mdn-message-id`
  + `mdn-subject`
  + `requester-file-name`
  + `requester-content-type`
  + `server-id`
  + `status-code`
  + `failure-code`
  + `transfer-size`
+ Si un fichier entrant ne peut pas être traité correctement, le fichier (et le fichier JSON correspondant) est enregistré `/failed` dans le dossier. Par exemple, `/amzn-s3-demo-bucket/AS2-folder/failed`.
+ Le fichier transféré est stocké dans le `processed` dossier sous le nom`original_filename.messageId.original_extension`. C'est-à-dire que l'ID du message pour le transfert est ajouté au nom du fichier, avant son extension d'origine.
+ Un fichier JSON est créé et enregistré sous le nom`original_filename.messageId.original_extension.json`. Outre l'ID du message ajouté, la chaîne `.json` est ajoutée au nom du fichier transféré.
+ Un fichier MDN (Message Disposition Notice) est créé et enregistré sous `original_filename.messageId.original_extension.mdn` le nom de. Outre l'ID du message ajouté, la chaîne `.mdn` est ajoutée au nom du fichier transféré.
+ Si un fichier entrant est nommé`ExampleFileInS3Payload.dat`, les fichiers suivants sont créés :
  + **Fichier** — `ExampleFileInS3Payload.c4d6b6c7-23ea-4b8c-9ada-0cb811dc8b35@44313c54b0a46a36.dat`
  + **JSON** — `ExampleFileInS3Payload.c4d6b6c7-23ea-4b8c-9ada-0cb811dc8b35@44313c54b0a46a36.dat.json` 
  + **MDN —** `ExampleFileInS3Payload.c4d6b6c7-23ea-4b8c-9ada-0cb811dc8b35@44313c54b0a46a36.dat.mdn` 

Pour les transferts sortants, le nom est similaire, à la différence qu'il n'y a pas de fichier de message entrant et que l'ID de transfert du message transféré est également ajouté au nom du fichier. L'ID de transfert est renvoyé par l'opération `StartFileTransfer` API (ou lorsqu'un autre processus ou script appelle cette opération).
+ `transfer-id`Il s'agit d'un identifiant associé à un transfert de fichier. Toutes les demandes faisant partie d'un `StartFileTransfer` appel partagent un`transfer-id`.
+ Le répertoire de base est le même que le chemin que vous utilisez pour le fichier source. En d'autres termes, le répertoire de base est le chemin que vous spécifiez dans l'opération ou la `start-file-transfer` AWS CLI commande de l'`StartFileTransfer`API. Par exemple : 

  ```
  aws transfer start-file-transfer --send-file-paths /amzn-s3-demo-bucket/AS2-folder/file-to-send.txt
  ```

  Si vous exécutez cette commande, les fichiers MDN et JSON sont enregistrés dans `/amzn-s3-demo-bucket/AS2-folder/processed` (pour les transferts réussis) ou `/amzn-s3-demo-bucket/AS2-folder/failed` (pour les transferts infructueux).
+ Un fichier JSON est créé et enregistré sous le nom`original_filename.transferId.messageId.original_extension.json`.
+ Un fichier MDN est créé et enregistré sous le nom`original_filename.transferId.messageId.original_extension.mdn`.
+ Si un fichier sortant est nommé`ExampleFileOutTestOutboundSyncMdn.dat`, les fichiers suivants sont créés :
  + **JSON** — `ExampleFileOutTestOutboundSyncMdn.dedf4601-4e90-4043-b16b-579af35e0d83.fbe18db8-7361-42ff-8ab6-49ec1e435f34@c9c705f0baaaabaa.dat.json`
  + **MDN —** `ExampleFileOutTestOutboundSyncMdn.dedf4601-4e90-4043-b16b-579af35e0d83.fbe18db8-7361-42ff-8ab6-49ec1e435f34@c9c705f0baaaabaa.dat.mdn`

Vous pouvez également consulter les CloudWatch journaux pour consulter les détails de vos transferts, y compris ceux qui ont échoué.

## Codes d’état
<a name="status-codes"></a>

Le tableau suivant répertorie tous les codes de statut qui peuvent être enregistrés dans les CloudWatch journaux lorsque vous ou votre partenaire envoyez un AS2 message. Les différentes étapes de traitement des messages s'appliquent à différents types de messages et sont destinées uniquement à la surveillance. Les états COMPLETED et FAILED représentent l'étape finale du traitement et sont visibles dans les fichiers JSON.


****  

| Code | Description | Le traitement est terminé ? | 
| --- | --- | --- | 
| EN TRAITEMENT | Le message est en cours de conversion dans son format final. Par exemple, les étapes de décompression et de déchiffrement ont toutes deux ce statut. | Non | 
| MDN\$1TRANSMIT | Le traitement des messages envoie une réponse MDN. | Non | 
| MDN\$1RECEIVE | Le traitement des messages reçoit une réponse MDN. | Non | 
| TERMINÉ | Le traitement des messages s'est terminé avec succès. Cet état inclut l'envoi d'un MDN pour un message entrant ou pour la vérification MDN des messages sortants. | Oui | 
| ÉCHEC | Le traitement du message a échoué. Pour obtenir la liste des codes d'erreur, consultez[AS2 codes d'erreur](as2-monitoring.md#as2-error-codes). | Oui | 

## Exemples de fichiers JSON
<a name="file-as2-json"></a>

Cette section répertorie des exemples de fichiers JSON pour les transferts entrants et sortants, y compris des exemples de fichiers pour les transferts réussis et les transferts qui échouent.

Exemple de fichier sortant transféré avec succès :

```
{
  "requester-content-type": "application/octet-stream",
  "message-subject": "File xyzTest from MyCompany_OID to partner YourCompany",
  "requester-file-name": "TestOutboundSyncMdn-9lmCr79hV.dat",
  "as2-from": "MyCompany_OID",
  "connector-id": "c-c21c63ceaaf34d99b",
  "status-code": "COMPLETED",
  "disposition": "automatic-action/MDN-sent-automatically; processed",
  "transfer-size": 3198,
  "mdn-message-id": "OPENAS2-11072022063009+0000-df865189-1450-435b-9b8d-d8bc0cee97fd@PartnerA_OID_MyCompany_OID",
  "mdn-subject": "Message be18db8-7361-42ff-8ab6-49ec1e435f34@c9c705f0baaaabaa has been accepted",
  "as2-to": "PartnerA_OID",
  "transfer-id": "dedf4601-4e90-4043-b16b-579af35e0d83",
  "file-path": "/amzn-s3-demo-bucket/as2testcell0000/openAs2/TestOutboundSyncMdn-9lmCr79hV.dat",
  "as2-message-id": "fbe18db8-7361-42ff-8ab6-49ec1e435f34@c9c705f0baaaabaa",
  "timestamp": "2022-07-11T06:30:10.791274Z"
}
```

Exemple de fichier sortant transféré sans succès :

```
{
  "failure-code": "HTTP_ERROR_RESPONSE_FROM_PARTNER",
  "status-code": "FAILED",
  "requester-content-type": "application/octet-stream",
  "subject": "Test run from Id da86e74d6e57464aae1a55b8596bad0a to partner 9f8474d7714e476e8a46ce8c93a48c6c",
  "transfer-size": 3198,
  "requester-file-name": "openAs2TestOutboundWrongAs2Ids-necco-3VYn5n8wE.dat",
  "as2-message-id": "9a9cc9ab-7893-4cb6-992a-5ed8b90775ff@718de4cec1374598",
  "failure-message": "http://Test123456789.us-east-1.elb.amazonaws.com:10080 returned status 500 for message with ID 9a9cc9ab-7893-4cb6-992a-5ed8b90775ff@718de4cec1374598",
  "transfer-id": "07bd3e07-a652-4cc6-9412-73ffdb97ab92",
  "connector-id": "c-056e15cc851f4b2e9",
  "file-path": "/amzn-s3-demo-bucket-4c1tq6ohjt9y/as2IntegCell0002/openAs2/openAs2TestOutboundWrongAs2Ids-necco-3VYn5n8wE.dat",
  "timestamp": "2022-07-11T21:17:24.802378Z"
}
```

Exemple de fichier entrant transféré avec succès :

```
{
  "requester-content-type": "application/EDI-X12",
  "subject": "File openAs2TestInboundAsyncMdn-necco-5Ab6bTfCO.dat sent from MyCompany to PartnerA",
  "client-ip": "10.0.109.105",
  "requester-file-name": "openAs2TestInboundAsyncMdn-necco-5Ab6bTfCO.dat",
  "as2-from": "MyCompany_OID",
  "status-code": "COMPLETED",
  "disposition": "automatic-action/MDN-sent-automatically; processed",
  "transfer-size": 1050,
  "mdn-subject": "Message Disposition Notification",
  "as2-message-id": "OPENAS2-11072022233606+0000-5dab0452-0ca1-4f9b-b622-fba84effff3c@MyCompany_OID_PartnerA_OID",
  "as2-to": "PartnerA_OID",
  "agreement-id": "a-f5c5cbea5f7741988",
  "file-path": "processed/openAs2TestInboundAsyncMdn-necco-5Ab6bTfCO.OPENAS2-11072022233606+0000-5dab0452-0ca1-4f9b-b622-fba84effff3c@MyCompany_OID_PartnerA_OID.dat",
  "server-id": "s-5f7422b04c2447ef9",
  "timestamp": "2022-07-11T23:36:36.105030Z"
}
```

Exemple de fichier entrant transféré sans succès :

```
{
  "failure-code": "INVALID_REQUEST",
  "status-code": "FAILED",
  "subject": "Sending a request from InboundHttpClientTests",
  "client-ip": "10.0.117.27",
  "as2-message-id": "testFailedLogs-TestRunConfig-Default-inbound-direct-integ-0c97ee55-af56-4988-b7b4-a3e0576f8f9c@necco",
  "as2-to": "0beff6af56c548f28b0e78841dce44f9",
  "failure-message": "Unsupported date format: 2022/123/456T",
  "agreement-id": "a-0ceec8ca0a3348d6a",
  "as2-from": "ab91a398aed0422d9dd1362710213880",
  "file-path": "failed/01187f15-523c-43ac-9fd6-51b5ad2b08f3.testFailedLogs-TestRunConfig-Default-inbound-direct-integ-0c97ee55-af56-4988-b7b4-a3e0576f8f9c@necco",
  "server-id": "s-0582af12e44540b9b",
  "timestamp": "2022-07-11T06:30:03.662939Z"
}
```