如果配置了WSDL,则带有NuSOAP的PHP SOAP Web服务不会给出任何结果

如果配置了WSDL,则带有NuSOAP的PHP SOAP Web服务不会给出任何结果,php,web-services,soap,nusoap,Php,Web Services,Soap,Nusoap,我有一个使用NuSOAP创建的php soap Web服务。我使用文件“test.php”在浏览器中将其作为“”进行测试 我的代码: webservice.php 它向我展示了很好的结果。否则我会得到一个空白屏幕,什么也得不到。但我确实需要配置WSDL 如何编辑webservice.php,以便配置WSDL,并在test.php上获得结果数组?尝试更改以下内容: $server ->wsdl->schemaTargetNamespace = 'urn:server'; 为此: $

我有一个使用NuSOAP创建的php soap Web服务。我使用文件“test.php”在浏览器中将其作为“”进行测试

我的代码:

webservice.php

它向我展示了很好的结果。否则我会得到一个空白屏幕,什么也得不到。但我确实需要配置WSDL

如何编辑webservice.php,以便配置WSDL,并在test.php上获得结果数组?

尝试更改以下内容:

$server ->wsdl->schemaTargetNamespace = 'urn:server';
为此:

 $server ->wsdl->schemaTargetNamespace = $namespace;
并在其上定义$namespace。这对我来说是个好办法

这是我的NuSOAP Web服务的代码:

require_once("lib/nusoap.php");
$namespace = "http://localhost:8080/Testservice/service.php?wsdl";
$server = new soap_server();
$server->configureWSDL("TestService");
$server->wsdl->schemaTargetNamespace = $namespace;

要查看有关客户端的错误信息,可以添加以下内容:

$result = $client->call('getData'); 

$err = $client->getError();
if ($err) {
// Display the error
echo '<h2>Error</h2>' . $err;
// At this point, you know the call that follows will fail
        exit();
}
else 
{ 
echo $result; 
} 

那么,名称空间应该是
$namespace=“urn:server”
 $server ->wsdl->schemaTargetNamespace = $namespace;
require_once("lib/nusoap.php");
$namespace = "http://localhost:8080/Testservice/service.php?wsdl";
$server = new soap_server();
$server->configureWSDL("TestService");
$server->wsdl->schemaTargetNamespace = $namespace;
$result = $client->call('getData'); 

$err = $client->getError();
if ($err) {
// Display the error
echo '<h2>Error</h2>' . $err;
// At this point, you know the call that follows will fail
        exit();
}
else 
{ 
echo $result; 
} 
$server->register('getData', 
  array("response"=>"xsd:string"),
    'http://www.mydowmain.com:8080'
);