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

时间:2022-08-24 16:36:33

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--à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)

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)

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标签

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

2.复制portType中的标签

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

3.复制binding标签内容

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

PHP

1

2

3

4

 

functionadd_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)

其它函数就不一一测试了截图了

如果有不对的地方,请指出 谢谢