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数据库开发知多少
Oct 09 PHP
BBS(php &amp; mysql)完整版(七)
Oct 09 PHP
如何在PHP中使用Oracle数据库(6)
Oct 09 PHP
防止MySQL注入或HTML表单滥用的PHP程序
Jan 21 PHP
PHP 在线翻译函数代码
May 07 PHP
让PHP开发者事半功倍的十大技巧小结
Apr 20 PHP
PHP mysql事务问题实例分析
Jan 18 PHP
PHP全局变量与超级全局变量区别分析
Apr 01 PHP
php版微信数据统计接口用法示例
Oct 12 PHP
PDO::_construct讲解
Jan 27 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
Nov 23 PHP
PHP获取类私有属性的3种方法
Sep 10 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函数
2006/10/09 PHP
php 三维饼图的实现代码
2008/09/28 PHP
PHP代码网站如何防范SQL注入漏洞攻击建议分享
2012/03/01 PHP
php 在windows下配置虚拟目录的方法介绍
2013/06/26 PHP
浅析Apache中RewriteCond规则参数的详细介绍
2013/06/30 PHP
php使用post数组的键值创建同名变量并赋值的方法
2015/04/03 PHP
解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法
2015/10/23 PHP
php集成开发环境详解
2019/09/24 PHP
解决php扩展安装不生效问题
2019/10/25 PHP
使用UglifyJS合并/压缩JavaScript的方法
2012/03/07 Javascript
通过JS获取Request.QueryString()参数的值实现方法
2016/09/27 Javascript
详解js数组的完全随机排列算法
2016/12/16 Javascript
详解前端自动化工具gulp自动添加版本号
2016/12/20 Javascript
用jQuery实现可输入多选下拉组合框实例代码
2017/01/18 Javascript
微信小程序 自动登陆PHP源码实例(源码下载)
2017/05/08 Javascript
javascript获取图片的top N主色值方法详解
2018/01/26 Javascript
vue .sync修饰符的使用详解
2018/06/15 Javascript
vue-form表单验证是否为空值的实例详解
2019/10/29 Javascript
vant 时间选择器--开始时间和结束时间实例
2020/11/04 Javascript
[06:07]DOTA2-DPC中国联赛3月5日Recap集锦
2021/03/11 DOTA
Python isinstance判断对象类型
2008/09/06 Python
Python中 Lambda表达式全面解析
2016/11/28 Python
python使用threading获取线程函数返回值的实现方法
2017/11/15 Python
详解Python self 参数
2019/08/30 Python
tensorflow 利用expand_dims和squeeze扩展和压缩tensor维度方式
2020/02/07 Python
python3 实现口罩抽签的功能
2020/03/11 Python
Python解析m3u8拼接下载mp4视频文件的示例代码
2021/03/03 Python
css3动画效果小结(推荐)
2016/07/25 HTML / CSS
碧欧泉美国官网:Biotherm美国
2016/08/31 全球购物
爱我中华教学反思
2014/04/28 职场文书
三严三实学习心得体会
2014/10/13 职场文书
2015年小学教科研工作总结
2015/07/20 职场文书
2016幼儿园新学期寄语
2015/12/03 职场文书
校园安全学习心得体会
2016/01/18 职场文书
基于python实现银行管理系统
2021/04/20 Python
Python实现科学占卜 让视频自动打码
2022/04/09 Python