| 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 注: 不要用chrome 打开wsdl文件 ,可能会显示不正常 (可以用ie firfox) 
 
 测试是否可以成功调用 测试工具 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 
 函数添加新参数  找到message name=”函数名” 中直接复制一下并把参数改一下参数名 WSDL文件 
  
<!--[endif]--> Php接口文件 复制代码function add($a,$b,$e){ 
$c=$a+$b+$e; 
return $c; 
} 
 注:$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 函数 
 其它函数就不一一测试了截图了如果有不对的地方,请指出 谢谢
 
 
 |