簡體   English   中英

PHP等待WSDL(Salesforce)流程完成

[英]PHP Waiting for WSDL (Salesforce) process to finish

我使用PHP與Salesforce WSDL API。

我已經打算是做幾件事情PHP頁面。

  1. 通過WSDL創建通知到Salesforce,並使其返回ID。
  2. 使用創建的ID分配給變量,以便它可以通過WSDL將記錄更新到Salesforce

    函數createRecord($ Object,$ FieldData){//通過連接到Salesforce使其神奇,返回$ Id; }

    $ newRecord = createRecord();

    $ 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中存在異常,例如刪除連接?

如果是這樣,在將createRecord分配給$ newRecord變量的過程中,我應該在createRecord函數內還是在它之外進行處理?

您應該在Salesforce api可以使用的地方使用異常 ,因為我注意到有時會發生HTTP錯誤並且連接會隨機掉線。 這樣,您可以測試返回的SOAP調用,並確保它們沒有失敗並且具有正確的值。

您應該使用SalesForce的PHP工具包來減少已知問題,而不必自己編寫代碼: https : //github.com/developerforce/Force.com-Toolkit-for-PHP

例如,如果您嘗試插入/創建聯系人/線索對象,並且在createRecord()函數中使用salesforce create命令,則使用SalesForce upsert命令會更好/更安全。

如果您需要更多幫助,則需要顯示一些代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM