模板页:

 <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="../Public/jquery-1.8.0.min.js"></script>
<script type="text/javascript">
$(function() {
var OCXobj = document.getElementById("PlayViewOCX");
OCXobj.SetOcxMode(0);
$.ajax({
//要用post方式
type : "Post",
//方法所在页面和方法名
url : "../Home/User/GetPreViewXml",
success : function(data) {
//返回的数据用data.d获取内容
if (data) {
OCXobj.StartTask_Preview_InWnd(data, 0);
}
},
error : function(err) {
alert("调用webservice过程中发生了错误!");
}
});
});
</script>
</head>
<body> <input id='previewXml' value='{$previewXml}' type='hidden' />
<div>
&nbsp;&nbsp;&nbsp;&nbsp;<input type="button" value="开始预览"
id="StartPlayView" /> <br />
<div style="width: 750px; float: left; overflow: hidden">
&nbsp;&nbsp;&nbsp;<br /> &nbsp;&nbsp;&nbsp;&nbsp;
<!-- 添加预览控件(需要先在windows下注册) -->
<object classid="clsid:D5E14042-7BF6-4E24-8B01-2F453E8154D7"
id="PlayViewOCX" width="750" height="450" name="ocx"> </object>
</div>
</div>
</body>
</html>

控制器代码:

 function GetPreViewXml()
{
$client = new \SoapClient("http://192.168.1.113/services/CmsService?wsdl");
$funs = array(
$client->__getFunctions()
); $userLogin = new \stdClass();
$userLogin->userName = 'admin';
$userLogin->pwd = '5B9BD37AE194BCE2D53666BCB9D99B01';
$userLogin->clientIp = '192.168.1.105';
$userLogin->clientPort = '80';
$userLogin->cmsUrl = 'http://192.168.1.113'; $loginResponse = $client->__call("userLogin", array(
$userLogin
)); $getCameraInfoByDeviceInfo = new \stdClass();
$getCameraInfoByDeviceInfo->indexCode = 2;
$getCameraInfoByDeviceInfo->sessionId = $loginResponse->return->sessionId;
$getCameraInfoByDeviceInfoResponse = $client->__call("getCameraInfoByDeviceInfo", array(
$getCameraInfoByDeviceInfo
)); $getPreviewParam = new \stdClass();
$getPreviewParam->sessionId = $loginResponse->return->sessionId;
$cameraArray = $getCameraInfoByDeviceInfoResponse->return->cameraArray;
$cameraIndexCode = '';
if (is_array($cameraArray)) {
$cameraIndexCode = $cameraArray[0]->indexCode;
} else {
$cameraIndexCode = $cameraArray->indexCode;
}
$getPreviewParam->cameraIndexCode = $cameraIndexCode; $getPreviewParamResponse = $client->__call("getPreviewParam", array(
$getPreviewParam
)); $this->ajaxReturn($getPreviewParamResponse->return->previewXml);
}

ThinkPhp调用webservice的更多相关文章

  1. ThinkPHP使用soapclient调用webservice接口

    1,开启 php.ini 这2个服务 12 extension=php_openssl.dllextension=php_soap.dll 以公共天气预报webservice为例,采用thinkPHP ...

  2. 一个简单的webservice的demo(下)winform异步调用webservice

    绕了一大圈,又开始接触winform的项目来了,虽然很小吧.写一个winform的异步调用webservice的demo,还是简单的. 一个简单的Webservice的demo,简单模拟服务 一个简单 ...

  3. 调用webservice进行身份验证

    因为同事说在调用webservice的时候会弹出身份验证的窗口,直接调用会返回401,原因是站点部署的时候设置了身份验证(账号名称自己配置).因而在调用的时候需要加入身份验证的凭证. 至于如何获取身份 ...

  4. java接口调用——webservice就是一个RPC而已

    很多新手一听到接口就蒙逼,不知道接口是什么!其实接口就是RPC,通过远程访问别的程序提供的方法,然后获得该方法执行的接口,而不需要在本地执行该方法.就是本地方法调用的升级版而已,我明天会上一篇如何通过 ...

  5. Android调用WebService

    这两天给老师做地铁app的demo,与后台的交互要用WebService,还挺麻烦的.所以想写点,希望有用. Web Services(Web服务)是一个用于支持网络间不同机器互操作的软件系统,它是一 ...

  6. C# 调用webservice 几种办法(转载)

    原文地址: http://www.cnblogs.com/eagle1986/archive/2012/09/03/2669699.html //=========================== ...

  7. 【Java EE 学习 80 下】【调用WebService服务的四种方式】【WebService中的注解】

    不考虑第三方框架,如果只使用JDK提供的API,那么可以使用三种方式调用WebService服务:另外还可以使用Ajax调用WebService服务. 预备工作:开启WebService服务,使用jd ...

  8. C#winForm调用WebService的远程接口

    Web Service 的创建简单编码.发布和部署 上一篇详细概述了WebService的创建,编码,发布和部署,那么作为客户端的程序如何访问远程端的WebService 接下来看一下具体步骤:   ...

  9. 【学习篇:他山之石,把玉攻】jquery实现调用webservice

    1.webservice端 using System; using System.Collections.Generic; using System.Web; using System.Web.Ser ...

随机推荐

  1. python - num1 -初识python

    一.了解python python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC ...

  2. CoreData的数据迁移

    CoreData的数据迁移   很多人说CoreData坑多,现在才感觉到,今天上午写代码的时候,发现了一个大问题. 过程如下,之前我自己给coredata的实体添加了几个字段,后来网上的一个用户说我 ...

  3. FATAL:NO bootable medium found!System halted.

    问题描述:致命错误,没有可引导的媒体.系统挂起.以下是在网上查的: 1:检查硬盘的类型,ide或sata接口是否在0,0或是在1,0. 2:光驱是否选择iso文件. 3:iso文件是否损坏4:virt ...

  4. 必须得是一万小时的 刻意训练(deliberate practice)

    成功素质1:一万小时与格物致知 “格物致知14”的概念,我是从张银奎11老师那里了解到的.它的意思是“推究事物的原理,从而获得知识”,跟我在<透过现象看本质 - 写在观看WWDC 2016 Ke ...

  5. windows下编译firefox

    可以自己定制下.估计很简单..... 官方文档扫一遍: https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_I ...

  6. 《Algorithms 4th Edition》读书笔记——2.4 优先队列(priority queue)-Ⅲ

    2.4.3 堆的定义 数据结构二叉堆能够很好地实现优先队列的基本操作.在二叉堆的数组中,每个元素都要保证大于等于另两个特定位置的元素.相应地,这些位置的元素又至少要大于等于数组中的两个元素,以此类推. ...

  7. softlayer

  8. ios 导航栏和旋屏

    1,状态栏(UIStatusBar) http://my.oschina.net/shede333/blog/304560 2,visibleViewController和topViewControl ...

  9. 单源最短路径—Bellman-Ford和Dijkstra算法

    Bellman-Ford算法:通过对边进行松弛操作来渐近地降低从源结点s到每个结点v的最短路径的估计值v.d,直到该估计值与实际的最短路径权重相同时为止.该算法主要是基于下面的定理: 设G=(V,E) ...

  10. Hive 10、Hive的UDF、UDAF、UDTF

    Hive自定义函数包括三种UDF.UDAF.UDTF UDF(User-Defined-Function) 一进一出 UDAF(User- Defined Aggregation Funcation) ...