Bug #53900
Une erreur de connexion pour un wscalls.* dans un champ commentaire provoque une trace..
0%
Description
C'est là :
https://demarches-departement06.test.entrouvert.org/contacter-le-06/test-source-2/
au cas où le template serait changé ou l'erreur disparaîtrait, le template :
<p><!--StartFragment-->{{webservice.annuaire_interne|pprint}}<!--EndFragment--></p>
la définition du wscall :
https://demarches-departement06.test.entrouvert.org/backoffice/settings/wscalls/annuaire_interne/
Il me semble que le problème devrait être caché (mais je me trompe peut-être).
Fichiers
Demandes liées
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a presque 3 ans
- Sujet changé de Une erreur de connection pour un wscalls.* dans un champ commentaire provoque une trace.. à Une erreur de connexion pour un wscalls.* dans un champ commentaire provoque une trace..
Mis à jour par Frédéric Péters il y a presque 3 ans
Il me semble que le problème devrait être caché (mais je me trompe peut-être).
Provoque une trace où/comment ?
Dans https://demarches-departement06.test.entrouvert.org/backoffice/settings/wscalls/annuaire_interne/
- Notifier en cas d’erreur : non
- Enregistrer en cas d’erreur : oui
Donc si c'était bien déjà comme ça, je dirais qu'en effet il ne devrait pas y avoir de notification de l'erreur.
Mis à jour par Frédéric Péters il y a presque 3 ans
Exception: type = '<class 'wcs.qommon.errors.ConnectionError'>', value = 'error in HTTP request to XXX (HTTPSConnectionPool(host='...', port=443): Max retries exceeded with url: /... Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f6605aa6da0>: Failed to establish a new connection: [Errno -2] Name or service not known')))' Stack trace (most recent call first): File "/usr/lib/python3/dist-packages/wcs/qommon/misc.py", line 379, in _http_request 377 raise ConnectionError('connection timed out while fetching the page') 378 except requests.RequestException as err: > 379 raise ConnectionError('error in HTTP request to %s (%s)' % (hostname, err)) 380 else: 381 data = response.content locals: adapter = <requests.adapters.HTTPAdapter object at 0x7f65ffb31748> body = None cert_file = None headers = {'Accept': 'application/json'} hostname = 'XXX' method = 'GET' raise_on_http_errors = False session = <requests.sessions.Session object at 0x7f65ffccad68> splitted_url = SplitResult(...) timeout = 28 url = '...' File "/usr/lib/python3/dist-packages/wcs/qommon/misc.py", line 397, in http_get_page 395 396 def http_get_page(url, **kwargs): > 397 return _http_request(url, **kwargs) 398 399 locals: kwargs = {'headers': {'Accept': 'application/json'}} url = '...' File "/usr/lib/python3/dist-packages/wcs/wscalls.py", line 153, in call_webservice 151 response, status, data, dummy = misc._http_request(url, method='DELETE', headers=headers) 152 else: > 153 response, status, data, dummy = misc.http_get_page(url, headers=headers) 154 request = get_request() 155 if cache is True and request and hasattr(request, 'wscalls_cache'): locals: cache = True formdata = None headers = {'Accept': 'application/json'} key = '...' kwargs = {} method = 'GET' notify_on_errors = False parsed = ParseResult(...) payload = None post_data = {} post_formdata = False qs = '...' qs_data = {'...'} record_on_errors = True request = <wcs.compat.CompatHTTPRequest object at 0x7f6604527390> request_signature_key = '' unsigned_url = '...' url = '...' value = '...' File "/usr/lib/python3/dist-packages/wcs/wscalls.py", line 269, in call 267 notify_on_errors=self.notify_on_errors, 268 record_on_errors=self.record_on_errors, > 269 **(self.request or {}), 270 )[2] 271 return json_loads(data) locals: self = <NamedWsCall 'Annuaire interne' id:annuaire_interne> File "/usr/lib/python3/dist-packages/wcs/wscalls.py", line 279, in __getattr__ 277 return NamedWsCall.get(attr).call() 278 except (KeyError, ValueError): > 279 raise AttributeError(attr) 280 281
Mis à jour par Benjamin Dauvergne il y a presque 3 ans
Frédéric Péters a écrit :
Il me semble que le problème devrait être caché (mais je me trompe peut-être).
Provoque une trace où/comment ?
Là j'ai enlevé l'affichage des traces, mais ça fait quand même une Internal Server Error, je pensais qu'on avait comme objectif de cacher ce genre de chose un maximum, l'utilisation d'une variable dans un template ne doit jamais cracher, au pire ne rien afficher là où la variable est utilisée.
Mis à jour par Benjamin Dauvergne il y a presque 3 ans
Mis à jour par Frédéric Péters il y a presque 3 ans
- Assigné à mis à Frédéric Péters
Là j'ai enlevé l'affichage des traces, mais ça fait quand même une Internal Server Error, je pensais qu'on avait comme objectif de cacher ce genre de chose un maximum, l'utilisation d'une variable dans un template ne doit jamais cracher, au pire ne rien afficher là où la variable est utilisée.
Ok je pensais qu'il y avait "une trace" mais ça impliquait aussi erreur 500, etc.
Mis à jour par Frédéric Péters il y a presque 3 ans
- Fichier 0001-wscalls-handle-connection-errors-53900.patch 0001-wscalls-handle-connection-errors-53900.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Mis à jour par Benjamin Dauvergne il y a presque 3 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Frédéric Péters il y a presque 3 ans
- Statut changé de Solution validée à Résolu (à déployer)
J'ai hésité à attendre le cycle prochain mais non, allons-y,
commit 2ca413d3d37f7ffab7617903c4eb1fdb8a6d9a7a Author: Frédéric Péters <fpeters@entrouvert.com> Date: Mon May 10 16:49:57 2021 +0200 wscalls: handle connection errors (#53900)
Mis à jour par Frédéric Péters il y a presque 3 ans
- Statut changé de Résolu (à déployer) à Solution déployée
Mis à jour par Frédéric Péters il y a 5 mois
- Lié à Bug #43901: crash 500 lors d'une SSLError/ConnectionError sur un champ commentaire avec un webservice.xxx ajouté
wscalls: handle connection errors (#53900)