程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php5 apache 2.2 webservice 創建與配置(java)

php5 apache 2.2 webservice 創建與配置(java)

編輯:關於PHP編程

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接口文件

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 函數


其它函數就不一一測試了截圖了
如果有不對的地方,請指出 謝謝

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved