Scénario #36839
Problème avec les commandes Zéphir AAF
100%
Description
Extraits du message de Charles :
[ ... ] Ils ont upgradé en 2.9 le Zephir.
Ils ont rencontré des erreurs des upload des fichiers avec les commandes z.aaf.notify_upload, z.aaf.get_list et autres commandes z.aaf.XXXX.J’ai trouvé le problème.
La version de python implantée sur le 2.9 est la 3.10, et xmlrpc a été modifié pour augmenter la sécurité.La commande « z = Server("https://utilisateur:codeSecret@adresse_zephir:7080") » n’est plus suffisante et donne des erreurs lors des commandes z.aaf.xxx.
En fait, cette commande utilise des options par défaut, comme transport qu’il faut obligatoirement renseigner pour que cela fonctionne.
Pour résoudre ce problème, il faut renseigner l’option transport avec une classe de surcharge des paramètres headers nécessaires au bon fonctionnement.
Sous-tâches
Historique
#1 Mis à jour par Joël Cuissinat il y a 10 mois
#!/usr/bin/python3.10
# -*- coding: utf-8 -*-
import subprocess
import sys
from xmlrpc.client import Server
from xmlrpc import client as xmlrpclib # ligne à rajouter
#subprocess.call('/root/get_AAF')
# avec Python 3.10, il faut surcharger le headers du transport avec cette classe
class SpecialTransport(xmlrpclib.SafeTransport):
def send_content(self, connection, request_body):
connection.putheader("Referer", "https://adresse_zephir:7080") # URL du zephir
connection.putheader("Origin", "https://adresse_zephir:7080") #URL du zephir
connection.putheader("X-Requested-With", "XMLHttpRequest")
connection.putheader("Content-Type", "text/xml")
connection.putheader("Content-Length", str(len(request_body)))
connection.endheaders()
if request_body:
connection.send(request_body)
# Fin de la classe de surcharge
z = Server("https://admin_zephir:password@adresse_zephir:7080", # meme format https://USER:MDP_USER@URL_ZEPHIR:PORT
transport=SpecialTransport(), # Appel de la classe de surcharge transport
verbose=False, # ligne à rajouter
allow_none=True) # ligne à rajouter
a = z.aaf.get_list(3) # ligne de test
print(a)
#2 Mis à jour par Joël Cuissinat il y a 10 mois
- Tracker changé de Demande à Scénario
- Début
06/05/2025supprimé - Release mis à EOLE 2.9.0
- Points de scénarios mis à 1.0
#3 Mis à jour par Joël Cuissinat il y a 10 mois
- Release changé de EOLE 2.9.0 à Carnet de produit Cadoles - MEN
#4 Mis à jour par Laurent Gourvenec il y a 9 mois
- Assigné à mis à Ludwig Seys
#5 Mis à jour par Ludwig Seys il y a 8 mois
- Echéance mis à 01/01/2026
- Version cible mis à Carnet Cadoles - MEN
- Début mis à 01/10/2022
#6 Mis à jour par Joël Cuissinat il y a 7 mois
- Points de scénarios changé de 1.0 à 2.0
+1 pour fournir et documenter un script "propre" (cf. #36997#note-3)
#7 Mis à jour par Joël Cuissinat il y a 5 mois
- Statut changé de Nouveau à Terminé (Sprint)
- Version cible changé de Carnet Cadoles - MEN à Livraison Cadoles - MEN 30/06/2025 (20)
- Release changé de Carnet de produit Cadoles - MEN à EOLE 2.9.0