您的位置:首页 > 运维架构 > Apache

php5 apache 2.2 webservice 创建与配置(java)

2011-01-27 00:00 555 查看
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)



File name 是wsdl 文件所在的位置
Exported files 下面的文件是你上面刚刚创建的php文件(接口文件)
Classes 下面的service 前面的勾要打上
URL 中填写接口文件的访问地址 (如:http://webserver.com/rpcservice.php



点击global settings 出现下图(图3)
选择RPC – Oriented
然后点击 “ok” 在点击 “Finish”



出现下图(图4)



最后一步就是给 每个参数一个合理的类型(下图)
然后保存
到此 wsdl文件已经生成




访问路径 http://webserver.com/testwsdl.wsdl (会出现下面内容)
如果不出现 则要配置apache 使其支持xml
注: [/b]不要用chrome [/b]打开wsdl[/b]文件 [/b],可能会显示不正常 [/b](可以用ie firfox[/b])[/b]



[/b]

测试是否可以成功调用
测试工具
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




函数添加新参数 [/b]
找到message name=”函数名” 中直接复制一下并把参数改一下参数名
WSDL[/b]文件[/b]



<!--[endif]-->
Php[/b]接口文件[/b]
1
function
add(
$a
,
$b
,
$e
){

2
$c
=
$a
+
$b
+
$e
;

3
return
$c
;

4
}

注:$e 就是wsdl文件中的 c 参数
添加新的函数[/b]
WSDL复制代码就行;PHP写出对应的函数 (看一下选中的部分 其实就是复制了一下add 这个函数 并且直接粘贴在它下面就可以) 下面以 添加add_bak 函数为例
WSDL[/b]
1.[/b]复制message [/b]标签[/b]



[/b]

2.[/b]复制 portType [/b]中的标签[/b]



[/b]

3.[/b]复制binding [/b]标签内容[/b]



PHP
 
function add_bak($a,$b,$e){
$c=$a+$b-$e;
return $c;
}


测试结果
add_bak 函数


add 函数


其它函数就不一一测试了截图了
如果有不对的地方,请指出 谢谢
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: