有没有人有幸使用Python连接到Microsoft Dynamics CRM 2011中的2011端点?我已经安装了SUDS,可以获取WSDL,但是服务调用返回400个错误请求。我确定这是因为我没有经过身份验证,但我不太确定如何使用原始SOAP进行身份验证。我知道Girish's code sample,但对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,请考虑RESTish Odata服务。我不是Python专家,但是您可以在浏览器中运行GET请求,并使用调试器工具查看浏览器发送的消息头,并在Python代码中模拟这一点。您还可以通过修改Content-Type头来选择服务返回的格式(JSON或XML)。在
相关问题 更多 >
编程相关推荐