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一个找二层目录的小东东
Aug 02 PHP
处理单名多值表单的详解
Jun 08 PHP
利用PHP实现短域名互转
Jul 05 PHP
php cURL和Rolling cURL并发方式比较
Oct 30 PHP
php中的curl使用入门教程和常见用法实例
Apr 10 PHP
php通过隐藏表单控件获取到前两个页面的url
Sep 09 PHP
ThinkPHP中I(),U(),$this-&gt;post()等函数用法
Nov 22 PHP
php中$_POST与php://input的区别实例分析
Jan 07 PHP
php微信开发自定义菜单
Aug 27 PHP
php获取excel文件数据
Apr 21 PHP
php使用环形链表解决约瑟夫问题完整示例
Aug 07 PHP
laravel实现按时间日期进行分组统计方法示例
Mar 23 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脚本的10个技巧(1)
2006/10/09 PHP
php编写一个简单的路由类
2011/04/13 PHP
二进制交叉权限微型php类分享
2014/02/07 PHP
PHP大转盘中奖概率算法实例
2014/10/21 PHP
php使用for语句输出三角形的方法
2015/06/09 PHP
PHP配置把错误日志以邮件方式发送方法(Windows系统)
2015/06/23 PHP
PHP判断字符串长度的两种方法很实用
2015/09/22 PHP
jQuery避免$符和其他JS库冲突的方法对比
2014/02/20 Javascript
jquery trigger伪造a标签的click事件取代window.open方法
2014/06/23 Javascript
JavaScript中对JSON对象的基本操作示例
2016/05/21 Javascript
基于JS组件实现拖动滑块验证功能(代码分享)
2016/11/18 Javascript
Bootstrap3 内联单选和多选框
2016/12/29 Javascript
Mac下使用charles遇到的问题以及解决办法
2017/01/10 Javascript
微信小程序 基础组件与导航组件详细介绍
2017/02/21 Javascript
Centos6.8下Node.js安装教程
2017/05/12 Javascript
jQuery插件FusionCharts绘制的2D双柱状图效果示例【附demo源码】
2017/05/13 jQuery
js实现可以点击收缩或张开的悬浮窗
2017/09/18 Javascript
通过vue-cli来学习修改Webpack多环境配置和发布问题
2017/12/22 Javascript
原生js实现form表单序列化的方法
2018/08/02 Javascript
Vue.js递归组件实现组织架构树和选人功能案例分析
2019/07/03 Javascript
vue-cli2与vue-cli3在一台电脑共存的实现方法
2019/09/25 Javascript
[01:06:18]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第二场 1月26日
2021/03/11 DOTA
自己使用总结Python程序代码片段
2015/06/02 Python
python数据清洗系列之字符串处理详解
2017/02/12 Python
Python实现自动为照片添加日期并分类的方法
2017/09/30 Python
Python实现手写一个类似django的web框架示例
2018/07/20 Python
Linux CentOS Python开发环境搭建教程
2018/11/28 Python
python3.6+django2.0+mysql搭建网站过程详解
2019/07/24 Python
python用quad、dblquad实现一维二维积分的实例详解
2019/11/20 Python
Python实现隐马尔可夫模型的前向后向算法的示例代码
2019/12/31 Python
利用CSS3实现的文字定时向上滚动
2016/08/29 HTML / CSS
科茨沃尔德家居商店:Scotts of Stow
2018/06/29 全球购物
祖国在我心中演讲稿300字
2014/05/04 职场文书
2014年团支部工作总结
2014/11/17 职场文书
社区重阳节活动总结
2015/03/24 职场文书
女方离婚起诉书
2015/05/18 职场文书