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 相关文章推荐
MySQL的FIND_IN_SET函数使用方法分享
Mar 27 PHP
php shell超强免杀、减少体积工具实现代码
Oct 16 PHP
PHP导航下拉菜单的实现如此简单
Sep 22 PHP
免费手机号码归属地API查询接口和PHP使用实例分享
Apr 10 PHP
windows中为php安装mongodb与memcache
Jan 06 PHP
php实现专业获取网站SEO信息类实例
Apr 02 PHP
JavaScript实现滚动栏效果的方法
Apr 27 PHP
PHP的APC模块实现上传进度条
Oct 27 PHP
php实现图片缩略图的方法
Mar 29 PHP
PHP通过引用传递参数用法分析
Dec 01 PHP
Laravel框架实现的批量删除功能示例
Jan 16 PHP
Laravel 连接(Join)示例
Oct 16 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与javascript对多项选择的处理
2006/10/09 PHP
CURL状态码列表(详细)
2013/06/27 PHP
curl实现站外采集的方法和技巧
2014/01/31 PHP
基于PHP技术开发客服工单系统
2016/01/06 PHP
PHP中Trait及其应用详解
2017/02/14 PHP
ajax+php实现无刷新验证手机号的实例
2017/12/22 PHP
如何利用PHP实现上传图片功能详解
2020/09/24 PHP
js 3种归并操作的实例代码
2013/10/30 Javascript
javascript禁制后退键(Backspace)实例代码
2013/11/15 Javascript
Javascript实现滚动图片新闻的实例代码
2013/11/27 Javascript
jQuery不使用插件及swf实现无刷新文件上传
2014/12/08 Javascript
javascript仿京东导航左侧分类导航下拉菜单效果
2020/11/25 Javascript
使用jQuery.Qrcode插件在客户端动态生成二维码并添加自定义Logo
2016/09/01 Javascript
详解JavaScript树结构
2017/01/09 Javascript
vue-resourse将json数据输出实例
2017/03/08 Javascript
利用Javascript获取选择文本所在的句子详解
2017/12/03 Javascript
layui 设置table 行的高度方法
2018/08/17 Javascript
微信小程序非跳转式组件授权登录的方法示例
2019/05/22 Javascript
[01:53]3.19 DOTA2发布会 现场精彩Coser表演
2014/03/25 DOTA
python写的一个文本编辑器
2014/01/23 Python
详解Python中find()方法的使用
2015/05/18 Python
在Python的Django框架中编写编译函数
2015/07/20 Python
使用Python来编写HTTP服务器的超级指南
2016/02/18 Python
对python Tkinter Text的用法详解
2018/10/11 Python
python统计字符的个数代码实例
2020/02/07 Python
DataFrame 数据合并实现(merge,join,concat)
2020/06/14 Python
捷克领先的户外服装及配件市场零售商:ALPINE PRO
2018/01/09 全球购物
Under Armour澳大利亚官网:美国知名的高端功能性运动品牌
2018/02/22 全球购物
Urban Decay官方网站:美国化妆品品牌
2020/06/04 全球购物
优秀团员个人事迹材料
2014/01/29 职场文书
难忘的一天教学反思
2014/04/30 职场文书
国庆促销活动总结
2014/08/29 职场文书
投资意向协议书
2015/01/29 职场文书
读《茶花女》有感:山茶花的盛开与凋零
2020/01/17 职场文书
python绘制箱型图
2021/04/27 Python
MySQL GTID复制的具体使用
2022/05/20 MySQL