Я использую Php с API WSDL Salesforce.PHP Ожидание завершения WSDL (Salesforce)
У меня есть страница PHP, которая делает несколько вещей.
- Создайте сообщение через WSDL в Salesforce и попросите его вернуть Id.
С помощью этого созданного Id присвоить переменной, так что он может обновить запись в Salesforce
через WSDLфункция createRecord ($ Object, $ FieldData) {// делает это волшебство, подключившись к Salesforce, return $ Id; }
$ newRecord = createRecord();
$ record-> contact__c = $ newRecord; $ sfConn-> update (массив ($ record), 'Campaign');
Так что же происходит, что $ newRecord предполагают, чтобы получить Назначают при значении от функции createRecord, какая-то происходит, что createRecord не обрабатывает достаточно быстро, и поэтому $ newRecord получить назначать с NULL.
Что-нибудь, что я могу сделать, чтобы makeRecord завершил выполнение перед вызовом «$ 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?
Если это так, должен ли я обрабатывать это в функции createRecord или вне его во время назначения createRecord в переменную $ newRecord?
Если функция 'createRecord' возвращается преждевременно, это может помочь увидеть некоторые из ее кода. – JCD
размещен фрагмент кода. Это не только то, что он возвращается преждевременно, просто сценарий просто продолжает работать и назначает его всем, что находится внутри переменной. – MCHam