1

Java で Salesforce に添付ファイルを作成して送信するこの例を見てきましたが、これは C# でどのように達成されますか?

編集 -このページも参照として使用していますが、添付ファイルを作成して保存しようとする最後の部分をどのように仕上げればよいかまだわかりません。

SoapClient client = new SoapClient();
LoginResult lr = client.login(new LoginScopeHeader(), username, password);

FileInfo fileInfo = new FileInfo(myFileLocation);
FileStream stream = File.OpenRead(myFileLocation);
byte[] byteArray = new byte[fileInfo.Length];
stream.Read(byteArray, 0, byteArray.Length);

Attachment attachment = new Attachment();
attachment.Body = byteArray;
attachment.Name = myFileName + ".txt";
attachment.IsPrivate = false;

SaveResult saveResult = client.create(new sObject[] { attachment })[0];
4

1 に答える 1

1

それは一般的に正しいように見えます。以下の変更を伴います。

login を呼び出した後、結果の SessionId と ServerUrl をクライアントに割り当てる必要があります。

SoapClient client = new SoapClient();
LoginResult lr = client.login(new LoginScopeHeader(), username, password);
client.SessionHeaderValue = new SforceService.SessionHeader();
client.SessionHeaderValue.sessionId = li.sessionId;
client.Url = loginResult.serverUrl;

SaveResult をチェックして、レコードが作成されたかどうか、および新しい Id が何であるかを確認する必要があります。

//...
SaveResult saveResult = client.create(new sObject[] { attachment })[0];
if (saveResult .success){ 
    // saveResult.id contains id of newly created attachment
} else {
    //saveResult .errors[0] contains reason why attachment couldn't be created.
}
于 2013-08-28T09:38:57.587 に答える