什麼不說直接上代碼
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 />?>