diff --git a/src/app/email/controllers/EmailController.php b/src/app/email/controllers/EmailController.php
index 112c09c34de6955f269943a22351e1dbfb4133b5..c93a62164d3f822145e607105d27ad90546b630b 100644
--- a/src/app/email/controllers/EmailController.php
+++ b/src/app/email/controllers/EmailController.php
@@ -524,17 +524,17 @@ class EmailController
         //zip M2M
         if ($email['message_exchange_id']) {
             $messageExchange = MessageExchangeModel::getMessageByIdentifier(['messageId' => $email['message_exchange_id'], 'select' => ['docserver_id','path','filename','fingerprint','reference']]);
-            $docserver       = DocserverModel::getByDocserverId(['docserverId' => $messageExchange[0]['docserver_id']]);
+            $docserver       = DocserverModel::getByDocserverId(['docserverId' => $messageExchange['docserver_id']]);
             $docserverType   = DocserverTypeModel::getById(['id' => $docserver['docserver_type_id']]);
 
-            $pathDirectory = str_replace('#', DIRECTORY_SEPARATOR, $messageExchange[0]['path']);
-            $filePath      = $docserver['path_template'] . $pathDirectory . $messageExchange[0]['filename'];
+            $pathDirectory = str_replace('#', DIRECTORY_SEPARATOR, $messageExchange['path']);
+            $filePath      = $docserver['path_template'] . $pathDirectory . $messageExchange['filename'];
             $fingerprint   = StoreController::getFingerPrint([
                 'filePath' => $filePath,
                 'mode'     => $docserverType['fingerprint_mode'],
             ]);
 
-            if ($fingerprint != $messageExchange[0]['fingerprint']) {
+            if ($fingerprint != $messageExchange['fingerprint']) {
                 $email['document'] = (array)json_decode($email['document']);
                 return ['errors' => 'Pb with fingerprint of document. ResId master : ' . $email['document']['id']];
             }
@@ -545,7 +545,7 @@ class EmailController
                     return ['errors' => 'Document not found on docserver'];
                 }
 
-                $title = preg_replace(utf8_decode('@[\\/:*?"<>|]@i'), '_', substr($messageExchange[0]['reference'], 0, 30));
+                $title = preg_replace(utf8_decode('@[\\/:*?"<>|]@i'), '_', substr($messageExchange['reference'], 0, 30));
 
                 $phpmailer->addStringAttachment($fileContent, $title . '.zip');
             }
diff --git a/src/app/external/exportSeda/controllers/AdapterMaarchCourrierController.php b/src/app/external/exportSeda/controllers/AdapterMaarchCourrierController.php
index 928be8b7c56eaac2d464ac35f6ff132f49d6368f..31f94e6af3615f7359744fdcb7608de81a6d6a41 100755
--- a/src/app/external/exportSeda/controllers/AdapterMaarchCourrierController.php
+++ b/src/app/external/exportSeda/controllers/AdapterMaarchCourrierController.php
@@ -26,22 +26,21 @@ class AdapterMaarchCourrierController
         $res = []; // [0] = url, [1] = header, [2] = cookie, [3] = data
 
         $message = MessageExchangeModel::getMessageByReference(['reference' => $messageId]);
+        $messageObject = json_decode($message['data']);
 
-        $messageObject = json_decode($message[0]['data']);
-
-        $docserver     = DocserverModel::getByDocserverId(['docserverId' => $message[0]['docserver_id']]);
+        $docserver     = DocserverModel::getByDocserverId(['docserverId' => $message['docserver_id']]);
         $docserverType = DocserverTypeModel::getById(
             ['id' => $docserver['docserver_type_id']]
         );
 
-        $pathDirectory = str_replace('#', DIRECTORY_SEPARATOR, $message[0]['path']);
-        $filePath      = $docserver['path_template'] . $pathDirectory . $message[0]['filename'];
+        $pathDirectory = str_replace('#', DIRECTORY_SEPARATOR, $message['path']);
+        $filePath      = $docserver['path_template'] . $pathDirectory . $message['filename'];
         $fingerprint   = StoreController::getFingerPrint([
             'filePath' => $filePath,
             'mode'     => $docserverType['fingerprint_mode'],
         ]);
 
-        if ($fingerprint != $message[0]['fingerprint']) {
+        if ($fingerprint != $message['fingerprint']) {
             echo _PB_WITH_FINGERPRINT_OF_DOCUMENT;
             exit;
         }
diff --git a/src/app/external/exportSeda/controllers/AdapterWSController.php b/src/app/external/exportSeda/controllers/AdapterWSController.php
index 0b44197c3b3f8ddf927c0eb1779ff1ff66fe7caa..c9824b599612c00d6816897abe2b7da0104b9cd9 100755
--- a/src/app/external/exportSeda/controllers/AdapterWSController.php
+++ b/src/app/external/exportSeda/controllers/AdapterWSController.php
@@ -21,13 +21,13 @@ class AdapterWSController
     public function send($messageObject, $messageId, $type)
     {
         $message = MessageExchangeModel::getMessageByIdentifier(['messageId' => $messageId]);
-        $res     = TransferController::transfer('maarchcourrier', $message[0]['reference'], $type);
+        $res     = TransferController::transfer('maarchcourrier', $message['reference'], $type);
 
         if ($res['status'] == 1) {
-            MessageExchangeModel::updateStatusMessage(['reference' => $message[0]['reference'], 'status' => 'E']);
+            MessageExchangeModel::updateStatusMessage(['reference' => $message['reference'], 'status' => 'E']);
             return $res;
         }
 
-        MessageExchangeModel::updateStatusMessage(['reference' => $message[0]['reference'], 'status' => 'S']);
+        MessageExchangeModel::updateStatusMessage(['reference' => $message['reference'], 'status' => 'S']);
     }
 }
