Довольно просто. Из-за требований моего проекта, я должен создать сервер NuSOAP в определении класса. Я не могу заставить его работать. Я получаю сообщение об ошибке с этим сообщением об ошибке: «ошибка в разборке msg: xml был пуст, не разбирался!» Что мне нужно для выполнения этой работы?Определение сервера NuSOAP в определении класса
Это код, который является общим для обоих подходов:
require_once('/xxx/nusoap/nusoap.php');
function SomeMethod(
$someParameter
) {
return "Success: $someParameter!";
}
function registerSomeMethod() {
$in = array();
$in['someParameter'] = 'xsd:string';
$out = array();
$out['return'] = 'xsd:string';
$this->_server->register("SomeMethod",$in,$out,$this->_namespace,"SomeMethod","rpc","encoded");
}
Добавление этого кода на глобальном уровне производит функционирование веб-службы:
$namespace = 'uri:mycompany';
$server = new soap_server;
$server->configureWSDL('mycompany',$namespace);
registerSomeMethod();
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);
Обмотка этот код в определение класса, как ниже выдает веб-сервис, который вернет WSDL непосредственно в браузер, но отвечает на вызовы клиентов с ошибкой SoapFault в разборке msg: xml был пуст, не разбирался! "
class MyService {
public function __construct() {
$namespace = 'uri:mycompany';
$server = new soap_server;
$server->configureWSDL('mycompany',$namespace);
registerSomeMethod();
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);
}
} // class
$o = new MyService;
в отношении образца кода. $ server-> service (file_get_contents ("php: // input")); –