php webservice的發布與呼叫
1. 環境配置
配置php.ini,把php_soap.dll前面的分號去掉,
不然會報錯
重啟apache後通過phpinfo()檢視
這樣是表示環境已經支援soap的webservice了,後面的事情就是寫**了。
2. webservice的發布
發布出來的*.wsdl檔案,其實是乙個xml格式的檔案,生成這個檔案可以通過第3方軟體,如zendstudio 就可以生成。
示例,我用以下**生成:
<?php class ctest /** * * @param string $oparams * @return string */ public function add($oparams) } ?>
生成的xml檔案是:
<?xml version="1.0" encoding="utf-8" ?>
生成xml檔案後,就要通過乙個服務發布出去,如:
<?php error_reporting(e_all & ~e_deprecated & ~e_notice); include_once('../class/test.class.php');[l4] $server = new soapserver('wscache/ctest.1.0.wsdl'); $server->setclass('ctest'); $server->handle(); ?>
3. webservice的呼叫
通過上面提供的位址,寫乙個呼叫頁面
<?php error_reporting(e_all & ~e_deprecated & ~e_notice); header("content-type: text/html;charset=utf-8"); $client = new soapclient(''); $str = ''; //呼叫方法一 $r = $client->add(array('oparams'=>$str)); //陣列 //呼叫方法二 //$pparams->oparams = $str; //$r = $client->__call('add',array($pparams));//這個得是物件 var_dump($r); ?>
php webservice簡單應用
首先在php.ini中開啟以下擴充套件 extension php soap.dll extension php openssl.dll 定義webservice介面訪問的方法類service.php 這裡簡單定義兩個方法,主要用於測試 注意方法返回結果是 return,做的時候發現好多文章寫的 e...
redis發發發發
涉及搶購 秒殺 搶票等活動時,為了避免超賣,那麼庫存數量是有限的,但是如果同時下單人數超過了庫存數量,就會導致商品超賣問題。那麼我們怎麼來解決這個問題呢,我的思路如下 偽 sql1 查詢商品庫存 if 庫存數量 0 當沒有併發時,上面的流程看起來是再正常不過了,假設同時兩個人下單,而庫存只有1個了,...
發發專案開發的牢騷!
我們現在做x集團的乙個比較大的專案,我負責開發其中很小比較簡單的兩個功能點。也就是在最近剛剛結束了開發工作和自測,本想總算了,不用經常的加班了。哪知道,禍從天降!我們專案的資料庫設計沒有得到客戶的審核通過。因此在審核的過程中。按客戶的要求我們這個專案的資料庫進行比較大的變動。最大的就我的那兩個功能點...