0

我有一个 Web 服务器,它充当 SOAP 客户端与第三方 SOAP 服务器进行通信。我的客户端是使用 php::soapclient 在 PHP 中实现的。

验证 SOAP 服务器是否正常运行的最佳方法是什么,以便我可以向客户端浏览器提供该站点,否则如果 SOAP 服务器关闭或没有响应通知用户该服务当前不可用?

该系统本质上提供了第三方服务的混搭,通过使用 SOAP 客户端/服务器通信向浏览器显示数据并让用户与第三方系统进行交互。

4

2 回答 2

2

好吧...一旦我使用了 php soap 服务器和 php soap 客户端。我认为当客户端调用服务时,它会通过 wsdl,如果在连接(甚至执行)服务器端出现问题,客户端的响应将是一个 SoapFault 对象.. id di 类似

    $resp = $this->client->__soapCall($serviceName,$serviceParams);
    if (get_class($resp)=="SoapFault"){
         throw new Exception("Webservice error - Message: ".$resp->faultstring);
    }
于 2010-08-09T13:17:02.320 回答
1

您可以调用http://server:1234/foo/bar?wsdl,如果您确实获得了 WSDL,则触发实际的 SOAP 请求。

如果应用程序已关闭,您可能无法获得 WSDL,并且如果它只是导致它挂起的服务的一部分,那么无论如何您也无法提前检测到它。

于 2010-08-09T13:13:30.540 回答