模板页:

 <!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. DAO 基础学习笔记

    一.DAO 1.概念: (1)Date Access Object(数据存取对象) (2)位于业务逻辑和持久化数据之间 (3)实现对持久化数据的访问 (4)类---> DAO --->数据 ...

  2. 什么是REST架构 - z

    什么是REST架构 - z   REST架构风格是全新的针对Web应用的开发风格,是当今世界最成功的互联网超媒体分布式系统架构,它使得人们真正理解了Http协议本来面貌.随着 REST架构成为主流技术 ...

  3. 转:Reddit排名算法工作原理

    http://www.aqee.net/how-reddit-ranking-algorithms-work/ 这是一篇继<Hacker News 排名算法工作原理>之后的又一篇关于排名算 ...

  4. 在Fedora 20下编译安装QEMU

    由于OpenStack的流行,现在越来越多的人关注QEMU,最近发行了新版本1.7,下面就说Fedora下的安装过程: 首先需要安装基本的编译软件和git sudo yum install gcc m ...

  5. 25045操作标准子程序集41.C

    /* ;程 序 最 后 修 改 时 间 0-4-3 23:43 ;软 件 标 题:25045操作标准子程序集41 ;软 件 说 明:25045 I2C 串行EEPROM 驱动 ;___________ ...

  6. MVC4+Springnet+Nhibernate学习系列随笔(一)

    Springnet与asp.net mvc4集成大体步骤 1.首先要在MVC项目中引用的两个程序集(Spring.Web与Spring.Web.Mvc4) 集 2.修改MVC项目的Global.asa ...

  7. Tomcat部署项目通过—IP地址:端口访问

    如题所示,实现效果图如下: 设置如下: (1)修改${tomcat}/config/sever.xml文件虚拟内容目录: <Engine name="Catalina" de ...

  8. Walls and Gates 解答

    Question You are given a m x n 2D grid initialized with these three possible values. -1 - A wall or ...

  9. postgresql C/C++ API 接口

    1,postgresql学习uri推荐 http://www.php100.com/manual/PostgreSQL8/ http://www.php100.com/manual/PostgreSQ ...

  10. C++按值和按址传递对象的思考和优化

    C++是一门面向对象(OOP)编程语言,在这门语言中也有函数,函数的参数可以是变量数值,当然也可以是对象.所以,传统地就有关于对象是按值传递还是按址传递的讨论. 在C语言中,按值传递在很多情况下可以出 ...