Quelqu'un a-t-il réussi à se connecter aux points de terminaison 2011 de Microsoft Dynamics CRM 2011 en utilisant Python ? J'ai installé SUDS et je peux récupérer le WSDL, mais les appels de service renvoient 400 Bad Request. Je suis sûr que c'est parce que je ne suis pas authentifié, mais je ne sais pas vraiment comment m'authentifier en utilisant SOAP brut. Je connais Exemple de code de Girish mais je ne suis pas assez familier avec SOAP pour aller plus loin.
Je vois que cette question a été posée il y a un an sur SO mais cette question semble concerner NTLM. Dans mon cas, je veux utiliser WS-Trust.
Voici le code que j'ai obtenu :
from suds.client import Client
import logging
logging.basicConfig(level=logging.INFO)
url = 'https://dev.crm.dynamics.com/XRMServices/2011/Discovery.svc?wsdl'
client = Client(url)
req = client.factory.create('ns3:RetrieveOrganizationsRequest')
accessTypes = client.factory.create('ns3:AccessType')
orgRel = client.factory.create('ns3:OrganizationRelease')
req.AccessType = accessTypes.Default
req.Release = orgRel.Current
headers = dict()
headers['Content-Type'] = 'application/soap+xml'
client.set_options(headers=headers)
resp = client.service.Execute(req)