Bug #35376
erreur lors de l'import du client soap
0%
Description
Traceback: File "/usr/lib/python2.7/dist-packages/django/core/handlers/exception.py" in inner 41. response = get_response(request) File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py" in _legacy_get_response 249. response = self._get_response(request) File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py" in _get_response 187. response = self.process_exception_by_middleware(e, request) File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py" in _get_response 185. response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/usr/lib/python2.7/dist-packages/django/views/generic/base.py" in view 68. return self.dispatch(request, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/django/views/decorators/csrf.py" in wrapped_view 58. return view_func(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/passerelle/views.py" in dispatch 356. return super(GenericEndpointView, self).dispatch(request, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/passerelle/views.py" in dispatch 162. request, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/django/views/generic/base.py" in dispatch 88. return handler(request, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/passerelle/views.py" in get 436. return to_json(logger=connector.logger)(self.perform)(request, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/passerelle/utils/jsonresponse.py" in wrapper 83. return method(f, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/passerelle/utils/jsonresponse.py" in api_func 139. return self.api(f, args[0], *args, **kwargs) File "/usr/lib/python2.7/dist-packages/passerelle/utils/jsonresponse.py" in api 147. resp = f(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/passerelle/views.py" in perform 421. result = self.endpoint(request, **params) File "/usr/lib/python2.7/dist-packages/passerelle/apps/astregs/models.py" in get_contact 497. ContactCle={'idContact': contact_id} File "/usr/lib/python2.7/dist-packages/passerelle/apps/astregs/models.py" in call 302. client = self.get_client(wsdl_name) File "/usr/lib/python2.7/dist-packages/passerelle/apps/astregs/models.py" in get_client 293. client = self.soap_client(wsdl_url=url) File "/usr/lib/python2.7/dist-packages/passerelle/base/models.py" in soap_client 185. return passerelle.utils.soap.SOAPClient(resource=self, **kwargs) Exception Type: AttributeError at /astregs/test/get-contact Exception Value: 'module' object has no attribute 'soap'
Fichiers
Demandes liées
Révisions associées
Historique
Mis à jour par Serghei Mihai il y a plus de 4 ans
- Lié à Development #35369: réunir les affaires soap dans passerelle/utils/soap.py ajouté
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Statut changé de Nouveau à Rejeté
Doublon #35373.
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Assigné à changé de Frédéric Péters à Serghei Mihai
Mis à jour par Serghei Mihai il y a plus de 4 ans
- Fichier 0001-base-fix-soap-client-import-35376.patch 0001-base-fix-soap-client-import-35376.patch ajouté
- Statut changé de En cours à Solution proposée
- Patch proposed changé de Non à Oui
Etrange que ça n'a pas été détécté par les tests.
Mis à jour par Frédéric Péters il y a plus de 4 ans
Évitons les import dans les méthodes, juste un import passerelle.utils.soap
en haut ça le fait, non ?
Mis à jour par Serghei Mihai il y a plus de 4 ans
- Fichier 0001-base-fix-soap-client-import-35376.patch 0001-base-fix-soap-client-import-35376.patch ajouté
Yep
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Statut changé de Solution proposée à Solution validée
J'écrivais import passerelle.utils.soap
mais bon, ok pour le from... mais à descendre sous le import passerelle
.
Mis à jour par Benjamin Dauvergne il y a plus de 4 ans
- Statut changé de Solution validée à En cours
Ça ne marche pas, ça crée un import circulaire : soap -> models -> soap.
Traceback (most recent call last): File "/usr/lib/passerelle/manage.py", line 10, in <module> execute_from_command_line(sys.argv) File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", line 364, in execute_from_command_line utility.execute() File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", line 338, in execute django.setup() File "/usr/lib/python2.7/dist-packages/django/__init__.py", line 27, in setup apps.populate(settings.INSTALLED_APPS) File "/usr/lib/python2.7/dist-packages/django/apps/registry.py", line 108, in populate app_config.import_models() File "/usr/lib/python2.7/dist-packages/django/apps/config.py", line 202, in import_models self.models_module = import_module(models_module_name) File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module __import__(name) File "/usr/lib/python2.7/dist-packages/passerelle/base/models.py", line 35, in <module> import passerelle.utils.soap File "/usr/lib/python2.7/dist-packages/passerelle/utils/__init__.py", line 38, in <module> from passerelle.base.models import ApiUser, AccessRight, BaseResource ImportError: cannot import name ApiUser
C'est bien de pousser les branches et de regarder si jenkins est content...
Mis à jour par Frédéric Péters il y a plus de 4 ans
Je serais alors (et j'ai hésité j'aurais du le faire depuis le début) en bas de passerelle.utils faire l'import from .soap import SOAPClient, SOAPTransport
, pour la compatibilité et qui passerait aussi, peut-être, à tester, etc.
Mis à jour par Serghei Mihai il y a plus de 4 ans
- Fichier 0001-base-fix-soap-client-import-35376.patch 0001-base-fix-soap-client-import-35376.patch ajouté
Yep.
Mis à jour par Benjamin Dauvergne il y a plus de 4 ans
Aussi faut qu'on arrête de mettre des choses dans init.py (je plaide coupable).
Mis à jour par Benjamin Dauvergne il y a plus de 4 ans
- Statut changé de En cours à Solution validée
Mis à jour par Serghei Mihai il y a plus de 4 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit c7e00a7427570fd616457fc3eba30f7510d2887d (origin/master, origin/HEAD) Author: Serghei Mihai <smihai@entrouvert.com> Date: Mon Aug 12 16:57:47 2019 +0200 base: fix soap client import (#35376)
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Statut changé de Résolu (à déployer) à Solution déployée
base: fix soap client import (#35376)