Microsoft Dynamics CRM 2011:如何从外部联系表中生成潜在客户

问题描述

| 我为一位客户开发了CMS,他希望当用户填写联系表时,它将自动在他的CRM中产生潜在客户。 最简单的方法是什么? 顺便说一句,联系表是ajax,数据已传输到asmx,因此可以轻松调用CRM Webservice或类似的东西,因为我已经在服务器端。 有人可以向我指出教程或一些代码示例吗? 谢谢!     

解决方法

        最好的开始是使用此处提供的SDK,其中包含示例代码和sdk dll等。 这是一个页面,其中快速引用了各种CRM 2011中可用的所有Web服务终结点。 从SDK samplepcode \\ cs \\ quickstart创建帐户,但对于线索非常相似:
            // Connect to the Organization service. 
            // The using statement assures that the service proxy will be properly disposed.
            using (_serviceProxy = new OrganizationServiceProxy(serverConfig.OrganizationUri,serverConfig.HomeRealmUri,serverConfig.Credentials,serverConfig.DeviceCredentials))
            {
                // This statement is required to enable early-bound type support.
                _serviceProxy.ServiceConfiguration.CurrentServiceEndpoint.Behaviors.Add(new ProxyTypesBehavior());

                // Instaniate an account object.
                // See the Entity Metadata topic in the SDK documentation to determine 
                // which attributes must be set for each entity.
                Account account = new Account { Name = \"Fourth Coffee\" };

                // Create an account record named Fourth Coffee.
                _accountId = _serviceProxy.Create(account);
                Console.Write(\"{0} {1} created,\",account.LogicalName,account.Name);

                // Retrieve the account containing several of its attributes.
                ColumnSet cols = new ColumnSet(
                    new String[] { \"name\",\"address1_postalcode\",\"lastusedincampaign\" });

                Account retrievedAccount = (Account)_serviceProxy.Retrieve(\"account\",_accountId,cols);
                Console.Write(\"retrieved,\");

                // Update the postal code attribute.
                retrievedAccount.Address1_PostalCode = \"98052\";

                // The address 2 postal code was set accidentally,so set it to null.
                retrievedAccount.Address2_PostalCode = null;

                // Shows use of a Money value.
                retrievedAccount.Revenue = new Money(5000000);

                // Shows use of a boolean value.
                retrievedAccount.CreditOnHold = false;

                // Update the account record.
                _serviceProxy.Update(retrievedAccount);
                Console.WriteLine(\"and updated.\");