nusoap在thinkphp下创建webservice
来源:互联网 发布:c 和java那个早 编辑:程序博客网 时间:2024/06/06 00:24
注:此代码为非原创,根据原代码做了Thinkphp下实现
根据nusoap在thinkphp下创建webservice
和在原生PHP下创建方法无差别,仅需将接口具体实现代码放在thinkphp控制器外即可。其余代码放在控制器内外均可。此例中放在控制器外,控制器为空
如需将接口实现代码放在class内,需新建一个class,注册接口时使用 class名.函数名 ,如API.test(API为class名,test为API内function)
nusoap下载地址:nusoap下载地址
<?phpclass TestAction extends BaseAction{ } require_once ('lib/nusoap.php'); // 返回的是一个数组 function adduser ($userName, $userAge, $birthday, $higher) { $temp ['userName'] = $userName; $temp ['userAge'] = $userAge; $temp ['birthday'] = $birthday; $temp ['higher'] = $higher; return $temp; } function validate($userName){ if ($userName == "helloworld") { return 1; } else{ return 0; } } $soap = new soap_server (); // 避免乱码 $soap->soap_defencoding = 'UTF-8'; $soap->decode_utf8 = false; $soap->xml_encoding = 'UTF-8'; $soap->configureWSDL ( 'Demowsdl', 'urn:Demowsdl' ); $soap->wsdl->schemaTargetNamespace = 'urn:Demowsdl'; // 下面是设置一个返回的数组类型 // 参数一,为你自己命名的数据类型 // 参数二,混合类型,不用管 // 参数三,为结构体,或者数组(array) // 参数四,按照什么排序,有三个选择all(全部)|sequence(次序)|choice(选择) // 参数五,基本约束 // 注意:上面5个我们不用改变 // 参数6,最重要的参数,也就是我们返回的类型想对应 // 返回数组下标 =>array('name'=>"数组下标",'type'=>"xsd:对应的类型") // 类型基本包括 string,int, date,boolean 这几种形式 $soap->wsdl->addComplexType ( 'userInfo', 'complexType', 'struct', 'all', '', array ( 'userName' => array ( 'name' => 'userName', 'type' => 'xsd:string' ), 'userAge' => array ( 'name' => 'userAge', 'type' => 'xsd:int' ) , 'birthday' => array ( 'name' => 'birthday', 'type' => 'xsd:date' ) , 'higher' => array ( 'name' => 'higher', 'type' => 'xsd:boolean' ) ) ); // 这里是注册函数 // 参数一,函数名 // 参数二,是这个函数接受的参数,注意指定类型 // 参数三,为返回的值,不一定名字非叫return,叫其他的也可以,注意返回的类型, // 我这里是返回我自己定义的类型 tns:userInfo 如果为基本的类型为 xsd:string 这个样子 // 其他的参数,只要统一就可以了,尤其是名字空间跟 soapaction $soap->register ('adduser', array ( 'userName' => 'xsd:string', 'userAge' => 'xsd:int', 'birthday' => 'xsd:date', 'higher' => 'xsd:boolean' ), array ( 'return' => 'tns:userInfo' ), 'urn:Demowsdl', 'urn:Demowsdl#adduser', 'rpc', 'encoded', '添加用户' ); $soap->register ( 'validate', array ( 'userName' => 'xsd:string' ), array ( 'return' => 'xsd:int' ), 'urn:Demowsdl', 'urn:Demowsdl#validate', 'rpc', 'encoded', '验证用户名' ); @$soap->service ( $HTTP_RAW_POST_DATA );?>
0 0
- nusoap在thinkphp下创建webservice
- php nusoap 创建和调用webservice
- thinkphp集成nusoap
- WebService接口之nusoap
- 利用NuSoap开发WebService(PHP)
- NuSoap介绍 (php调用webservice)
- PHP调用Webservice-NuSoap实例
- NuSOAP webservice接口使用详解
- 利用NuSoap开发WebService(PHP)
- NuSOAP webservice接口使用详解
- 利用NuSoap开发WebService(PHP)
- webservice——nusoap详解
- NuSOAP webservice接口使用详解
- 利用NuSoap开发WebService(PHP)
- NuSOAP webservice接口使用详解
- 利用NuSoap开发WebService(PHP)
- 用thinkPHP创建在index下的控制器
- vs2010下创建webservice
- C/C++内存分配
- nehe的opengl教程 opengl窗口章 移植到vs2013 win7环境下
- 在ASP.NET中Dictionary用法
- 用Lock对象来同步线程,实现生产者消费者模式
- 自动循环刷新功能
- nusoap在thinkphp下创建webservice
- windows程序设计--Chap4
- 如何形象地解释 JavaScript 中 map、foreach、reduce 间的区别?
- TServerSocket 安装及衍生知识
- 使用Doxygen生成net帮助文档
- QML概念及框架--在组件中添加属性
- 一种实用的上传参数和文件呢的工具类
- vs2010/MFC 非模态对话框创建以及修改static提示内容
- leetcode-jump game