我最近遇到了完全相同的问题。这是我创建的第一个 web 服务,我对此一无所知,所以我的问题的原因是我自己的愚蠢。
这就是它的样子:
error_reporting(E_ALL);
require_once("lib/nusoap.php");
$namespace = "http://www.mywebsite.com/services";
$server = new soap_server();
$server->configureWSDL("TestService");
$server->wsdl->schemaTargetNamespace = $namespace;
$server->register('TestFunction', array('test'=>'xsd:string'), array('return'=>'xsd:string'), $namespace, false, 'rpc', 'encoded', 'Function for evaluation of SOAP');
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);
所以你看,我只是忘了定义函数..
以下作品:
error_reporting(E_ALL);
require_once("lib/nusoap.php");
$namespace = "http://www.mywebsite.com/services";
$server = new soap_server();
$server->configureWSDL("TestService");
$server->wsdl->schemaTargetNamespace = $namespace;
$server->register('TestFunction', array('test'=>'xsd:string'), array('return'=>'xsd:string'), $namespace, false, 'rpc', 'encoded', 'Function for evaluation of SOAP');
function TestFunction($test) {
return "Response: ".$test;
}
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);
我希望我能帮助你。