2012-09-21 43 views
2

我們需要爲新聯繫人添加附件。我們正在使用APEX類來添加新聯繫人。我們能夠創建新的聯繫人。我們需要維護聯繫人的訂單信息。這對於可用字段/自定義字段不可行。所以我們要嘗試一下附件。一個客戶可能有多個訂單。 您能否讓我知道如何爲使用c#的聯繫人添加附件。使用c#在salesforce中添加新聯繫人的附件

請找到下面的代碼片段:

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) 
{ 
} 

回答

3

導入企業WSDL到您的應用程序(它看起來像你已經有了),那麼你創建的連接對象的實例,設置它的身體到訂單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. 
} 
+0

嗨, 我改變了我的代碼,如下所示。但是我在調​​用create方法時遇到了異常,如 「UNKNOWN_EXCEPTION:目標URL未重置,登錄時返回的URL必須在SforceService中設置」。 \t \t string newContactId = mySFServive.UserRegistration(newContact,「Test Account」); \t \t ... \t \t ... attachment.ParentId = newContactId; \t \t SaveResult sr = salesForce.create(new SForce.Enterprise.sObject [] {attachment})[0]; – User0106

+0

您錯過了salesforce.url = loginresult.serverUrl行。 – superfell

+0

嗨Superfell,感謝您的幫助。我已包括該行。現在我在同一行中得到另一個異常。 「INVALID_SESSION_ID:在SessionHeader中發現無效會話ID:非法會話」 – User0106

相關問題