[Python] suds ed autenticazione https

2015-08-25 Per discussione Alessandro Dentella

Ciao a tutti,

ho un problema per il quale ho (quasi) esaurito la fantasia
investigativa...

Ho una pacchetto  che si connette al servizio delle poste per inviare
raccomandate soap usando suds.

Il pacchetta funziona correttamente su una vecchia Debian Lenny che
ora sto sostituendo con una Debian Jessie. Nel passaggio non riesco
più a fare funzionare l'autenticazione sul server soap che è in https.

Nel debug ho preso solo la porzione di codice che si connette al
servizio e che dovrebbe fare il download del wsdl, ho creato un minimo
virtualenv sulla macchina di produzione attuale (quella che funziona)
*usando esattamente la stessa cartella come sorgente di suds* e su una
serie di altre macchine (Deebian Lenny e Jessie). SOLO su quella di
produzione passo la basic authentication.

Se provo con wget passo l'autenticazione su qualunque macchina, questo
per eliminare il dubbio che esista un controllo sull'IP.

Ad ogni cambio macchina elimino i *pyc visto che le versioni di
Python sono differenti.


L'errore che ricevo è immancabilmente:

   htmlhead
   title401 Authorization Required/title
   /headbody
   h1Authorization Required/h1
   pThis server could not verify that you
   are authorized to access the document
   requested.  Either you supplied the wrong
   credentials (e.g., bad password), or your
   browser doesn't understand how to supply
   the credentials required./p
   /body/html

Risposta che ottengo anche con wget, solo che il client capisce che
deve procedere ed offrire le credenziali e da me non succede (altro che
nella macchina di produzione).

Mi resta solo da vedere il codice esatto della comunicazione con il
server ma mi pare molto incomprensibile quello che ottengo. Il codice
con cui testo  è così:

  import sys
  sys.path.insert(0, 'suds_philpem-0.4.3-py2.5.egg')

  from suds import client

  username='...'
  password='xxx'
  URL='https://cewebservices.posteitaliane.it/ROLGC/RolService.svc?WSDL'
  client.Client(URL, username=username, password=password)

ed il virtualenv lo creo con virtualenv --no-site-packages.
Come può lo stesso codice (rsync -a suds...) dare risultati differenti su
macchine formalmente identiche (Debian Lenny)?

Cosa può interferire?


sandro
*:-)


--
Sandro Dentella  *:-)
http://www.reteisi.org Soluzioni libere per le scuole
http://sqlkit.argolinux.orgSQLkit home page - PyGTK/python/sqlalchemy
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] suds ed autenticazione https

2015-08-25 Per discussione Raffaele Salmaso
2015-08-25 12:44 GMT+02:00 Alessandro Dentella san...@e-den.it:


 Ciao a tutti,

 ho un problema per il quale ho (quasi) esaurito la fantasia
 investigativa...

 Ho una pacchetto  che si connette al servizio delle poste per inviare
 raccomandate soap usando suds.

Mi dispiace...

Il pacchetta funziona correttamente su una vecchia Debian Lenny che
 ora sto sostituendo con una Debian Jessie. Nel passaggio non riesco
 più a fare funzionare l'autenticazione sul server soap che è in https.

Versione di python?
Certificato https non riconosciuto? Crittografia usata? Versione TLS/SSL in
uso?
Non so jesse che versione usa, ma le ultime release di python 2.7 hanno una
gestione dei certificati https differente dalle precedenti.
Cosa che anche a me ha causato qualche grattacapo perché lo stesso codice
andava e no in base alla versione di python, perché con la nuova build
avevano eliminato il supporto a SSL3 e quindi ho dovuto modificare il
codice per indicare TLS_1 (sto andando a memoria sui dettagli, dovrei
riandare a guardare)


-- 
| Raffaele Salmaso
| http://salmaso.org
| https://bitbucket.org/rsalmaso
| http://gnammo.com
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python