Подключение к DynamicsCRM2011 с Python и сабвуферами
У меня проблема с подключением к DynamicsCRM2011 через Python с использованием модуля suds. Я получаю следующую ошибку:
suds.transport.TransportError: HTTP Error 401: Unauthorized
Мой текущий код:
from suds.transport.https import WindowsHttpAuthenticated
from suds.client import Client
import json, requests
from suds.wsse import *
url = 'https://crm.internal.website/internal.project/xrmservices/2011/OrganizationData.svc?WSDL'
security = Security()
token = UsernameToken('', '')
token.setnonce('MyNonceString')
token.setcreated(datetime.now())
security.tokens.append(token)
ntlm = WindowsHttpAuthenticated(username='', password='')
client = Client(url, transport=ntlm)
client.set_options(wsse=security)
Во время отладки я вижу, что не могу пройти проверку подлинности на сервере Microsoft STS.
Любая помощь приветствуется. Может кто-нибудь хотя бы объяснить, как процесс аутентификации работает с DynamicsCRM (2011)?
1 ответ
Конечная точка oData CRM 2011 не поддерживает подключения извне приложения CRM.
Для CRM 2011 единственным вариантом является конечная точка SOAP.
Что касается аутентификации, это еще одна проблема, вы должны взглянуть на некоторые примеры PHP (также здесь, на Stackru), которые показывают, как подключиться к CRM 2011
РЕДАКТИРОВАТЬ: здесь пример Python: http://jlattimer.blogspot.com.au/2015/08/soap-only-authentication-using-python.html