我需要为我的应用程序使用soap调用,所以我在goravel中搜索了一些库并找到了一个:
它没有记录很多,所以我有点卡住了。我已成功检索数据但无法在页面上显示,因为它是“NULL”。所以如果有人能帮助我,我做错了什么?
我的代码是下一个
//variable is null at beggining
$rac=null;
SoapWrapper::add(function ($service) {
$service
->name('test')
->wsdl('http://wdsl-link');
});
$data = [
'param' => '111111'
];
SoapWrapper::service('test', function ($service) use ($data) {
$rac = $service->call('getSmth', [$data])->structure;
//Tried with sleep so variable $rac can be assigned but no results
//sleep(5);
//dd here works and i got my desired data
//dd($rac);
});
//dd don't work here and variable $rac is null
//dd($rac);
return view('pages/...',compact('rac'));
这不是关于语法,而是关于处理肥皂反应的错误理解。那么,如果有人能告诉我如何得到这样的回应,或者可能会建议使用其他一些与Laravel合作的肥皂库吗?
答案 0 :(得分:1)
使用当前代码,有两个名称相同的变量$rac
:
这就是为什么你的外部$rac
在结尾处为空的原因。使闭包中的更改应用于第一个$rac
变量的现有实例。将代码更改为:
SoapWrapper::service('test', function ($service) use ($data, &$rac) {
// notice the $rac variable is included as reference in the `use`
$rac = $service->call('getSmth', [$data])->structure;
});