PHP SOAP客户端和SOAP服务器错误

PHP SOAP客户端和SOAP服务器错误,php,web-services,soap,soapserver,Php,Web Services,Soap,Soapserver,我有一个web服务器,它作为SOAP客户端与第三方SOAP服务器通信。我的客户机是使用PHP::soapclient在PHP中实现的 验证SOAP服务器是否正常工作的最佳方法是什么,以便我可以向客户端浏览器提供站点,否则,如果SOAP服务器关闭或没有响应,请通知用户该服务当前不可用 该系统本质上提供了通过使用SOAP客户机/服务器通信向浏览器显示数据并让用户与第三方系统交互而提供的第三方服务的mashup 您可以调用,如果您确实获得了WSDL,则触发实际的SOAP请求 如果应用程序关闭,您可能无

我有一个web服务器,它作为SOAP客户端与第三方SOAP服务器通信。我的客户机是使用PHP::soapclient在PHP中实现的

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

该系统本质上提供了通过使用SOAP客户机/服务器通信向浏览器显示数据并让用户与第三方系统交互而提供的第三方服务的mashup

您可以调用,如果您确实获得了WSDL,则触发实际的SOAP请求

如果应用程序关闭,您可能无法获取WSDL,并且如果它只是服务的一部分使其挂起,那么您也无法事先检测到它。

您可以调用,如果您确实获取了WSDL,则启动实际的SOAP请求


如果应用程序关闭,您可能无法获取WSDL,并且如果它只是服务的一部分使其挂起,那么您也无法事先检测到它。

好吧。。。有一次,我使用了一个PHPSOAP服务器和一个PHPSOAP客户端。我认为当客户端调用服务时,它会通过wsdl,如果连接(甚至执行)服务器端出现问题,客户端的响应将是SoapFault对象。。我想

    $resp = $this->client->__soapCall($serviceName,$serviceParams);
    if (get_class($resp)=="SoapFault"){
         throw new Exception("Webservice error - Message: ".$resp->faultstring);
    }

嗯。。。有一次,我使用了一个PHPSOAP服务器和一个PHPSOAP客户端。我认为当客户端调用服务时,它会通过wsdl,如果连接(甚至执行)服务器端出现问题,客户端的响应将是SoapFault对象。。我想

    $resp = $this->client->__soapCall($serviceName,$serviceParams);
    if (get_class($resp)=="SoapFault"){
         throw new Exception("Webservice error - Message: ".$resp->faultstring);
    }

在这方面,调用WSDL的最佳方式是什么?我想到了wget,但我不确定在php?file_get_contents()中是否有更好的方法,假设您允许在fopen中使用URL。或者用cURL检查标题。在这方面,调用WSDL的最佳方法是什么?我想到了wget,但我不确定在php?file_get_contents()中是否有更好的方法,假设您允许在fopen中使用URL。或者使用cURL检查标题。哪种类型的设计最适合捕获这些异常并通知用户问题,同时报告给站点管理员进行调试以确定出现了什么问题?我想说的是,您可以创建自己的SoapException类,从Exception扩展而来,在构造函数中,您可以将$resp->faultstring保存在DB或将其发送给站点管理员。。对于用户来说,一个try-catch应该足以告诉他们出现了问题。。我不知道这是“最好的”但我不喜欢=)什么类型的设计最适合捕捉这些异常并将问题通知用户,同时报告给站点管理员进行调试以确定出现了什么问题?我想说,您可以创建自己的SoapException类,该类从Exception扩展而来,并在构造函数中保存数据库中的$resp->faultstring或者将其发送给站点管理员。。对于用户来说,一个try-catch应该足以告诉他们出现了问题。。我不知道这是“最好的”,但我喜欢那样做=)