xsd:date类型的值无效

时间:2014-01-09 08:16:12

标签: php soap wsdl salesforce

尝试使用SOAP连接器向Salesforce发送一些数据时,我遇到了以下错误。

'0000-00-00' is not a valid value for the type xsd:date'

当日期输入无效或为空时会发生这种情况。我可以发送一些正确的日期,如'2000-10-10',以避免错误。但它不正确。所以我需要将该字段设为NULL。即使我传递NULL也会抛出相同的错误。

我也试过fieldsToNull。但它没有用。

我正在使用Salesforce Enterprise WSDL。

$records = array();
$records[0] = new \stdclass();

$records[0]->Date_of_Birth__c = (!empty($date_of_birth)) ? $date_of_birth : '0000-00-00';
$this->client->create($records, 'Profile__c');

如何克服这个问题?

1 个答案:

答案 0 :(得分:1)

正如您正在创建的那样,如果您没有值,可以跳过设置该字段,例如。

$records = array();
$records[0] = new \stdclass();
if (!empty($date_of_birth))
    $records[0]->Date_of_Birth__c = $date_of_birth;

$this->client->create($records, 'Profile__c');