0

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

4

1 回答 1

0

我最近遇到了完全相同的问题。这是我创建的第一个 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);

我希望我能帮助你。

于 2014-01-06T14:58:37.153 回答