我在使用suds模块通过Python连接DynamicsCRM2011时遇到问题。我得到以下错误:
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服务器上进行身份验证。
感谢您的帮助。至少有人能解释一下DynamicsCRM(2011)的身份验证过程是如何工作的吗?
CRM 2011 oData端点不支持来自CRM应用程序外部的连接。
对于CRM 2011,您唯一的选择是SOAP端点。
关于身份验证,这是另一个问题,你应该看看一些PHP示例(也在StackOverflow上),它显示了如何连接到CRM 2011
EDIT:这里是一个Python示例:http://jlattimer.blogspot.com.au/2015/08/soap-only-authentication-using-python.html