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中,文件上传
Dec 06 PHP
php的日期处理函数及uchome的function_coomon中日期处理函数的研究
Jan 12 PHP
php中用date函数获取当前时间有误的解决办法
Aug 02 PHP
php遍历文件夹下的所有文件和子文件夹示例
Mar 20 PHP
ThinkPHP令牌验证实例
Jun 18 PHP
php类中的各种拦截器用法分析
Nov 03 PHP
php实现删除空目录的方法
Mar 16 PHP
php如何实现只替换一次或N次
Oct 29 PHP
在CentOS系统上从零开始搭建WordPress博客的全流程记录
Apr 21 PHP
Symfony2针对输入时间进行查询的方法分析
Jun 28 PHP
PHP使用PDO实现mysql防注入功能详解
Dec 20 PHP
php操作redis常见方法示例【key与value操作】
Apr 14 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获取QQ达人QQ信息的方法
2015/03/05 PHP
php 在线导入mysql大数据程序
2015/06/11 PHP
php语法检查的方法总结
2019/01/21 PHP
PHP实现通过文本文件统计页面访问量功能示例
2019/02/13 PHP
javascript引导程序
2008/10/26 Javascript
火狐浏览器(firefox)下获得Event对象以及keyCode
2008/11/13 Javascript
javascript动态添加样式(行内式/嵌入式/外链式等规则)
2013/06/24 Javascript
jQuery实现两列等高并自适应高度
2016/12/22 Javascript
基于javascript实现最简单选项卡切换
2017/02/01 Javascript
jQuery读取XML文件的方法示例
2017/02/03 Javascript
Vue验证码60秒倒计时功能简单实例代码
2018/06/22 Javascript
基于vue v-for 多层循环嵌套获取行数的方法
2018/09/26 Javascript
JavaScript时间与时间戳的转换操作实例分析
2018/12/07 Javascript
详解vue-cli3 中跨域解决方案
2019/04/10 Javascript
[03:56]显微镜下的DOTA2第十一期——鬼畜的死亡先知播音员
2014/06/23 DOTA
[01:10:58]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
Django框架中处理URLconf中特定的URL的方法
2015/07/20 Python
tensorflow识别自己手写数字
2018/03/14 Python
使用Python设计一个代码统计工具
2018/04/04 Python
Python实现的本地文件搜索功能示例【测试可用】
2018/05/30 Python
Python中函数参数调用方式分析
2018/08/09 Python
使用python生成杨辉三角形的示例代码
2018/08/29 Python
详解Python发送email的三种方式
2018/10/18 Python
Python3操作MongoDB增册改查等方法详解
2020/02/10 Python
pyecharts在数据可视化中的应用详解
2020/06/08 Python
python实现从ftp上下载文件的实例方法
2020/07/19 Python
python super()函数的基本使用
2020/09/10 Python
加拿大最大的钻石商店:Peoples Jewellers
2018/01/01 全球购物
奥兰多迪士尼门票折扣:Undercover Tourist
2018/07/09 全球购物
广告设计专业自荐信范文
2013/11/14 职场文书
销售内勤岗位职责
2014/04/15 职场文书
公司捐款倡议书
2014/05/14 职场文书
公安交警中队队长个人对照检查材料思想汇报
2014/10/05 职场文书
校长师德表现自我评价
2015/03/04 职场文书
Python 键盘事件详解
2021/11/11 Python
Python经常使用的一些内置函数
2022/04/11 Python