PHP开发心得二
如何解决错误:PHP SOAP Fatal error: Uncaught SoapFault exception: [Client] looks like we got no XML document ?
有以下代码,运行时出现以上错误。其原因也明确,因为__soapCall期望返回XML格式的数据,如果不是就会出错。
$webservice_url = "http://120.25.XX.XX:3000/service.asmx?WSDL";//webservice地址
$client = new SoapClientNew($webservice_url); try{
$arr = $client->__soapCall('FunctionSQL',array('parameters' => $param));//调用其中方法
}catch(Exception $e){
echo $e.getMessage();
}
那么,如果我们web service调用返回的是JSON数据就无法使用了吗?网上查了一下,结合个人摸索,以下方式可以绕过此问题,较好解决。
1,建立新类
class SoapClientNew extends SoapClient
{ public function __doRequest($request, $location, $action, $version, $one_way = 0)
{ $request = parent::__doRequest($request, $location, $action, $version, $one_way);
$GLOBALS['$soap_call_result'] = $request; //重要!此处已经返回结果,保存到全局变量中 // $start = strpos($request, '<soap');//根据实际情况做处理。。。,如果是<?xml开头,改成<?xml
// $end = strrpos($request, '>');
// return substr($request, $start, $end-$start+1);
return $request;
}
} 2,调用新类
$client = new SoapClientNew($webservice_url);
try{
$arr = $client->__soapCall('FunctionSQL',array('parameters' => $param));//调用其中方法
}catch(Exception $e){
} $arr = $GLOBALS['$soap_call_result']; //调用后读取全局变量,即可获得调用结果
print_r($arr);
PHP开发心得二的更多相关文章
- 安卓版App开发心得
从2016年4月到6月主要做的工作是网站的开发,而6月到现在2016年8月初,主要做的工作是Android和IOS两种App的开发,又以Android为主. 将这段时间的Android开发心得记录如下 ...
- SQL开发技巧(二)
本系列文章旨在收集在开发过程中遇到的一些常用的SQL语句,然后整理归档,本系列文章基于SQLServer系列,且版本为SQLServer2005及以上-- 文章系列目录 SQL开发技巧(一) SQL开 ...
- MVC5 网站开发之二 创建项目
昨天对项目的思路大致理了一下,今天先把解决方案建立起来.整个解决包含Ninesky.Web.Ninesky.Core,Ninesky.DataLibrary等3个项目.Ninesky.Web是web应 ...
- ASP.NET MVC5 网站开发实践(二) Member区域–管理列表、回复及删除
本来想接着上次把这篇写完的,没想到后来工作的一些事落下了,放假了赶紧补上. 目录: ASP.NET MVC5 网站开发实践 - 概述 ASP.NET MVC5 网站开发实践(一) - 项目框架 ASP ...
- ASP.NET MVC5 网站开发实践(二) Member区域–我的咨询列表及添加咨询
上次把咨询的架构搭好了,现在分两次来完成咨询:1.用户部分,2管理部分.这次实现用户部分,包含两个功能,查看我的咨询和进行咨询. 目录: ASP.NET MVC5 网站开发实践 - 概述 ASP.NE ...
- ASP.NET MVC5 网站开发实践(二) Member区域 - 咨询管理的架构
咨询.留言.投诉等功能是网站应具备的基本功能,可以加强管理员与用户的交流,在上次完成文章部分后,这次开始做Member区域的咨询功能(留言.投诉都是咨询).咨询跟文章非常相似,而且内容更少.更简单. ...
- ASP.NET MVC5 网站开发实践(二) Member区域 - 修改及删除文章
上次做了显示文章列表,再实现修改和删除文章这部分内容就结束了,这次内容比较简单,由于做过了添加文章,修改文章非常类似,就是多了一个TryUpdateModel部分更新模型数据. 目录: ASP.N ...
- ASP.NET MVC5 网站开发实践(二) Member区域 - 全部文章列表
显示文章列表分两块,管理员可以显示全部文章列表,一般用户只显示自己的文章列表.文章列表的显示采用easyui-datagrid.后台需要与之对应的action返回json类型数据 目录 ASP.N ...
- ASP.NET MVC5 网站开发实践(二) Member区域 - 添加文章
上次把架构做好了,这次做添加文章.添加文章涉及附件的上传管理及富文本编辑器的使用,早添加文章时一并实现. 要点: 富文本编辑器采用KindEditor.功能很强大,国人开发,LGPL开源,自己人的好东 ...
随机推荐
- SAS学习笔记 - 基本原理与概念
1.赋值符号 由一个尖括号和一个符号组成,可以从左到右也可以从右到左,即“->”或者“<-”. 赋值号也可以使用等号“=”. 如果对象已经存在,那么原先的值会被覆盖.除了可以赋一个数值,还 ...
- java编程思想-复用类
/* 一个文件中只能有一个public类 并且此public类必须与文件名相同 */ class WaterSource { private String s; WaterSource() { Sys ...
- storm ——Understanding the Parallelism of a Storm Topology
http://www.michael-noll.com/blog/2012/10/16/understanding-the-parallelism-of-a-storm-topology/ 这篇文章好 ...
- 【VBA研究】工作表自己主动筛选模式检測
作者:iamlaosong 用VBA程序处理Excel数据文件.用户的数据文件有时处于自己主动筛选模式,往往导致数据处理不对.为此,须要检測工作表是否处于该模式,假设是,则去掉自己主动筛选.语句例如以 ...
- FFmpeg的HEVC解码器源码简单分析:概述
===================================================== HEVC源码分析文章列表: [解码 -libavcodec HEVC 解码器] FFmpeg ...
- react 执行 yarn build 页面无法显示
资源文件路径问题 如果你使用create-react-app创建项目,执行命令 yarn build 后,直接以静态方式打开build文件夹内的index.html,会看到页面显示出现问题,打开con ...
- Python3 读取和写入excel
https://blog.csdn.net/weixin_43094965/article/details/82226263一.Excel 1.Excel文件三个对象 workbook: 工作簿,一个 ...
- JPG文件格式
开始:0xFF 0xD8 结束:0xFF 0xD9 文件的宽高:0xFF 0xC0 之后隔二个字节(0x11 0x08 这二个字节一般是固定的.描述这个块的长度.) 然后用四个字节来存储图片的高和宽0 ...
- Hierarchyviewer定位Android图片资源的研究
之前就在研究能否通过Hierarchyviewer找到所有所见的资源 在导入Hierarchyviewer之后才发现绑定在View上的drawable与实际的图片资源之间并没有维系着一个固定的对应关系 ...
- ZOJ 1871:Steps
Steps Time Limit: 2 Seconds Memory Limit: 65536 KB One steps through integer points of the stra ...