Projet

Général

Profil

Bug #10977

iparapheur: dossierID inconnu, renvoyer un 404

Ajouté par Thomas Noël il y a presque 8 ans. Mis à jour il y a environ 7 ans.

Statut:
Fermé
Priorité:
Normal
Version cible:
-
Début:
18 mai 2016
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Error occurred while processing request
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/passerelle/utils/jsonresponse.py", line 349, in api
    resp = f(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/passerelle/contrib/iparapheur/views.py", line 76, in get
    return self.get_data(request, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/passerelle/contrib/iparapheur/views.py", line 138, in get_data
    return self.get_object().get_file_status(kwargs['file_id'])
  File "/usr/lib/python2.7/dist-packages/passerelle/contrib/iparapheur/models.py", line 123, in get_file_status
    raise FileError(resp.MessageRetour.message)
FileError: Le dossierID '37fb2d75-36fa-4bd3-8701-0cd533ecafba' est inconnu dans le Parapheur.

Est-il possible que passerelle renvoie un 404 dans ce cas ? (au lieu d'un 500 actuellement).


Fichiers

Révisions associées

Révision 43608089 (diff)
Ajouté par Serghei Mihai (congés, retour 15/05) il y a presque 8 ans

iparapheur: return 404 error code when file not found (#10977)

Historique

#1

Mis à jour par Serghei Mihai (congés, retour 15/05) il y a presque 8 ans

#2

Mis à jour par Thomas Noël il y a presque 8 ans

Ah ben non, toutes ces erreurs "KO" ne sont pas des "file not found".

A vrai dire, j'ai pas lu la doc, je ne sais pas s'il faut mochement détecter « "inconnu" in message » ou voir si le severity contient quelque chose de plus clair que "KO".

#3

Mis à jour par Serghei Mihai (congés, retour 15/05) il y a presque 8 ans

severite contient INFO ou ERROR pour une récuperation d'info réussie et une erreur respectivement.
Exemple de reponse pour un dossier inexistant:

<?xml version='1.0' encoding='UTF-8'?>
 <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
  <S:Body>
   <GetHistoDossierResponse xmlns="http://www.adullact.org/spring-ws/iparapheur/1.0" xmlns:xmime="http://www.w3.org/2005/05/xmlmime">
    <MessageRetour>
     <codeRetour>KO</codeRetour>
     <message>Le dossierID '37fb2d75-36fa-4bd3-8701-0cd533ecafba' est inconnu dans le Parapheur.</message>
     <severite>ERROR</severite>
    </MessageRetour>
   </GetHistoDossierResponse></S:Body></S:Envelope>

La doc(https://dev.entrouvert.org/attachments/download/8122/i-Parapheur_v4.3_Specs-WS-SOAP.pdf) ne mentionne pas l'element severite et ses valeurs possibles.
Donc je me baserais uniquement sur le codeRetour

#4

Mis à jour par Thomas Noël il y a presque 8 ans

Mmmh.... "KO" ça peut être un vrai KO... pour lequel on levera une alerte (log, trace).

Je serai pour faire un « if 'inconnu' in message: return 404 »

#5

Mis à jour par Serghei Mihai (congés, retour 15/05) il y a presque 8 ans

  • Fichier 0001-iparapheur-return-404-error-code-when-no-file-found-.patch ajouté
  • Assigné à mis à Serghei Mihai (congés, retour 15/05)

Je ne sais pas ce que renvoie le parapheur en cas de vraie erreur, mais ça me va de nous baser sur le message de retour

#6

Mis à jour par Serghei Mihai (congés, retour 15/05) il y a presque 8 ans

  • Fichier 0001-iparapheur-return-404-error-code-when-no-file-found-.patch supprimé
#7

Mis à jour par Serghei Mihai (congés, retour 15/05) il y a presque 8 ans

Patch à jour avec la même gestion d'erreur dans la vue de récuperation du fichier

#8

Mis à jour par Thomas Noël il y a presque 8 ans

Il faut laisser le « if resp.MessageRetour.codeRetour == 'KO': »

#10

Mis à jour par Thomas Noël il y a presque 8 ans

Ack

#11

Mis à jour par Serghei Mihai (congés, retour 15/05) il y a presque 8 ans

  • Statut changé de En cours à Résolu (à déployer)
commit 43608089208baf6e954db7b6d715d9a8581f11b3
Author: Serghei Mihai <smihai@entrouvert.com>
Date:   Wed May 18 20:10:06 2016 +0200

    iparapheur: return 404 error code when file not found (#10977)
#12

Mis à jour par Serghei Mihai (congés, retour 15/05) il y a environ 7 ans

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF