codeigniter - 在 Codieigniter 4 上使用 CURL 请求 SOAP
问题描述
我正在使用 CURL 使用服务。我可以使用以下代码以CXF 服务列表的形式连接服务的所有功能。
$client = \Config\Services::curlrequest();
$response = $client->request('GET', 'www.soapservice.co.za/service');
var_dump($response->getBody());
Var Dump 返回一个带有可用服务的字符串
该服务有 10 个以这种方式列出的函数 getDataFunction。
如何调用该函数?或者我如何获取正文的内容并开始使用服务功能?
任何帮助,将不胜感激
解决方案
这就是我使用Codeignter 4和Soap Client解决问题的方法。
public function ownersearch()
{
helper(['form']);
$username = "";
$password = "";
$url = 'getProperty?wsdl';
$first_name = $this->request->getVar('first_name');
$second_name = $this->request->getVar('second_name');
$last_name = $this->request->getVar('last_name');
$user_id = $this->request->getVar('user_id');
$session_id = session()->get('user_id');
$client = new \SoapClient($url);
$deedsusagemodel = new UsageLogModel();
$args = [
'idNumber'=> $user_id,
'username'=> $username,
'password' => $password,
'officeCode' => 1
];
$usageData = [
'user_id' => $session_id
];
if($user_id != Null){
$response = $client->getFunctionByIDNumber($args);
$ndata = $response->return;
if($ndata->errorResponse->errorCode == 64)
{
$error = $ndata->errorResponse->errorDescription;
return $this->fail($error);
}
if($ndata->errorResponse->errorCode == 550)
{
$error = $ndata->errorResponse->errorDescription;
return $this->fail($error);
}
else{
$usagemodel->insert($usageData);
return $this->respond($ndata, 200);
}
}
}
推荐阅读
- asp.net-core - Asp.net core 3.0 - 结合身份认证和挑战方案
- python-3.x - 转换日期时间后,我的时间戳中未显示小时、分钟和秒
- amazon-sqs - 尝试在 SQS 中保存时请求返回 AccessDenied
- javascript - 如何通过单击按钮更改 css 属性的值
- javascript - 为chart.js中的水平条添加值
- javascript - 确定视频的播放时间
- reactjs - 用于 React 的 MailChimp 和 Stripe 集成
- c# - 具有不同发行者的 ASP 网络核心身份验证
- python - 代码重构 scipy SLSQP 期间的参数数量无效
- prestashop - 将类别作为整数名称导入产品