首页 > 解决方案 > 在 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。

如何调用该函数?或者我如何获取正文的内容并开始使用服务功能?

任何帮助,将不胜感激

标签: codeignitercurl

解决方案


这就是我使用Codeignter 4Soap 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);

            }
                
            
    }
}

推荐阅读