我有以下代码创建CRM4服务对象:
private CrmService CreateServiceObject()
{
// CRM Discovery Service
CrmDiscoveryService crmDiscoveryService = new CrmDiscoveryService();
crmDiscoveryService.Url = WebConfigurationManager.AppSettings["CRM_DiscoveryService"];
// Network Credentials
NetworkCredential credentials = new NetworkCredential();
credentials.UserName = WebConfigurationManager.AppSettings["CRM_Username"];
credentials.Password = WebConfigurationManager.AppSettings["CRM_Password"];
credentials.Domain = WebConfigurationManager.AppSettings["CRM_Domain"];
crmDiscoveryService.Credentials = credentials;
// Organization Request and Response
RetrieveOrganizationsRequest organizationRequest = new RetrieveOrganizationsRequest();
RetrieveOrganizationsResponse organizationResponse = (RetrieveOrganizationsResponse)crmDiscoveryService.Execute(organizationRequest);
foreach (OrganizationDetail og in organizationResponse.OrganizationDetails)
{
if (og.OrganizationName == WebConfigurationManager.AppSettings["CRM_OrganisationName"])
{
// Build request
RetrieveCrmTicketRequest ticketRequest = new RetrieveCrmTicketRequest();
// Build SDK token
MyBudgetWeb.CrmServiceRef.CrmAuthenticationToken token = new CrmServiceRef.CrmAuthenticationToken();
token.AuthenticationType = 0;
token.OrganizationName = og.OrganizationName;
// Build CRM Service
CrmService crmService = new CrmService();
crmService.CrmAuthenticationTokenValue = token;
crmService.Url = og.CrmServiceUrl;
crmService.Credentials = credentials;
return crmService;
}
}
return null;
}
以下值包含在我的web.config
中 <add key="CRM_DiscoveryService" value="http://mysite.cloudapp.net/mscrmservices/2007/AD/CrmDiscoveryService.asmx" />
<add key="CRM_ServiceWsdl" value="http://mysite.cloudapp.net/MSCrmServices/2007/CrmService.asmx" />
<add key="CRM_MetadataService" value="http://mysite.cloudapp.net/MSCrmServices/2007/MetadataService.asmx" />
当我从内部测试时,它按预期工作,但当我将应用程序部署到托管它的azure网站时,我无法连接到crm服务器。 CRM服务器和网站都部署在Azure中,并且创建了一个防火墙规则,允许我从网站打开的服务器上的Web浏览器中连接到CRM服务器。
我们以前将此设置为SPLA身份验证,但由于我们的系统发生了变化,现在又恢复了AD身份验证。
是否有任何我缺少的东西允许我的网站代码通过WSDL连接到CRM服务?