我开始在项目中使用SalesForce SOAP API Enterprise,但我坚持使用create()方法。
关于这个关于stackoverflow的很多答案似乎已经过时了,因为这个API上的create()不像以前那样只接收SObject。
我创建了所有这些对象但是我在PackageVersion []和LimitInfo []上遇到了麻烦,我从服务器得到了一个null响应。
以下是我正在做的事情:
class TBL_ACCOUNT(BaseModel):
USERNAME = CharField(unique=True)
PASSWORD = CharField()
EMAIL = CharField(unique=True)
class TBL_EMAIL_SUBSCRIPTION(BaseModel):
USER = ForeignKeyField(TBL_ACCOUNT)
FEED = CharField()
class Meta:
indexes = (("USER_id", "FEED", True))
我正在创建所有这些对象:
client = new SoapClient("Soap1", endpoint);
String sqlQuery = "SELECT ID, CloseDate, StageName, Name FROM Opportunity";
QueryResult qr = new QueryResult();
client.query(header, null, null, null, sqlQuery, out qr);
Attachment att = new Attachment();
byte[] pdf = File.ReadAllBytes("D:\\teste.pdf");
att.Body = pdf;
att.Name = "Attachment Teste";
att.Parent = qr.records[0];
att.ParentId = qr.records[0].Id;
DebuggingInfo debug = client.create(header, assignHeader, mruHeader,
allowField, disableFeed, streamingHeader, allOrNoneheader, duplicateHeader,
localeOptions, debugHeader, packVersion, emailHeader,new sObject[] { att },
out limitInfo, out saveResult);
有没有人能告诉我是否有另一个WSDL让create()只有SObject作为参数?
如果没有,任何人都可以帮助解决这个create()方法的示例或解释吗?
salesforce.com上的文档似乎已经过时,因为那里的create()方法只接收一个SObject。
感谢。
答案 0 :(得分:2)
你尝试过这种方法吗?
SforceService binding = new SforceService();
binding.login("xxx", "yyy");
binding.SessionHeaderValue = new Service.SessionHeader();
binding.SessionHeaderValue.sessionId = "sessionId";
binding.Url = "serverUrl";
binding = service.query(String.Format("select id, whoid...."))
var bindingSize = binding.size;
foreach (var sObject in binding.records) {...}