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 相关文章推荐
[FAQ]PHP中的一些常识:类篇
Oct 09 PHP
php结合表单实现一些简单功能的例子
Jun 04 PHP
php 操作调试的方法
Jul 12 PHP
PHP 数组和字符串互相转换实现方法
Mar 26 PHP
如何给phpcms v9增加类似于phpcms 2008中的关键词表
Jul 01 PHP
php获取网页标题和内容函数(不包含html标签)
Feb 03 PHP
php计算当前程序执行时间示例
Apr 24 PHP
php中动态修改ini配置
Oct 14 PHP
php实现购物车功能(以大苹果购物网为例)
Mar 09 PHP
PHP字典树(Trie树)定义与实现方法示例
Oct 09 PHP
为Plesk PHP7启用Oracle OCI8扩展方法总结
Mar 29 PHP
PHP7 新增功能
Mar 09 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
福利彩票幸运号码自动生成器
2006/10/09 PHP
php计算几分钟前、几小时前、几天前的几个函数、类分享
2014/04/09 PHP
学习YUI.Ext 第七天--关于View&amp;JSONView
2007/03/10 Javascript
JavaScript—window对象使用示例
2013/12/09 Javascript
Javascript 按位与运算符 (&amp;)使用介绍
2014/02/04 Javascript
javascript 获取HTML DOM父、子、临近节点
2014/06/16 Javascript
javascript中hasOwnProperty() 方法使用指南
2015/03/09 Javascript
JavaScript实现文字跟随鼠标特效
2015/08/06 Javascript
canvas实现手机端用来上传用户头像的代码
2016/10/20 Javascript
js实现上传文件添加和删除文件选择框
2016/10/24 Javascript
BootStrap框架个人总结(bootstrap框架、导航条、下拉菜单、轮播广告carousel、栅格系统布局、标签页tabs、模态框、菜单定位)
2016/12/01 Javascript
Node.js学习入门
2017/01/03 Javascript
前端必备插件之纯原生JS的瀑布流插件Macy.js
2017/11/22 Javascript
vue中使用sessionStorage记住密码功能
2018/07/24 Javascript
bootstrap里bootstrap动态加载下拉框的实例讲解
2018/08/10 Javascript
Vue2.X和Vue3.0数据响应原理变化的区别
2019/11/07 Javascript
详解vue 组件的实现原理
2020/11/12 Javascript
Python中的getopt函数使用详解
2015/07/28 Python
如何使用七牛Python SDK写一个同步脚本及使用教程
2015/08/23 Python
编写多线程Python服务器 最适合基础
2018/09/14 Python
用python标准库difflib比较两份文件的异同详解
2018/11/16 Python
Python函数参数类型及排序原理总结
2019/12/19 Python
python 链接sqlserver 写接口实例
2020/03/11 Python
详解python tkinter 图片插入问题
2020/09/03 Python
Python使用Pygame绘制时钟
2020/11/29 Python
澳大利亚正品化妆品之家:Cosmetic Capital
2017/07/03 全球购物
高一新生军训感言
2014/03/02 职场文书
2014全国两会学习心得体会1000字
2014/03/10 职场文书
团队执行力培训心得体会
2015/08/15 职场文书
2016年教师党员承诺书范文
2016/03/24 职场文书
800字作文之大雪
2019/12/04 职场文书
导游词之泉州崇武古城
2019/12/20 职场文书
详解Python 3.10 中的新功能和变化
2021/04/28 Python
Nginx如何配置Http、Https、WS、WSS的方法步骤
2021/05/11 Servers
go 实现简易端口扫描的示例
2021/05/22 Golang
python数据可视化JupyterLab实用扩展程序Mito
2021/11/20 Python