使用 Python 和 subs 连接到 Dynamics CRM 2011

Connecting to DynamicsCRM2011 with Python and subs

我在使用 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 端点。

关于身份验证,这是另一个问题,您应该查看一些显示如何连接到 CRM 2011 的 PHP 示例(也在 Whosebug 上)

编辑:这里有一个 Python 示例: http://jlattimer.blogspot.com.au/2015/08/soap-only-authentication-using-python.html