我正在创建的过程需要将数据发送到肥皂服务。在我得到理想的回应之前,我无法继续我的下一步行动。
try {
$return = $soapClient->__soapCall("BulkLoadContacts",array('parameter' => $params));
foreach ($return as $r){
$upload_id = $r;
}
$process_params = array(
'ProcessID' => $upload_id,
);
$return = $soapClient->__soapCall("GetProcessStatus",array('parameter' => $process_params));
var_dump($return);
}
catch(SoapFault $fault){
$status = false;
}
在上面的代码中,我执行了该BulkLoadContacts
方法。然后我ProcessID
从响应中获取。获得该 ID 后,我会再次调用以获取我的进程的状态。最后一个转储者告诉我的响应GetProcessStatus
。自卸车看起来像:
object(stdClass)#18 (1) {
["WSProcessStatus"]=>
object(stdClass)#19 (6) {
["ProcessID"]=>
int(3313881)
["ListID"]=>
int(268207)
["ProcessName"]=>
string(20) "listrak_tempfile.txt"
["ProcessStartTime"]=>
string(23) "2012-05-16T14:22:50.643"
["ProcessCompleteTime"]=>
string(22) "2012-05-16T14:22:50.84"
["Status"]=>
string(19) "ProcessingCompleted"
}
}
最后一项是Status
。只有在方法返回“ProcessingCompleted”的值之前,我才想继续。关于如何做到这一点的任何建议?一个简单的do-while就足够了吗?