使用ASP.net调用Salesforce API添加潜在客户

时间:2015-11-02 10:07:09

标签: c# asp.net soap wsdl salesforce

我试图通过我的c#代码将Salesforce Parnter wsdl称为创建Leads到他们的系统。

但是它给了我错误: 无法隐式转换类型联系人[]'到' sforce.sObject'

private string userID = "sasxxasasas@saasforce.in";
private string password = "sadwdasdasdasdsadasdsxzdddw";
private DateTime _nextLoginTime;
private string _sessionId;
string url="valueleads.in/pushleads/websvc/cigna/wsdl.xml";
SforceService binding;
private void getSessionInfo()
            {
                sforce.SforceService partnerService = new sforce.SforceService();
                sforce.LoginResult lr = new sforce.LoginResult();

                lr = partnerService.login(userID, password);
                _sessionId = lr.sessionId;
                Session["_sessionId"] = lr.sessionId;
                Session["_serverUrl"] = lr.serverUrl;
                Session["_nextLoginTime"] = DateTime.Now;
                binding.SessionHeaderValue = new sforce.SessionHeader();
                binding.SessionHeaderValue.sessionId = _sessionId;
                binding.Url = lr.serverUrl;
            }

            public bool IsConnected()
            {
                bool blnResult = false;
                if (!string.IsNullOrEmpty(_sessionId) & _sessionId != null)
                {
                    if (DateTime.Now > _nextLoginTime)
                        blnResult = false;
                    else
                        blnResult = true;
                }
                else
                    blnResult = false;

                return blnResult;
            }  


            public void create()
            {
               if (!IsConnected())
               {
                   getSessionInfo();
               }

                binding = new SforceService();
                Contact contact=new Contact();
                contact.fname="Eric";
                contact.lname="Peter";
                contact.mobile="9898989889";

                Contact[] contacts = { contact };
                string result;
                sforce.SaveResult[] createResults = binding.create(new sObject[] { contacts });
                if (createResults[0].success)
                {
                    result = createResults[0].id;
                }
                else
                {
                    result = createResults[0].errors[0].message;
                }
                Response.Write(result);
            }
        }

        public class Contact
        {
            public String fname { get; set; }
            public String lname { get; set; }
            public String mobile { get; set; }
        }

        }

请帮助,非常新的salesforce API。

1 个答案:

答案 0 :(得分:1)

你需要创建一个SObject数组,而不是联系人,所以

sforce.sObject[] contacts = { contact };
string result;
sforce.SaveResult[] createResults = binding.create(contacts);