Ошибка SOAP-сервера в PHP – добавление функций из класса

Я пишу SOAP-сервер и попал в странную проблему.

Вот соответствующие строки из server.php

class MyHandler { public function __construct() { ... } public function __wakeup() { ... } public function getPrice() { ... } } $server = new SoapServer("my.wsdl", array("soap_version" => SOAP_1_2)); $server->setClass('MyHandler'); $server->addFunction("getPrice"); $server->handle(); 

Тестирование этого локально (на PHP 5.3) отлично работает, и я могу отправлять запросы и получать ответы.

Когда я помещаю это на свой сервер разработки (PHP 5.2.9), я получаю это сообщение об ошибке:

SoapServer::addFunction(): Tried to add a non existant function 'getPrice'

Помимо того, что они не могут быть написаны, это очень запутывает.

С тех пор мне удалось обойти эту проблему, изменив addFunction() следующим образом:

 $server->addFunction(SOAP_FUNCTIONS_ALL); 

… и все работает отлично! Конечно, рассмотрение $server->getFunctions() показывает, что это добавляет функции __construct() и __wakeup() из моего класса, что не похоже на такую ​​хорошую вещь.

Что я сделал не так? Подходит ли ковровая бомба «добавить все функции» только здесь?

Solutions Collecting From Web of "Ошибка SOAP-сервера в PHP – добавление функций из класса"