php5 apache 2.2 webservice 创建与配置(java)


Posted in PHP onJanuary 27, 2011

php 5 apache 2.2 webservice 创建与配置
测试工具:wsCaller.jar (此文是给java程序调用的webservice)
提示:要运行wsCaller.jar 要选安装jdk 如果没有安装jdk 则wsCaller.jar 会以压缩包的形式显示
1 写webservice 要用到的接口

<?php 
class service 
{ 
function add($a,$b){ 
$c=$a+$b; 
return $c; 
} 
function str($string){ 
return $string; 
} 
} 
//require('cls_mysql.php'); 
//$db = new cls_mysql('localhost', 'root', 'root', test_db'); 
//$db = new cls_mysql('211.103.156.227:3306', 'root', 'txtx', test_db'); 
//'testwsdl.wsd需要在后面采用Zend Studio生成。 
$server=new SoapServer('testwsdl.wsdl',array('uri' => 'http://webserver.com/','encoding'=>'utf-8','soap_version' => SOAP_1_2 )); 
$server->setClass("service"); 
$server->handle(); 
?>

2.生成wsdl文件

菜单中

File--àExport---àphp    选中 “wsdl file” 然后下一步 (图1

php5 apache 2.2 webservice 创建与配置(java)

 

File name wsdl 文件所在的位置

Exported files 下面的文件是你上面刚刚创建的php文件(接口文件)

Classes 下面的service 前面的勾要打上

URL 中填写接口文件的访问地址 (如:http://webserver.com/rpcservice.php

php5 apache 2.2 webservice 创建与配置(java)

 

点击global settings 出现下图(图3

选择RPC ? Oriented

然后点击 ok  在点击 “Finish”

php5 apache 2.2 webservice 创建与配置(java)

 

出现下图(图4

php5 apache 2.2 webservice 创建与配置(java)

 

最后一步就是给 每个参数一个合理的类型(下图)

然后保存 

到此 wsdl文件已经生成

php5 apache 2.2 webservice 创建与配置(java)

 

访问路径  http://webserver.com/testwsdl.wsdl  (会出现下面内容)

如果不出现 则要配置apache 使其支持xml

注: 不要用chrome 打开wsdl文件 ,可能会显示不正常 (可以用ie firfox<?XML:NAMESPACE PREFIX = O />

php5 apache 2.2 webservice 创建与配置(java)

 


测试是否可以成功调用

测试工具

wsCaller.jar

注:必需安装JDK 才能运行wsCaller.jar  请不要解压wsCaller.jar

 

如果不能正确返回信息 可直接访问你的php 看看会不会报错

(本例http://webserver.com/rpcservice.php

 

Php 要支持 soap

如果php 版本是5.X 编辑 php.ini

extension=php_soap.dll  (添加 如果存在则去掉注释)

重启一下apache

apache 要注意这个文件 mime.types

php5 apache 2.2 webservice 创建与配置(java) 

 

函数添加新参数

找到message name=”函数名  中直接复制一下并把参数改一下参数名

WSDL文件

php5 apache 2.2 webservice 创建与配置(java)
<!--[endif]-->

Php接口文件

1 function add($a,$b,$e){
2     $c=$a+$b+$e;
3     return $c;
4 }

注:$e 就是wsdl文件中的 c 参数  

添加新的函数

WSDL复制代码就行; PHP写出对应的函数 (看一下选中的部分 其实就是复制了一下add 这个函数 并且直接粘贴在它下面就可以)  下面以 添加add_bak 函数为例

WSDL

1.复制message 标签

php5 apache 2.2 webservice 创建与配置(java)

 

2.复制 portType 中的标签

php5 apache 2.2 webservice 创建与配置(java)

 

3.复制binding 标签内容

php5 apache 2.2 webservice 创建与配置(java)
PHP

function add_bak($a,$b,$e){ 
$c=$a+$b-$e; 
return $c; 
}


测试结果

add_bak 函数

php5 apache 2.2 webservice 创建与配置(java)

add 函数

php5 apache 2.2 webservice 创建与配置(java)

其它函数就不一一测试了截图了
如果有不对的地方,请指出 谢谢

PHP 相关文章推荐
Discuz 5.0 中读取纯真IP数据库函数分析
Mar 16 PHP
php字符串截取中文截取2,单字节截取模式
Dec 10 PHP
php框架Phpbean说明
Jan 10 PHP
PHP面向对象程序设计之类常量用法实例
Aug 20 PHP
php强制用户转向www域名的方法
Jun 19 PHP
图文介绍PHP添加Redis模块及连接
Jul 28 PHP
简单了解将WordPress中的工具栏移到底部的小技巧
Dec 31 PHP
PHP共享内存用法实例分析
Feb 12 PHP
详解PHP的Yii框架中组件行为的属性注入和方法注入
Mar 18 PHP
thinkPHP数据查询常用方法总结【select,find,getField,query】
Mar 15 PHP
php输出形式实例整理
May 05 PHP
php的对象传值与引用传值代码实例讲解
Feb 26 PHP
使用XDebug调试及单元测试覆盖率分析
Jan 27 #PHP
仿AS3实现PHP 事件机制实现代码
Jan 27 #PHP
PHP 命名空间实例说明
Jan 27 #PHP
PHP中利用substr_replace将指定两位置之间的字符替换为*号
Jan 27 #PHP
PHP Session_Regenerate_ID函数双释放内存破坏漏洞
Jan 27 #PHP
PHP中通过加号合并数组的一个简单方法分享
Jan 27 #PHP
PHP中删除变量时unset()和null的区别分析
Jan 27 #PHP
You might like
php escape URL编码
2008/12/10 PHP
php 引用(&amp;)详解
2009/11/20 PHP
Yii中CGridView实现批量删除的方法
2015/12/28 PHP
javascript RadioButtonList获取选中值
2009/04/09 Javascript
js function定义函数使用心得
2010/04/15 Javascript
jQuery getJSON 处理json数据的代码
2010/07/26 Javascript
再次分享18个非常棒的jQuery表格插件
2011/04/10 Javascript
jquery高效反选具体实现
2013/05/05 Javascript
jquery 简单应用示例总结
2013/08/09 Javascript
js 事件截取enter按键页面提交事件示例代码
2014/03/04 Javascript
extJS中常用的4种Ajax异步提交方式
2014/03/07 Javascript
node.js中的fs.realpath方法使用说明
2014/12/16 Javascript
Javascript 拖拽雏形中的一些问题(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
javascript日期格式化方法小结
2015/12/17 Javascript
基于jQuery和hwSlider实现内容左右滑动切换效果附源码下载(一)
2016/06/22 Javascript
Javascript中级语法快速入手
2016/07/30 Javascript
移动端基础事件总结与应用
2017/01/12 Javascript
利用Node.js对文件进行重命名
2017/03/12 Javascript
关于jQuery中fade(),show()起始位置的一点小发现
2017/04/25 jQuery
vue.js 初体验之Chrome 插件开发实录
2017/05/13 Javascript
jQuery中ajax请求后台返回json数据并渲染HTML的方法
2018/08/08 jQuery
Vue+element-ui 实现表格的分页功能示例
2018/08/18 Javascript
谈谈React中的Render Props模式
2018/12/06 Javascript
JavaScript oncopy事件用法实例解析
2020/05/13 Javascript
使用nodejs实现JSON文件自动转Excel的工具(推荐)
2020/06/24 NodeJs
[03:17]史诗级大片应援2018DOTA2国际邀请赛 致敬每一位坚守遗迹的勇士
2018/07/20 DOTA
对numpy中的数组条件筛选功能详解
2018/07/02 Python
python url 参数修改方法
2018/12/26 Python
selenium+python截图不成功的解决方法
2019/01/30 Python
Python multiprocess pool模块报错pickling error问题解决方法分析
2019/03/20 Python
Django使用Channels实现WebSocket的方法
2019/07/28 Python
文秘人员工作职责
2014/01/31 职场文书
应届大专毕业生自我鉴定
2014/04/08 职场文书
骨干教师事迹材料
2014/12/17 职场文书
十大最强岩石系宝可梦,怪颚龙实力最强,第七破坏力很强
2022/03/18 日漫
Python通过loop.run_in_executor执行同步代码 同步变为异步
2022/04/11 Python