SOAP-ERROR: Parsing WSDL: failed to load external entity

Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://www.webservicex.net/globalweather.asmx?wsdl' : failed to load external entity "http://www.webservicex.net/globalweather.asmx?wsdl" in /www/wwwroot/xxxxx.com/23.php:8 Stack trace: #0 /www/wwwroot/xxxxx.com/23.php(8): SoapClient->SoapClient('http://www.webs...') #1 {main} thrown in /www/wwwroot/xxxxx.com/23.php on line 8

这个错误是我们ehr同步人员和部门信息接口报的错,直接访问WSDL也能正常返回

php请求接口FCOperate.asmx?WSDL 接口。这里需要注意升级php版本,尽可能升级的到php7.0

测试发现产生这个错误与PHP版本有关,版本高的不会出现这个问题。

解决方案:

1、修改服务器网关配置,就是OpenSSL,它是一种通信协议,改一发动全身,所以我没动服务器

2、修改PHP版本再测

3、也就是直接在代码处修改(推荐),代码如下:

$wsdl='http://你的地址/PSIGW/PeopleSoftServiceListeningConnector/PSFT_HR/HPS_HRIF001_OA_DEPT.1.wsdl';
$streamContext = array(stream_context_create(array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false
)
)));
$client = new \SoapClient($wsdl, $streamContext);
$result=$client->__doRequest($xmldata,$wsdl,'HPS_HFIFOA_DEP_SRVACTN.v1',1,0);
return $result;
就是

这一句很关键。

这是我找到解决办法的地方:http://php.net/manual/en/migration56.openssl.php

更新日期2018-12-19:我前几天看日志上面一个接口通的,下面一个接口还是报这个错,代码一样的。于是我下面的代码改成就OK了:

$wsdl = 'http://地址/PSIGW/PeopleSoftServiceListeningConnector/PSFT_HR/HPS_HRIF001_OA_EMPL.1.wsdl';
/*$streamContext = array(stream_context_create(array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false
)
)));*/
$opts = array(
'ssl' => array('ciphers' => 'RC4-SHA', 'verify_peer' => false, 'verify_peer_name' => false)
);
$params = array('encoding' => 'UTF-8', 'soap_version' => SOAP_1_2, 'trace' => 1, 'exceptions' => 1, "connection_timeout" => 180, 'stream_context' => stream_context_create($opts));
$client = new \SoapClient($wsdl, $params);
$result = $client->__doRequest($xmldata, $wsdl, 'HPS_HFIFOA_EMP_SRVACTN.v1', 1, 0);
return $result;

注意看上面红色部分

Fatal error: Uncaught SoapFault exception:解决办法的更多相关文章

  1. Fatal error: Uncaught SoapFault exception

    Warning: SoapClient::SoapClient() expects parameter 2 to be array, boolean given in  login\login.php ...

  2. deepin 安装scrapy安装出错:fatal error: Python.h 的解决办法

    环境deepin Linux 15.7 Python3.6.5 今天重新装了deepin系统,需要重新安装scrapy,直接pip了一下,没成. 报错:fatal error: Python.h: 没 ...

  3. fatal error C1859的有效解决办法

    作者:朱金灿来源:http://blog.csdn.net/clever101 在服务器(操作系统为Widows Server2008)上使用VS C++2008编译工程,总是出现这样一个错误:fat ...

  4. DVWA--登录页面错误问题 469 | | PHP Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in C:\web\DVWA\dvwa\includes\dvwaPage.inc.php:469

    // MySQL PDO Prepared Statements (for impossible levels) $db = new PDO('mysql:host=' . $_DVWA[ 'db_s ...

  5. UBUNTU下MONGODB出现PHP Fatal error: Uncaught exception 'MongoConnectionException' with message 和 Authentication failed on database 'admin' with username

    MONGO 远程连接服务器,出现: PHP Fatal error: Uncaught exception Stack trace:# /var/www/data/update_data.php(): ...

  6. PHP-问题处理Fatal error: Uncaught Error: Call to undefined function mb_strlen()

    1.问题 今天重新安装了ubuntu,PHP,MySQL,Apache,到测试CMS项目时发生一个错误: Fatal error: Uncaught Error: Call to undefined ...

  7. PHP-问题处理Fatal error: Uncaught Error: Call to undefined function simplexml_load_file()

    1.问题 今天重新安装了ubuntu,PHP,MySQL,Apache,到测试CMS项目时发生一个错误: Fatal error: Uncaught Error: Call to undefined ...

  8. mysql主从同步失败Last_IO_Error: Got fatal error 1236 from master解决方法

    mysql教程主从同步失败Last_IO_Error: Got fatal error 1236 from master解决方法 遇到这样的错误如:“Last_IO_Error: Got fatal ...

  9. PHP Fatal error: Uncaught Error: Call to undefined function pcntl_fork().. 开启php pcntl扩展实现多进程

    在使用函数pcntl_fork()时报错  Fatal error: Uncaught Error: Call to undefined function pcntl_fork()....,原因是没有 ...

  10. SQL注入平台(sqli-labs)搭建提示Fatal error: Uncaught Error:

    笔者搭建该平台时用的是phpstudy,估计wampserver和xmapp也适用 搭建过程中出现错误 在浏览器进入sqli-labs时有以下提示 Fatal error: Uncaught Erro ...

随机推荐

  1. linux 学习之awk

    awk 笔记 awk可以截取列 如 ll | awk '{print $3}' 获取第三列内容 参数 -F 指定分隔符 如 ls | wak -F "." '{print $1}' ...

  2. Java实现图片上传返回上传地址

    **关于在实际开发中最常用也是用的最多的Java实现文档.图片上传.***一.准备阶段*文档.图片上传有几种方式,包括传统的ajax上传,云上传,这里给大家实现通过代码将图片上传至七牛云服务器并返回图 ...

  3. FtpClient上传文件异常:java.net.SocketException: Connection reset

    FtpClient上传文件异常:java.net.SocketException: Connection reset 这问题折磨我快一天了,下午这会儿终于解决了,问题不在程序错误,原因还是出在上传图片 ...

  4. MAC完整的地址

    作者:匿名用户 链接:https://www.zhihu.com/question/22883229/answer/71280098 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...

  5. 9.Java的LinkedList/Deque相关方法

    Java的LinkedList/Deque中add/offer/push,remove/pop/poll的区别 它们来自不同的接口 add/remove源自集合,所以添加到队尾,从队头删除: offe ...

  6. mysqld_safe Directory '/tmp/mysql' for UNIX socket file don't exists.

    报错版本:mysql-5.7.35 1.报错完整提示信息: [root@localhost bin]# 2022-11-15T04:04:43.122905Z mysqld_safe Logging ...

  7. Python第五章实验报告

    一.实验项目名称:<零基础学Python>第五章实战.实例以及两道作业题 二.实验目的和要求:了解和掌握操作字符串的方法和正则表达式的应用 三.实验环境:IDLE(Python 3.9 6 ...

  8. adb 全局

    win10: 我的电脑-右键属性--系统保护--高级--环境变量--选择path--编辑--点击新建 在新建条目下输入 C:\Users\GL\platform-tool--重新打开cmd 测试adb ...

  9. windos 环境下载安装seata

    参考: https://blog.csdn.net/lianghecai52171314/article/details/127330916

  10. Linux & 标准C语言学习 <DAY6>

    一.数组     什么是数组:变量的组合,是一种批量定义相同类型变量的方式     定义:  类型名 数组名[数量];             int arr[5];             注意:数 ...