我正在使用Php和Salesforce WSDL API。PHP等待WSDL(Salesforce)過程完成
我現在正在做的事情是一個PHP頁面。
- 通過WSDL向Salesforce創建通知,並讓它返回一個Id。
使用創建編號分配給一個變量,以便它可以通過WSDL更新記錄到Salesforce
功能createRecord($對象,$ FieldData){// 做它的魔法通過連接到Salesforce, 返回$ Id; }
$ newRecord = createRecord();
$ record-> contact__c = $ newRecord; $ sfConn-> update(array($ record),'Campaign');
所以會發生什麼是$ newRecord是想獲得與功能createRecord價值分配,有時什麼情況是createRecord不處理速度不夠快等$ newRecord得到與NULL分配。
我能做些什麼來確保createRecord在「$ record-> contact__c」被調用之前執行完嗎?
內createRecord($對象,$ 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內點連接?
如果是這樣,在createRecord賦值給$ newRecord變量的過程中,我應該在createRecord函數內還是外部處理它?
如果您的'createRecord'函數過早返回,那麼可能有助於查看它的一些代碼。 – JCD
發佈了代碼片段。它不僅僅是它過早返回,它只是腳本繼續運行並將其賦值給變量中的任何內容。 – MCHam