当前位置:首页 > PHP > 正文内容

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

高老师8年前 (2018-10-09)PHP2417

项目中使用服务来执行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();
}

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/67.html

分享给朋友:

“php soap 捕获异常,使用try catch 捕获Soap 异常” 的相关文章

PHP可变变量的作用

PHP可变变量的作用

<!doctype html> <html> <head> <meta charset="utf-8"> <title>demo</title> </head> <bod...

php限制方法返回值类型

php限制方法返回值类型

php7新增的特性(1).强制限制只能返回一种类型<?php class task { } //must return an integer function add(): int {    &nb...

php定义常量数组

php定义常量数组

<?php //php7+ define('CONFIG', [     'MYSQL' => '127.0.0.1',     ...

PHP Warning:  ftok(): Project identifier is invalid

PHP Warning: ftok(): Project identifier is invalid

在使用ftok生成ipc进程通信key尝试将第二个参数项目标识符传入字符串报错:PHP Warning:  ftok(): Project identifier is invalid,查阅资料发现第二个字符串只能是1个字符串,长度为1....

 php命令行中文乱码,php cli中文乱码

php命令行中文乱码,php cli中文乱码

<?php //如果支持exec函数,可以使用的方式 exec('chcp 65001'); //如果exec函数因安全问题禁用,可以使用的方式 pclose(popen('chcp 65001', 'r'));...

php迭代器返回值,php yield getReturn

php迭代器返回值,php yield getReturn

php生成器的方法getReturn获取生成器迭代完成后的返回值,当生成器迭代完成会将生成器的返回值返回,因此如果迭代器未进行迭代是获取不到值的,如果你没有return值则返回null,参考代码:<?php function G1() {    &nbs...