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 相关文章推荐
PHP的array_diff()函数在处理大数组时的效率问题
Nov 27 PHP
PHP实现提取一个图像文件并在浏览器上显示的代码
Oct 06 PHP
thinkphp中连接oracle时封装方法无法用的解决办法
Jun 17 PHP
php合并js请求的例子
Nov 01 PHP
PHP SESSION的增加、删除、修改、查看操作
Mar 20 PHP
windows平台中配置nginx+php环境
Dec 06 PHP
thinkphp框架page类与bootstrap分页(美化)
Jun 25 PHP
PDO::getAvailableDrivers讲解
Jan 28 PHP
PHP设计模式之简单工厂和工厂模式实例分析
Mar 25 PHP
laravel 之 Eloquent 模型修改器和序列化示例
Oct 17 PHP
PHP实现基本留言板功能原理与步骤详解
Mar 26 PHP
PHP时间相关常用函数用法示例
Jun 03 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
百事可乐也出咖啡了 双倍咖啡因双倍快乐
2021/03/03 咖啡文化
关于UEditor编辑器远程图片上传失败的解决办法
2012/08/31 PHP
PHP中spl_autoload_register函数的用法总结
2013/11/07 PHP
PHP处理SQL脚本文件导入到MySQL的代码实例
2014/03/17 PHP
kohana框架上传文件验证规则写法示例
2014/07/14 PHP
php生成百度sitemap站点地图类函数实例
2014/10/17 PHP
php单例模式示例分享
2015/02/12 PHP
cakephp2.X多表联合查询join及使用分页查询的方法
2017/02/23 PHP
PHP操作XML中XPath的应用示例
2019/07/04 PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
2019/10/10 PHP
JS查看对象功能代码
2008/04/25 Javascript
潜说js对象和数组
2011/05/25 Javascript
jQuery实现级联菜单效果(仿淘宝首页菜单动画)
2014/04/10 Javascript
jQuery实现强制cookie过期方法汇总
2015/05/22 Javascript
JS写XSS cookie stealer来窃取密码的步骤详解
2017/11/20 Javascript
浅谈React中组件间抽象
2018/01/27 Javascript
Vue中的验证登录状态的实现方法
2019/03/09 Javascript
详解easyui 切换主题皮肤
2019/04/04 Javascript
JavaScript实现轮播图效果
2020/10/30 Javascript
python中的全局变量用法分析
2015/06/09 Python
Python实现计算最小编辑距离
2016/03/17 Python
python处理html转义字符的方法详解
2016/07/01 Python
Python处理json字符串转化为字典的简单实现
2016/07/07 Python
请不要重复犯我在学习Python和Linux系统上的错误
2016/12/12 Python
python 根据pid杀死相应进程的方法
2017/01/16 Python
基于python绘制科赫雪花
2018/06/22 Python
python字符串的拼接方法总结
2019/11/18 Python
PyCharm如何导入python项目的方法
2020/02/06 Python
tensorflow中tf.reduce_mean函数的使用
2020/04/19 Python
Django-migrate报错问题解决方案
2020/04/21 Python
python 实现非极大值抑制算法(Non-maximum suppression, NMS)
2020/10/15 Python
创造美妙香氛体验:Aera扩散器和香水
2018/11/25 全球购物
size?法国官网:英国伦敦的球鞋精品店
2020/03/15 全球购物
Jones Bootmaker官网:优质靴子和鞋子在线
2020/11/30 全球购物
小学生表扬稿范文
2015/05/05 职场文书
用Python实现Newton插值法
2021/04/17 Python