diff --git a/src/app/external/messageExchange/controllers/MessageExchangeController.php b/src/app/external/messageExchange/controllers/MessageExchangeController.php
index c6935ee7f1bf7126d86432276523375725d395ba..455814112a242f821643564441440a141d38e341 100644
--- a/src/app/external/messageExchange/controllers/MessageExchangeController.php
+++ b/src/app/external/messageExchange/controllers/MessageExchangeController.php
@@ -83,10 +83,9 @@ class MessageExchangeController
             'messageId' => $args['id']
         ]);
 
-        if (empty($message[0])) {
+        if (empty($message)) {
             return $response->withStatus(404)->withJson(['errors' => 'Message not found']);
         }
-        $message = $message[0];
 
         if (!ResController::hasRightByResId(['resId' => [$message['res_id_master']], 'userId' => $GLOBALS['id']])) {
             return $response->withStatus(403)->withJson(['errors' => 'Document out of perimeter']);
diff --git a/src/app/external/messageExchange/controllers/MessageExchangeReviewController.php b/src/app/external/messageExchange/controllers/MessageExchangeReviewController.php
index 87987fcbb44285bc2445fb61c8bba132f5054a75..3aad8aceb085d048863b49ebb0c58e2dbed1e7a6 100755
--- a/src/app/external/messageExchange/controllers/MessageExchangeReviewController.php
+++ b/src/app/external/messageExchange/controllers/MessageExchangeReviewController.php
@@ -77,7 +77,7 @@ class MessageExchangeReviewController
             $reviewObject->UnitIdentifier->value = $messageExchangeData['external_id']['m2m'];
 
             $messageExchangeReply = MessageExchangeModel::getMessageByReference(['reference' => $messageExchangeData['external_id']['m2m'].'_ReplySent']);
-            $dataObject = json_decode($messageExchangeReply[0]['data']);
+            $dataObject = json_decode($messageExchangeReply['data']);
             $reviewObject->OriginatingAgency = $dataObject->TransferringAgency;
             $reviewObject->ArchivalAgency = $dataObject->ArchivalAgency;
 
diff --git a/src/app/external/messageExchange/controllers/ReceiveMessageExchangeController.php b/src/app/external/messageExchange/controllers/ReceiveMessageExchangeController.php
index bfaafe45a40c2792a5a33530e27ad324e1e572e6..a120bd18a513ecffa9d30b4ef047eeb481541bd2 100755
--- a/src/app/external/messageExchange/controllers/ReceiveMessageExchangeController.php
+++ b/src/app/external/messageExchange/controllers/ReceiveMessageExchangeController.php
@@ -18,13 +18,15 @@ namespace MessageExchange\controllers;
 use Basket\models\BasketModel;
 use Contact\models\ContactModel;
 use Entity\models\EntityModel;
+use ExportSeda\controllers\SendMessageController;
 use Group\controllers\PrivilegeController;
 use History\controllers\HistoryController;
+use MessageExchange\controllers\SendMessageExchangeController;
+use MessageExchange\models\MessageExchangeModel;
 use Note\models\NoteModel;
 use Resource\controllers\StoreController;
 use Resource\models\ResModel;
 use Resource\models\ResourceContactModel;
-use ExportSeda\controllers\SendMessageController;
 use Slim\Http\Request;
 use Slim\Http\Response;
 use SrcCore\models\CoreConfigModel;
diff --git a/src/app/external/messageExchange/models/MessageExchangeModelAbstract.php b/src/app/external/messageExchange/models/MessageExchangeModelAbstract.php
index e9903b052750488d74f57dcd34bfc0d2af7c6d1d..cbe3569a82f94b540feaf3c768d2dce334531f53 100755
--- a/src/app/external/messageExchange/models/MessageExchangeModelAbstract.php
+++ b/src/app/external/messageExchange/models/MessageExchangeModelAbstract.php
@@ -58,7 +58,7 @@ abstract class MessageExchangeModelAbstract
             return [];
         }
        
-        return $aReturn;
+        return $aReturn[0];
     }
 
     public static function getMessageByIdentifier($aArgs = [])
@@ -78,7 +78,7 @@ abstract class MessageExchangeModelAbstract
             return [];
         }
        
-        return $aReturn;
+        return $aReturn[0];
     }
 
     public static function updateStatusMessage(array $aArgs)