php webservice soapheader 身分識別驗證

來源:互聯網
上載者:User

什麼不說直接上代碼

soapserver.php

<?php<br />error_reporting(2047);<br />ini_set("soap.wsdl_cache_enabled", "0");<br />class mysoapclass {<br />private $Authenticated =FALSE;<br /> public function authenticate($value){</p><p> //$name =$value->item[0]->value;<br /> //$pwd =$value->item[1]->value;<br />if($value->username == 'admin'&& $value ->password=='123456') {<br /> $this->Authenticated = true;</p><p> } else {<br /> $this->Authenticated = FALSE;<br /> }<br /> }<br />function feline(){</p><p> if($this->Authenticated){<br /> return '成功';<br /> } else {<br /> return '下次成功';<br /> }<br /> }<br />}<br />$server = new SoapServer(null, array('uri' => 'http://test.cheshi.com'));<br />$server->setClass('mysoapclass');<br />$server->handle();<br />?>

soapclient.php

<?php<br />ini_set("soap.wsdl_cache_enabled", "0");<br />class authentication_header {<br /> var $username;<br /> var $password;<br /> public function __construct($username, $password) {<br /> $this->username = $username;<br /> $this->password = $password;<br /> }<br />}</p><p>try {</p><p>$auth = new authentication_header('admin', '123456');</p><p>$authvalues = new SoapVar($auth, SOAP_ENC_OBJECT, 'authenticate','http://test.cheshi.com');</p><p>//$authvalues =array('username'=>'admin','pwd'=>'123456');</p><p>$header = new SoapHeader('http://test.cheshi.com/', 'authenticate', $authvalues,true);</p><p>//$client = new SoapClient('http://test.cheshi.com/webservice/soapserver.php?wsdl');<br />$client = new SoapClient(null, array('uri' => 'http://test.cheshi.com', 'location' => 'http://test.cheshi.com/webservice/soapserver.php', 'trace' => true));</p><p>$re=$client->__setSoapHeaders(array($header));</p><p>echo $result =$client->__soapCall('feline',array());</p><p>}catch (SoapFault $e){<br />echo $e->getMessage();<br />}<br />?>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.