Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用c为salesforce中的新联系人添加附件#_C#_Salesforce - Fatal编程技术网

C# 使用c为salesforce中的新联系人添加附件#

C# 使用c为salesforce中的新联系人添加附件#,c#,salesforce,C#,Salesforce,我们需要为新联系人添加附件。我们正在使用APEX类添加新联系人。我们可以建立新的联系。我们需要维护联系人的订单信息。对于可用字段/自定义字段,这是不可能的。因此,我们将尝试使用附件。一个客户可能有多个订单。 您能告诉我如何使用c#为联系人添加附件吗 请查找以下代码段: Contact newContact = new Contact(); newContact.LastName = downloadInformation.Name; newContact.Email = downloadInf

我们需要为新联系人添加附件。我们正在使用APEX类添加新联系人。我们可以建立新的联系。我们需要维护联系人的订单信息。对于可用字段/自定义字段,这是不可能的。因此,我们将尝试使用附件。一个客户可能有多个订单。 您能告诉我如何使用c#为联系人添加附件吗

请查找以下代码段:

Contact newContact = new Contact();

newContact.LastName = downloadInformation.Name;
newContact.Email = downloadInformation.Email;

try
{
    SforceService salesForce = new SforceService();
    MySFServiceService mySFServive = new MySFServiceService();
    mySFServive.SessionHeaderValue = new SForce.MyService.SessionHeader();

    LoginResult loginResult = salesForce.login("id", "password");
    mySFServive.SessionHeaderValue.sessionId = loginResult.sessionId;
    // UserRegistration is a method defined in our apex class.
    // parametter 1: contact object parameter
    // 2: account name
    mySFServive.UserRegistration(newContact, "Test Account");
}
catch (Exception ex)
{
}

将企业WSDL导入您的应用程序(看起来您已经拥有了该应用程序),然后创建附件对象的实例,将其主体设置为order blob,并将parentId设置为联系人的id。因此,您需要更新自定义UserRegistration调用以返回创建的contactId,然后您就可以这样做了

salesforce.SessionHeaderValue = new SforceService.SessionHeader();
salesforce.SessionHeaderValue.sessionId = loginResult.sessionId;
salesforce.Url = loginResult.serverUrl;
...
String contactId = mySFervive.UserRegistration(....);
Attachment a = new Attachment();
a.Body = readFileIntoByteArray(someFile);
a.parentId = contactId;
a.Name = "Order #1";

SaveResult sr = salesforce.create(new SObject [] {a})[0];
if (sr.success){ 
// sr.id contains id of newly created attachment
} else {
 //sr.errors[0] contains reason why attachment couldn't be created.
}

嗨,我已经改变了我的代码如下。但是我在调用create方法时遇到了类似“UNKNOWN_exception:目标URL未重置。登录返回的URL必须在SforceService中设置”的异常。字符串newContactId=mysfservice.UserRegistration(newContact,“测试帐户”); ... ... attachment.ParentId=新联系人ID;SaveResult sr=salesForce.create(new SForce.Enterprise.sObject[]{attachment})[0];您缺少salesforce.url=loginresult.serverUrl行。您好,Superfell,谢谢您的帮助。我已经包括了这一行。现在我在同一行中遇到了另一个例外。“无效会话\u ID:在SessionHeader:非法会话中发现无效会话ID”您缺少我答案的前2行。请您澄清我的以下疑问:1。附件的最小和最大文件大小限制是多少?我想最大容量是5MB。2.一个联系人可以附加多少附件?3.单个触点是否有尺寸限制?4.我想附加更多联系人的文件。所有附件是否有任何限制?谢谢