博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
webservice通过soap协议出现不能加载wsdl文件解决办法
阅读量:6999 次
发布时间:2019-06-27

本文共 1389 字,大约阅读时间需要 4 分钟。

hot3.png

PHP在用SOAP协议做接口的时候,经常会碰到如下问题,不是不成功,而是偶尔不成功,实在让人费解!

ERR: SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://www.xxxxx.com/member/member_sync.php?wsdl' : failed to load external entity "

查找日志发现:

NOTIC: [2] SoapClient::SoapClient(): I/O warning : failed to load external entity "http://www.xxxxx.com/member/member_sync.php?wsdl" /home/wwwroot/default/xxxxx.com/App/Modules/Admin/Action/OrderAction.class.php 第 112 行.客户端$client = new SoapClient ( $url );创建SoapClient对象时出错!

网上查找很多资料,有开启selinux、关闭soap缓存、开启openssl等等答案,但尝试过后都不尽人意,现终极解决办法:

只需把php的客户端SoapClient的wsdl模式修改为non-wsdl模式,即可解决!

wsdl模式:

<?php

$url = "http://xxxxx.org/member/member_sync.php?wsdl";

$client = new SoapClient ( $url );

$arr = array (

'username' => 'test123', 

'company' => '深圳市xxxxx科技有限公司', 

'password' => md5 ( md5 ( "test123" ) ), 

'encrypt_code' => 'thisisencryptcode' ); //加密串,必须

$result = $client->common_func ( 'sync_member', json_encode ( $arr ) );

var_dump ( $result );

?>

non-wsdl模式:

<?php

$client = new SoapClient(null,array('location'=>'http://www.xxxxx.com/member/member_sync.php',uri => 'member_sync.php'));

$arr = array (

'username' => 'test123', 

'company' => '深圳市xxxxx科技有限公司', 

'password' => md5 ( md5 ( "test123" ) ), 

'encrypt_code' => 'thisisencryptcode' ); //加密串,必须

$result = $client->common_func ( 'sync_member', json_encode ( $arr ) );

var_dump ( $result );

?>

转载于:https://my.oschina.net/chinahub/blog/505117

你可能感兴趣的文章
expect使用方法
查看>>
【安全牛学习笔记】存储型XSS和BEEF浏览器***框架
查看>>
鱼说计算机的组成及功能
查看>>
13.4 mysql用户管理 13.5 常用sql语句 13.6 mysql数据库备份恢复
查看>>
eclipse支持调试jdk自带的rt.jar
查看>>
chmod命令
查看>>
货币的起源和职能是什么?绘制货币资金管理思维导图简单的方法介绍
查看>>
怎样将录音转换成文字,知道这几个步骤就够了
查看>>
springboot+kafka+elk+docker+docker-compose+centos搭建日志收集系统
查看>>
时讯无线如何满足商业区的无线覆盖?
查看>>
思科交换机根据MAC-IP信息查询具体的交换机端口
查看>>
云计算与 OpenStack - 每天5分钟玩转 OpenStack(14)
查看>>
2014最新open***搭建实例
查看>>
php数据库链接
查看>>
nginx 反向代理,负载均衡
查看>>
安装配置msmtp和mutt
查看>>
10月下旬国内域名注册商净增量Top10
查看>>
第三代DRDS分布式SQL引擎全新发布
查看>>
Mysql查询语句优化一则
查看>>
python2读取utf8文件(中文)
查看>>