7
votes

Quelqu'un a-t-il combiné SOAP.PY ou SUDS avec Python-NTLM?

J'aimerais remplacer la base de boucle de courroie actuelle de l'application (curl ligne de commande basée sur la ligne de commande!) CLIENT SOAP avec SUDS ou SOAPP.PHY. Le problème est que nous devons contacter un service MS CRM et doit donc utiliser NTLM. Pour une variété de raisons, le proxy NTLM est un peu une douleur à utiliser, je regarde donc Python-NTLM pour fournir ce soutien.

peut-il faire suds ou soap.py être fait pour utiliser cette méthode d'authentification? Si c'est le cas, comment? Sinon, aucune autre suggestion serait fantastique.

Modifier

Comme indiqué ci-dessous, SUDS prend déjà en charge Python-NTLM de la boîte.


0 commentaires

3 Réponses :


6
votes

suds était Correction pour la supporter puisque 0.3.8.

Sources de Python- SUDS-0.3.9 \ SUDS \ transport \ https.py dit: xxx

Essayez avec l'extrait suivant comme décrit ici : xxx


3 commentaires

Je vais éditer la question immédiatement, mais j'ai essayé cela et j'ai eu des efforts d'attente d'essayer de vous connecter au serveur, ou Erreur 54 - Réinitialisation de la connexion par pair. Le service continue de fonctionner à titre de boucle, cependant.


Quel serveur essayez-vous de vous connecter? Un local? Voyez-vous des appels client sur le journal du serveur?


Malheureusement, non; Je me connecte au service de métadonnées Microsoft CRM de notre client. C'est une douleur dans le cul, car elle est gérée par une société de conseil tierce.



0
votes

Vous pouvez utiliser CNTLM en tant que service de proxy local qui gérera tous les appels d'authentification NTLM. Ensuite, vous venez de faire référence à la propriété intellectuelle et au port CNTLM local sans authentification à l'aide de savon ou d'urllib2 ... tout ce qui est vraiment.

Je n'ai pas encore trouvé une bibliothèque Python qui traite bien des mandataires complexes.


0 commentaires

1
votes

Une autre approche consisterait à appeler votre commande CURL pendant les exceptions de savon, puis à initier une nouvelle tentative.

quelque chose comme ... xxx

#Insecure < / code> est utilisé pour les certs auto-signés


0 commentaires