Подключение к 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

Другие вопросы по тегам