php5 apache 2.2 webservice 創(chuàng)建與配置(java)
測試工具:wsCaller.jar (此文是給java程序調(diào)用的webservice)
提示:要運(yùn)行wsCaller.jar 要選安裝jdk 如果沒有安裝jdk 則wsCaller.jar 會(huì)以壓縮包的形式顯示
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 下面的文件是你上面剛剛創(chuàng)建的php文件(接口文件)
Classes 下面的service 前面的勾要打上
URL 中填寫接口文件的訪問地址 (如:http://webserver.com/rpcservice.php)
點(diǎn)擊global settings 出現(xiàn)下圖(圖3)
選擇RPC – Oriented
然后點(diǎn)擊 “ok” 在點(diǎn)擊 “Finish”
出現(xiàn)下圖(圖4)
最后一步就是給 每個(gè)參數(shù)一個(gè)合理的類型(下圖)
然后保存
到此 wsdl文件已經(jīng)生成
訪問路徑 http://webserver.com/testwsdl.wsdl (會(huì)出現(xiàn)下面內(nèi)容)
如果不出現(xiàn) 則要配置apache 使其支持xml
注: 不要用chrome 打開wsdl文件 ,可能會(huì)顯示不正常 (可以用ie firfox)
測試是否可以成功調(diào)用
測試工具
wsCaller.jar
注:必需安裝JDK 才能運(yùn)行wsCaller.jar 請不要解壓wsCaller.jar
如果不能正確返回信息 可直接訪問你的php 看看會(huì)不會(huì)報(bào)錯(cuò)
(本例http://webserver.com/rpcservice.php)
Php 要支持 soap
如果php 版本是5.X 則 編輯 php.ini
extension=php_soap.dll (添加 如果存在則去掉注釋)
重啟一下apache
apache 要注意這個(gè)文件 mime.types
函數(shù)添加新參數(shù)
找到message name=”函數(shù)名” 中直接復(fù)制一下并把參數(shù)改一下參數(shù)名
WSDL文件
<!--[endif]-->
Php接口文件
1 |
function add( $a , $b , $e ){ |
2 |
$c = $a + $b + $e ; |
3 |
return $c ; |
4 |
} |
注:$e 就是wsdl文件中的 c 參數(shù)
添加新的函數(shù)
WSDL復(fù)制代碼就行; PHP寫出對應(yīng)的函數(shù) (看一下選中的部分 其實(shí)就是復(fù)制了一下add 這個(gè)函數(shù) 并且直接粘貼在它下面就可以) 下面以 添加add_bak 函數(shù)為例
WSDL
1.復(fù)制message 標(biāo)簽
2.復(fù)制 portType 中的標(biāo)簽
3.復(fù)制binding 標(biāo)簽內(nèi)容
PHP
function add_bak($a,$b,$e){
$c=$a+$b-$e;
return $c;
}
測試結(jié)果
add_bak 函數(shù)
add 函數(shù)
其它函數(shù)就不一一測試了截圖了
如果有不對的地方,請指出 謝謝
相關(guān)文章
PHP實(shí)現(xiàn)的微信APP支付功能示例【基于TP5框架】
這篇文章主要介紹了PHP實(shí)現(xiàn)的微信APP支付功能,結(jié)合實(shí)例形式分析了基于TP5框架的微信APP支付相關(guān)原理、操作步驟與處理技巧,需要的朋友可以參考下2019-09-09一個(gè)簡單的PHP驗(yàn)證碼實(shí)現(xiàn)代碼
為提高網(wǎng)站安全性,登陸采用驗(yàn)證碼是必不可少的。一款簡單精致的PHP驗(yàn)證碼應(yīng)運(yùn)而生!此驗(yàn)證碼簡潔美觀,源碼簡單,可以自定義修改樣式,是一款不錯(cuò)的驗(yàn)證碼。2014-05-05php中mysql連接和基本操作代碼(快速測試使用,簡單方便)
這篇文章主要介紹了php中mysql連接和基本操作代碼,用于快速測試時(shí)使用,簡單方便,PHP新手必會(huì),需要的朋友可以參考下2014-04-04Yii2框架視圖(View)操作及Layout的使用方法分析
這篇文章主要介紹了Yii2框架視圖(View)操作及Layout的使用方法,結(jié)合具體實(shí)例形式分析了Yii2框架視圖操作及布局layout相關(guān)操作技巧,需要的朋友可以參考下2019-05-05php封裝好的人民幣數(shù)值轉(zhuǎn)中文大寫類
這篇文章主要給大家分享了幾個(gè)php實(shí)現(xiàn)的人民幣數(shù)值轉(zhuǎn)中文大寫的代碼,非常的全面,有需要的小伙伴可以查看下2015-12-12