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 相关文章推荐
dede3.1分页文字采集过滤规则详说(图文教程)续二
Apr 03 PHP
简化php模板页面中分页代码的解析
Feb 06 PHP
php入门学习知识点三 PHP上传
Jul 14 PHP
php递归创建和删除文件夹的代码小结
Apr 13 PHP
Erlang的运算符(比较运算符,数值运算符,移位运算符,逻辑运算符)
Jul 23 PHP
PHP 正则判断中文UTF-8或GBK的思路及具体实现
Nov 26 PHP
最新版本PHP 7 vs HHVM 多角度比较
Feb 14 PHP
PHP实现的方程求解示例分析
Nov 11 PHP
php 浮点数比较方法详解
May 05 PHP
Yii2 中实现单点登录的方法
Mar 09 PHP
PHP实现小程序批量通知推送
Nov 27 PHP
PHP实现的杨辉三角求解算法分析
Mar 11 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
探讨:使用XMLSerialize 序列化与反序列化
2013/06/08 PHP
php实现12306火车票余票查询和价格查询(12306火车票查询)
2014/01/14 PHP
CI(CodeIgniter)框架中的增删改查操作
2014/06/10 PHP
浅析PHP关键词替换的类(避免重复替换,保留与还原原始链接)
2015/09/22 PHP
JavaScript 基础篇之对象、数组使用介绍(三)
2012/04/07 Javascript
javascript上传图片前预览图片兼容大多数浏览器
2013/10/25 Javascript
javaScript使用EL表达式的几种方式
2014/05/27 Javascript
JS判断字符串字节数并截取长度的方法
2016/03/05 Javascript
深入浅析search 搜索框的写法
2016/08/02 Javascript
前端弹出对话框 js实现ajax交互
2016/09/09 Javascript
js初始化验证实例详解
2016/11/26 Javascript
详解AngularJS中$filter过滤器使用(自定义过滤器)
2017/02/04 Javascript
详解Angular-cli生成组件修改css成less或sass的实例
2017/07/27 Javascript
原生JS实现日历组件的示例代码
2017/09/22 Javascript
详解Angular5/Angular6项目如何添加热更新(HMR)功能
2018/10/10 Javascript
详解vue页面首次加载缓慢原因及解决方案
2019/11/06 Javascript
python实现批量转换文件编码(批转换编码示例)
2014/01/23 Python
Python写的Tkinter程序屏幕居中方法
2015/03/10 Python
Python3学习urllib的使用方法示例
2017/11/29 Python
Python实现正则表达式匹配任意的邮箱方法
2018/12/20 Python
我用Python抓取了7000 多本电子书案例详解
2019/03/25 Python
django用户登录验证的完整示例代码
2019/07/21 Python
keras自动编码器实现系列之卷积自动编码器操作
2020/07/03 Python
使用pygame实现垃圾分类小游戏功能(已获校级二等奖)
2020/07/23 Python
Foot Locker德国官方网站:美国运动服和鞋类零售商
2018/11/01 全球购物
Happy Socks英国官网:购买五颜六色的袜子
2020/11/03 全球购物
写给女生的道歉信
2014/01/14 职场文书
不服从公司安排检讨书
2014/09/24 职场文书
2015年社区文体活动总结
2015/03/25 职场文书
五年级数学教学反思
2016/02/16 职场文书
2019年房屋委托租赁合同范本(通用版)!
2019/07/17 职场文书
22句经典语录:送给优柔寡断和胡思乱想的朋友们
2019/12/13 职场文书
java多态注意项小结
2021/10/16 Java/Android
MySQL 数据库 增删查改、克隆、外键 等操作
2022/05/11 MySQL
CSS link与@import的区别和用法解析
2023/05/07 HTML / CSS