Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Python连接到Microsoft Dynamics CRM 2011 SDK_Python_Dynamics Crm_Dynamics Crm 2011 - Fatal编程技术网

从Python连接到Microsoft Dynamics CRM 2011 SDK

从Python连接到Microsoft Dynamics CRM 2011 SDK,python,dynamics-crm,dynamics-crm-2011,Python,Dynamics Crm,Dynamics Crm 2011,是否有人有幸使用Python连接到Microsoft Dynamics CRM 2011中的2011端点?我已经安装了sud,可以获取WSDL,但是服务调用返回400个错误请求。我肯定这是因为我没有经过身份验证,但我不太确定如何使用原始SOAP进行身份验证。我了解肥皂,但对肥皂的了解还不够深入 我知道有人问过这个问题,但这个问题似乎与NTLM有关。在我的例子中,我想使用WS-Trust 以下是我得到的代码: from suds.client import Client import loggin

是否有人有幸使用Python连接到Microsoft Dynamics CRM 2011中的2011端点?我已经安装了sud,可以获取WSDL,但是服务调用返回400个错误请求。我肯定这是因为我没有经过身份验证,但我不太确定如何使用原始SOAP进行身份验证。我了解肥皂,但对肥皂的了解还不够深入

我知道有人问过这个问题,但这个问题似乎与NTLM有关。在我的例子中,我想使用WS-Trust

以下是我得到的代码:

from suds.client import Client
import logging

logging.basicConfig(level=logging.INFO)

url = 'https://dev.crm.dynamics.com/XRMServices/2011/Discovery.svc?wsdl'
client = Client(url)

req = client.factory.create('ns3:RetrieveOrganizationsRequest')
accessTypes = client.factory.create('ns3:AccessType')
orgRel = client.factory.create('ns3:OrganizationRelease')
req.AccessType = accessTypes.Default
req.Release = orgRel.Current

headers = dict()
headers['Content-Type'] = 'application/soap+xml'
client.set_options(headers=headers)

resp = client.service.Execute(req)

如果使用SOAP不是一个要求——考虑服务。我不是Python专家——但您可以在浏览器中运行GET请求,并使用调试器工具查看浏览器发送的标题,并在Python代码中模拟这一点。通过修改内容类型标题,您可以选择服务返回的格式(JSON或XML)。

您是否成功地使用了该格式?不,它从未运行过,并且不幸地对项目失去了兴趣。不幸的是,外部服务无法使用剩余的Odata服务:“身份验证只能在应用程序中进行。REST端点的使用仅限于JScript库或Silverlight web资源。“如果您让浏览器中的某个人在cookie中获取auth内容,然后使用cookie发出后续请求,则可以从外部使用REST接口。我使用了“请求”(用于HTTP通信)和“美化组”的组合(用于scraper样式解析)跳转到登录。代码看起来或多或少像一个迷你scraper。由于我们的登录是由本地专有云提供商提供的,我的代码可能不会有太多用处。但值得注意的是,在某些方面,例如结果集大小,REST接口是有限的。