How to we use the SoapClient in Cakephp…?

2019-02-17 11:14发布

问题:

I have enabled SOAP in my local server. My code is:

ini_set('soap.wsdl_cache_enabled', '0'); 
ini_set('soap.wsdl_cache_ttl', '0'); 
$client = new SoapClient('web_url');
$session = $client->login('username', 'pwd');
$result = $client->call($session, 'function_name', '<id>');
print_r($result);

Here it's executed successfully when I run the code on separate php file. But I got this error:

Error: Class 'App\Controller\SoapClient' not found

when I try to run the code form CakePHP action.

Please suggest me how to we use the SoapClient in CakePHP.

回答1:

You're in a different namespace, and SoapClient is in the root namespace, so use \SoapClient:

$client = new \SoapClient('web_url');

Alternatively, near the namespace declaration make a use statement:

namespace App\Controller
use SoapClient;

Note: this isn't a CakePHP specific problem, it's a general namespace issue.