如何更新任务状态

问题描述 投票:0回答:1

任何人都可以解释为什么以下代码不会更改任务状态,即使调用返回成功消息:

public bool markTaskCompleted(String id)
{
        try
        {
            sObject UpdateTask = new sObject();
            UpdateTask.type = "Task";

            UpdateTask.Id = id;

            System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
            XmlElement afield = doc.CreateElement("Status");
            XmlText txtNode = doc.CreateTextNode("Completed");
            afield.AppendChild(txtNode);

            SaveResult[] saveResults = binding.update(new sObject[] { UpdateTask });

            if (saveResults[0].success)
                return true;
            else
            {
                for (int i = 0; i < saveResults[0].errors.Length; i++)
                {
                    Error err = saveResults[0].errors[i];
                    System.Windows.Forms.MessageBox.Show("Errors were found on item 0" + Environment.NewLine +
                                                            "Error code: " + err.statusCode.ToString() + Environment.NewLine +
                                                            "Error message: " + err.message);
                }

                return false;
            }
        }
        catch (System.Web.Services.Protocols.SoapException e)
        {
            System.Windows.Forms.MessageBox.Show("An unexpected error has occurred: " + e.Message + " Stack trace: " + e.StackTrace);
            return false;
        }
}
c# .net soap salesforce
1个回答
0
投票

我自己发现的。我错过了以下关键行:

UpdateTask.Any = new System.Xml.XmlElement[] { afield };

此行应立即添加到

afield.AppendChild(txtNode);
行之后。现在它正在更新状态,一切正常。

© www.soinside.com 2019 - 2024. All rights reserved.