0

我的 soapserver 调用中有 URL 参数。调用 'mysoapserver.php?version=1' 效果很好,除了这种情况

mysoapserver.php?wsdl&version=1

Soapserver 不输出 wsdl。

代码看起来像这样

$version = isset($_GET['version']) ? $_GET['version'] : 1;
switch($version) {
    case 1: 
    $wsdl = 'myservices.v1.wsdl';
    break;
case 2:
    $wsdl = 'myservices.v2.wsdl';
    break;
default:
    throw new SoapFault('Server',utf8_encode('error'));
    break;
}
$mysoapserver = new SoapServer($wsdl);
$mysoapserver->setClass('SOAPServices');
$mysoapserver->handle();

任何想法如何让这个工作?

4

1 回答 1

0

我有同样的问题,GET 是空的。问题是我在我的服务中阅读它。问题是我们无法在服务器内部打印,因为它是一个 xml 文件,我们尝试它,它会返回错误,那么这是一个好技巧。

$write = fopen("result.txt","w") or die("it doesnt exist");
//result.txt is in the root of the server
fwrite($write,  $_GET['version']);
fclose($write);

将结果保存在其他文件中。

于 2015-04-14T16:35:49.420 回答