web服务-PHP-SOAP-ENV:SoapServer之后的ClientBad请求->;Handle()-帮助


web services - PHP - SOAP-ENV:ClientBad Request after SoapServer->Handle() - Help

我得到了一个运行良好很长时间的PHP web服务,但在很长一段时间内,它停止了工作,我就是无法让它再次工作。

我得到了一些php页面,在其中我所做的就是定义一个带有函数的类,最后我创建了SoapServer。

它看起来像这个-

class MyClassWS
{
     function .....
     function ....
}
ini_set("soap.wsdl_cache_enabled", "0");
    error_log("Server after ini_set");
    $soapserver = new SoapServer("MyWSDL.wsdl");
    error_log("Server after new SoapServer");
$soapserver->setClass("MyClassWS");
    error_log("Server after setClass");
    //error_log(print_r($soapserver->getFunctions()));
    try
    {
        $soapserver->handle();
    }
    catch(Exception $ex)
    {
        error_log("Exception!".$ex->getMessage());
    }
error_log("Finished Handling",0);

就在$soapserver->handle()之后;代码终止,我在网页上得到一个模糊的"SOAP-ENV:ClientBad Request"结果。

当我从索引页面"require_one"这个页面时,就会发生这种情况,这样我就可以从索引页面调用这个类中定义的函数。

我的猜测是,也许我在WSDL上做得太多了,不知怎么的,它把我的while WebService搞砸了,但我试图找出它的问题所在,但什么都做不到。尤其是因为这个令人讨厌的模糊错误消息,这并没有真正的帮助。

谢谢!

我认为我很好地解决了这个问题,将包括SoapServer的WebService类分离为两个不同的类。

一个只包含带函数的类,另一个包含WebServer并且只引用该类。

通过这种方式,我可以导入带有函数的类,而无需导入SoapServer并触发handle()函数。