Salesforce PHP Toolkit:INVALID_TYPE:必须发送一个具体的实体类型


Salesforce PHP Toolkit: INVALID_TYPE: Must send a concrete entity type

我正试图使用PHP工具包针对Lead创建一个Task,这是我得到的错误:

INVALID_TYPE:必须发送一个具体的实体类型#0D: ''examplep''htdocs''test''sfact''soapclient''SforceBaseClient.php(490):SoapClient->__call('create',Array)#1D: ''examplep''htdocs''test''sfact''soapclient''SforceBaseClient.php(490):SoapClient->create(Object(SoapParam))#2D: ''examplep''htdocs''test''sfact''soapclient''SforceEnterpriseClient.php(73):SforceBaseClient->create(对象(SoapParam))#3D: ''examplep''htdocs''test''sfact''index.php(28):SforceEnterpriseClient->创建(数组,"任务")#4{main}

这是我的代码:

$task = new stdclass();
$task->What = 'Lead';
$task->WhatId = 'xxx';
$task->OwnerId = 'xxx';
$task->Type = "Email";
$task->Subject = "Message from Mr. X via Web Contact Form";
$task->Description = "I wrote to you";
$task->Status = "Completed";
$response = $SforceConnection->create( array( $task ), 'Task' );

你知道我哪里错了吗?

谢谢,

首先,确保您使用的是最后一个Php Toolkit 20.0。

其次,请参阅完整的示例:

require_once ('userAuth.php');
try {
  $mySforceConnection = new SforcePartnerClient();
  $mySoapClient = $mySforceConnection->createConnection(SOAP_CLIENT_BASEDIR.'/partner.wsdl.xml');
  $mylogin = $mySforceConnection->login($USERNAME, $PASSWORD);
    $fields = array (
    'Status' => 'Completed',
    'Description' => 'I wrote to you',
    'Subject' => 'Message from Mr. X via Web .....',
    'WhoId' => 'xxxxxx',
  );
  $sObject = new SObject();
  $sObject->fields = $fields;
  $sObject->type = 'Task';
  $createResponse = $mySforceConnection->create(array($sObject));
  var_dump($createResponse);
} catch (Exception $e) {
  echo $mySforceConnection->getLastRequest();
  echo $e->faultstring;
}