评论

收藏

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

web服务器 web服务器 发布于:2021-08-12 15:31 | 阅读数:582 | 评论:0

php 5 Apache 2.2 webservice 创建与配置
测试工具:wsCaller.jar(此文是给java程序调用的webservice)
提示:要运行wsCaller.jar要选安装jdk如果没有安装jdk则wsCaller.jar会以压缩包的形式显示
1写webservice要用到的接口
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
classservice
{
functionadd($a,$b){
$c=$a+$b;
return$c;
}
functionstr($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=newSoapServer('testwsdl.wsdl',array('uri'=> 'http://webserver.com/','encoding'=>'utf-8','soap_version'=> SOAP_1_2 ));
$server->setClass("service");
$server->handle();
?>
2.生成wsdl文件
菜单中
File--&agrave;Export---&agrave;php选中“wsdl file”然后下一步(图1)
DSC0000.png

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

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

出现下图(图4)
DSC0003.jpg

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

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

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

函数添加新参数
找到message name=”函数名”中直接复制一下并把参数改一下参数名
WSDL文件
DSC0007.jpg

Php接口文件
1
2
3
4
functionadd($a,$b,$e){
$c=$a+$b+$e;
return$c;
}
注:$e就是wsdl文件中的c参数
添加新的函数
WSDL复制代码就行; PHP写出对应的函数(看一下选中的部分其实就是复制了一下add这个函数并且直接粘贴在它下面就可以)下面以添加add_bak函数为例
WSDL
1.复制message标签
DSC0008.jpg

2.复制portType中的标签
DSC0009.jpg

3.复制binding标签内容
DSC00010.jpg

PHP
1
2
3
4
functionadd_bak($a,$b,$e){
$c=$a+$b-$e;
return$c;
}
测试结果
add_bak函数
DSC00011.jpg

add函数
DSC00012.jpg

其它函数就不一一测试了截图了
如果有不对的地方,请指出 谢谢

分享到: QQ好友和群QQ好友和群
评论

使用道具 举报