我将 Php 与 Salesforce WSDL API 一起使用。
我要做的是一个 PHP 页面做几件事。
- 通过 WSDL 创建通知到 Salesforce 并让它返回一个 ID。
使用创建的 Id 分配给变量,以便它可以通过 WSDL 将记录更新到 Salesforce
function createRecord($Object, $FieldData){ //通过连接到 Salesforce 来变魔术,返回 $Id; }
$newRecord = 创建记录();
$record->contact__c = $newRecord; $sfConn->update(array($record), 'Campaign');
因此,假设 $newRecord 从函数 createRecord 获取赋值,有时会发生 createRecord 处理速度不够快,因此 $newRecord 获取 NULL 赋值。
我可以做些什么来确保 createRecord 在调用“$record->contact__c”之前完成执行?
在 createRecord($Object, $FieldData) 中是这段代码
$sfConn2 = new SforceEnterpriseClient();
$sfClient = $sfConn2->createConnection(WSDL_FILE);
$sfLogin = $sfConn2->login(SF_UN, SF_PW);
$newRec = new stdclass();
foreach ($FieldData as $key => $value){
$newRec->$key = $value;
}
$createResponse = $sfConn2->create(array($newRec), $Object);
if($createResponse->success == 1){
return $createResponse->id;
}else{
return FALSE;
}
那么最可能的罪魁祸首是createRecord中存在异常,例如drop connection?
如果是这样,在将 createRecord 分配给 $newRecord 变量期间,我应该在 createRecord 函数内还是在它之外处理?