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

2018-09-07 17:16

阅读:264

  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 =>
$server->setClass(service);
$server->handle();
?>

2.生成wsdl文件

  

菜单中

  

File--àExport---àphp 选中 “wsdl file” 然后下一步 (图1)

  


  

  

File name 是wsdl 文件所在的位置

  

Exported files 下面的文件是你上面刚刚创建的php文件(接口文件)

  

Classes 下面的service 前面的勾要打上

  

URL 中填写接口文件的访问地址 (如:)

  


  

  

点击global settings 出现下图(图3)

  

选择RPC – Oriented

  

然后点击 “ok” 在点击 “Finish”

  


  

  

出现下图(图4)

  


  

  

最后一步就是给 每个参数一个合理的类型(下图)

  

然后保存

  

到此 wsdl文件已经生成

  

  

  

访问路径 (会出现下面内容)

  

如果不出现 则要配置apache 使其支持xml

  

注: 不要用chrome 打开wsdl文件 ,可能会显示不正常 (可以用ie firfox)

  


  


  

  

测试是否可以成功调用

  

测试工具

  

wsCaller.jar

  

注:必需安装JDK 才能运行wsCaller.jar 请不要解压wsCaller.jar

  

  

如果不能正确返回信息 可直接访问你的php 看看会不会报错

  

(本例)

  

  

Php 要支持 soap

  

如果php 版本是5.X 则 编辑

  

extension=php_soap.dll (添加 如果存在则去掉注释)

  

重启一下apache

  

apache 要注意这个文件 mime.types

  

  

  

函数添加新参数

  

找到message name=”函数名” 中直接复制一下并把参数改一下参数名

  

WSDL文件

  


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

  


  

  

2.复制 portType 中的标签

  


  

  

3.复制binding 标签内容

  


PHP
复制代码 代码如下:
function add_bak($a,$b,$e){
$c=$a+$b-$e;
return $c;
}

  

测试结果

  

add_bak 函数

  


  

  

add 函数

  


  

  

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


评论


亲,登录后才可以留言!