日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php的webservice的soapheader认证问题

發布時間:2023/12/19 php 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php的webservice的soapheader认证问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

參數通過類傳輸:
class authentication_header { ?
?? ? private $username; ?
?? ? private $password; ?
?? ? public function __construct($username, $password) { ?
?? ??? ? $this->username = $username; ?
?? ??? ? $this->password = $password; ?
?? ? } ?
}?
服務端:
$wsdl_path = FCPATH.'wsdl/user.wsdl';
$s = new SoapServer($wsdl_path,array('actor' => 'user'));
$s -> setClass("user");
$s -> handle();

客戶端:$wsdl_path = 'http://api.mypharma.com/wsdl/user.wsdl';
$authvalues = new authentication_header('liu','1234456');
$header = new SoapHeader('urn:Solsoft_user', 'Authentication', $authvalues, false, 'user');
$client = new SoapClient($wsdl_path,array('trace'=>1));
$client->__setSoapHeaders(array($header));
$a = $client->status(1);
紅色是服務類的認證方法名稱

服務類:
class user
{
?? ?public $rootPath;
?? ?public $Authenticated;
?? ?public $username;
?? ?public $password;
?? ?function __construct()
?? ?{
?? ??? ?$this->rootPath=dirname(__FILE__);
?? ??? ?require_once $this->rootPath.'/lib/db_class.php';
?? ??? ?require_once $this->rootPath.'/model/api_base_model.php';
?? ?}

?? ?public function Authentication($username,$password)
?? ?{ ?
?? ??? ?$this->username =$username;
?? ??? ?$this->password =$password;
?? ??? ? if($this->username == 'liumeng' && $this->password == '123456'){
?? ??? ??? ?$this->Authenticated = true; ?
?? ??? ? } else { ?
?? ??? ??? ?$this->Authenticated = false;? ?
?? ??? ? }
?? ?}
?? ?
?? ?public function status($id)
?? ?{
?? ??? ?if($this->Authenticated){
?? ??? ??? ?require_once $this->rootPath.'/model/member_model.php';
?? ??? ??? ?$member_model =? new Member_Model();
?? ??? ??? ?$a = $member_model->get_data_by_id($id);
?? ??? ??? ?return json_encode($a);
?? ??? ?}else{
?? ??? ??? ?return json_encode(array('error'=>'wrong username or password!'));
?? ??? ?}
?? ?}
}
紅色是傳遞參數的核心,我試了好長時間才正確,報了N次沒有參數的錯誤,其實還可以通過獲取所有輸入參數分析得到。

轉載于:https://www.cnblogs.com/kudosharry/p/3262121.html

總結

以上是生活随笔為你收集整理的php的webservice的soapheader认证问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。