我一直在研究这个问题,并根据我对如何更新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()方法的文档。

07-24 09:20