2015-12-18 14 views
0

У меня есть проблема с подключением к DynamicsCRM2011 через Python с использованием модуля suds. Я получаю следующее сообщение об ошибке:Подключение к DynamicsCRM2011 с Python и subs

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) 

Во время отладки я могу видеть, что я не могу проверить подлинность на STS Microsoft Server.

Любая помощь приветствуется. Может кто-то хотя бы объяснить, как работает процесс аутентификации с DynamicsCRM (2011)?

ответ

1

CRM 2011 oData endpoint не поддерживает соединения извне приложения CRM.

Для CRM 2011 ваш единственный вариант - конечная точка SOAP.

Что касается аутентификации, то есть еще одна проблема, вы должны смотреть на некоторые примеры PHP (также здесь, на StackOverflow), который показывает, как подключиться к CRM 2011

EDIT: здесь Python пример: http://jlattimer.blogspot.com.au/2015/08/soap-only-authentication-using-python.html