使用nusoap获取服务器500错误

时间:2013-09-01 13:36:22

标签: php web-services api soap nusoap

我想使用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错误!!
什么是问题?我怎么能更多地了解这个问题的原因?

1 个答案:

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

我希望我能帮到你。