2015-05-26 42 views
6

Tôi đã bật SOAP trong máy chủ cục bộ của mình. Mã của tôi là:Làm cách nào để sử dụng SoapClient trong CakePHP ...?

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); 

Ở đây nó được thực hiện thành công khi tôi chạy mã trong hồ sơ php riêng biệt. Nhưng tôi gặp lỗi này:

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

khi tôi cố chạy mẫu mã CakePHP.

Vui lòng đề xuất cho tôi cách sử dụng SoapClient trong CakePHP.

Trả lời

9

Bạn đang ở trong một không gian tên khác nhau, và SoapClient là trong không gian tên gốc, vì vậy sử dụng \SoapClient:

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

Ngoài ra, gần khai gian tên làm cho một tuyên bố use:

namespace App\Controller 
use SoapClient; 

Note : đây không phải là vấn đề cụ thể của CakePHP, đó là vấn đề về không gian tên chung.

+0

Cảm ơn @Mrcode hoạt động tốt. '$ client = new \ SoapClient ('web_url'); ' Câu trả lời hoàn hảo. Cảm ơn –

+0

Đừng quên bỏ ghi chú dòng sau trong php.ini: extension = php_soap.dll – Weles

Các vấn đề liên quan