我一直在研究这个问题,并根据我对如何更新sobject中的记录的理解尝试了许多变体,但我一直得到以下错误:
soapfault异常:[sf:invalid_type]invalid_type:必须发送具体的实体类型。in/home/public_html/soapclient/sforcebaseclient.php:509
我可以成功登录到页面,但是当我执行下面的代码时,我得到上面列出的错误。
$fieldsToUpdate = array (
"Name"=>$_POST['Name']
);
$sObject = new SObject();
$sObject->Id = $_POST['prospectID']; // this is the Id of the record
$sObject->fields = $fieldsToUpdate;
$sObject->type = 'Prospect__c'; // this is the API name of custom object
try {
$response = $mySforceConnection->update($sObject);
} catch (Exception $e) {
echo $e;
}
我正在使用来自force.com开发人员文档的php toolkit 13.0,但无法弄清这个错误的根源。另外,我在沙箱模式下使用企业wsdl,并分配了正确的wsdl xml。
谢谢。
最佳答案
sobject是可以更新的所有其他salesforce对象的基类型。使用企业api(soap)时,需要传递从sobject派生的实例。(例如领导、联系人和客户)
这里还有update()方法的文档。