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 相关文章推荐
php5 non-thread-safe和thread-safe这两个版本的区别分析
Mar 13 PHP
php 模拟POST|GET操作实现代码
Jul 20 PHP
关于php连接mssql:pdo odbc sql server
Jul 20 PHP
深入php处理整数函数的详解
Jun 09 PHP
Yii框架登录流程分析
Dec 03 PHP
php实现从上传文件创建缩略图的方法
Apr 02 PHP
php结合正则批量抓取网页中邮箱地址
May 19 PHP
再推荐十款免费的php开发工具
Nov 09 PHP
ThinkPHP连接Oracle数据库
Apr 22 PHP
php事务回滚简单实现方法示例
Mar 28 PHP
PHP的反射机制实例详解
Mar 29 PHP
PHP PDOStatement::fetchObject讲解
Feb 01 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+MySQL的聊天室设计
2006/10/09 PHP
php多层数组与对象的转换实例代码
2013/08/05 PHP
php页面防重复提交方法总结
2013/11/25 PHP
PHP简单获取上月、本月、近15天、近30天的方法示例
2017/07/03 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
2017/08/28 PHP
fromCharCode和charCodeAt 方法
2006/12/27 Javascript
flexigrid 参数说明
2010/11/23 Javascript
Array的push与unshift方法性能比较分析
2011/03/05 Javascript
JQuery获取或设置ckeditor的数据(示例代码)
2013/11/15 Javascript
简单的邮箱登陆的提示效果类似于yahoo邮箱
2014/02/26 Javascript
jquery ztree实现下拉树形框使用到了json数据
2014/05/14 Javascript
JavaScript数组去重的6个方法
2017/01/21 Javascript
JS闭包用法实例分析
2017/03/27 Javascript
B/S(Web)实时通讯解决方案分享
2017/04/06 Javascript
详解vue-router 2.0 常用基础知识点之导航钩子
2017/05/10 Javascript
AjaxFileUpload.js实现异步上传文件功能
2019/04/19 Javascript
原生js实现贪食蛇小游戏的思路详解
2019/11/26 Javascript
[01:16:50]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第一场 3月7日
2021/03/11 DOTA
Python中的startswith和endswith函数使用实例
2014/08/25 Python
python将MongoDB里的ObjectId转换为时间戳的方法
2015/03/13 Python
在Django的视图(View)外使用Session的方法
2015/07/23 Python
python web框架学习笔记
2016/05/03 Python
Python 脚本实现淘宝准点秒杀功能
2019/11/13 Python
50个强大璀璨的CSS3/JS技术运用实例
2010/02/27 HTML / CSS
在HTML5 canvas里用卷积核进行图像处理的方法
2018/05/02 HTML / CSS
浅析border-radius如何兼容IE
2016/04/19 HTML / CSS
天猫超市:阿里巴巴打造的网上超市
2016/11/02 全球购物
介绍一下Ruby的多线程处理
2013/02/01 面试题
通信工程毕业生求职信
2013/11/16 职场文书
消防安全检查制度
2014/02/04 职场文书
群众路线领导对照材料
2014/08/23 职场文书
党员教师群众路线对照检查材料思想汇报
2014/09/29 职场文书
自荐信格式模板
2015/03/27 职场文书
幼儿园2015年度工作总结
2015/04/01 职场文书
领导干部学习十八届五中全会精神心得体会
2016/01/05 职场文书
python 如何获取页面所有a标签下href的值
2021/05/06 Python