我想使用nusoap包来处理一些web服务。根据nusoap的文档,我们首先要将nusoap.php包含在我们的php脚本中,然后编写其他代码......
http://www.scottnichol.com/nusoapintro.htm
但是当我将nusoap.php包含在我的代码中时:
require_once('nusoap.php');
我收到服务器500错误(IE 10):
Most likely causes:
•The website is under maintenance.
•The website has a programming error.
但是我不明白它的原因是什么...我在php.ini中启用了error_reporting但是它没有显示任何错误,它说服务器500错误!!
什么是问题?我怎么能更多地了解这个问题的原因?
答案 0 :(得分:0)
我最近遇到了完全相同的问题。这是我创建的第一个网络服务,我什么都不知道,所以我的问题的原因是我自己的愚蠢。
这就是它的样子:
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);
我希望我能帮到你。