当前位置: 首页 > 工具软件 > PHP Soap > 使用案例 >

php soapclient 异常,php soap 捕获异常,使用try catch 捕获Soap 异常

鲜于德业
2023-12-01

项目中使用服务来执行webservice,由于对方系统api不稳定,经常导致服务崩溃,只能重启,一个月差不多要重启一次。

初期的解决办法是捕获异常,然后continue掉。<?php

try

{

$url = 'http://baidu.com';

$client = new SoapClient($url) or die("Database Connect Error");

}

catch (SoapFault $e)

{

echo $e->getMessage();

}

上面的代码不到一个月再次挂掉了,错误是:

(1).SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://120.234.34.32/SecondHandMobileAPI1.asmx?WSDL' : failed to load external entity

(2).PHP Fatal error: Uncaught SoapFault exception: [HTTP] Could not connect to host

如果对方的地址不存在或者不稳定的情况下进行实例化会直接抛出致命错误,本以为php内部实例化会抛出异常,方便捕获,但是却没有,于是直接屏蔽致命错误。<?php

error_reporting(0);

try

{

$url = 'http://baidu.com';

$client = new SoapClient($url) or die("Database Connect Error");

}

catch (SoapFault $e)

{

echo $e->getMessage();

}

 类似资料: