代码如下:
- <?php
- class MyFramework_Soap_server extends Zend_Soap_Server {
- protected $_login = \'\';
- protected $_password = \'\';
- public function __construct($wsdl = null, array $options = null) {
- parent::__construct($wsdl,$options);
- if(isset($options[\'login\'])){
- $this->_login=$options[\'login\'];
- $this->_password=$options[\'password\'];
- $this->_authenticate();
- }
- }
- private function _authenticate(){
- $this->setAuthenticate($this->_login,$this->_password);
- }
- public function setHttpLogin($login){
- $this->_login=$login;
- }
- public function setHttpPassword($password){
- $this->_password=$password;
- if(isset($this->_login)){
- $this->_authenticate();
- }
- }
- public function setAuthenticate($login,$password){
- if ($_SERVER[\'PHP_AUTH_USER\']!=$login || $_SERVER[\'PHP_AUTH_PW\']!=$password) {
- header(\'WWW-Authenticate: Basic realm="MyFramework Realm"\');
- header(\'HTTP/1.0 401 Unauthorized\');
- echo "You must enter a valid login ID and password to access this resource.\\n";
- exit;
- }
- }
- }
- ?>
复制代码- <?php
- class Soap_server_test {
- public $view = \'\';
- public $params = \'\';
- public $requestObj = \'\';
- public $dbObj = \'\';
- function __construct() {
- $this->view = $GLOBALS[\'view\'];
- $this->params = $GLOBALS[\'params\'];
- $this->requestObj = $GLOBALS[\'requestObj\'];
- $this->dbObj = $GLOBALS[\'dbObj\'];
- }
- function indexAction(){
- if(isset($_GET[\'wsdl\'])) {
- $autodiscover = new MyFramework_Soap_AutoDiscover();
- $autodiscover->setClass(\'Model_Service_SoapClassSetTest\');
- $autodiscover->handle();
- exit;
- } else {
- //$options= array(\'encoding\' => \'UTF-8\',\'login\'=>\'tangjian\',\'password\'=>\'123456\');
- $options= array(\'encoding\' => \'UTF-8\');
- $soap = new MyFramework_Soap_Server("http://tj.MyFramework.com/default/soap_server_test/index?wsdl",$options);
- $soap->setHttpLogin(\'tangjian\');
- $soap->setHttpPassword(\'123456\');
- $soap->setClass(\'Model_Service_SoapClassSetTest\');
- $soap->handle();
- exit;
- }
- }
- function clientAction() {
- //$options= array(\'encoding\' => \'UTF-8\',\'login\'=>\'tangjian\',\'password\'=>\'123456\',
- // \'compression\' =>SOAP_COMPRESSION_GZIP);
- $options= array(\'encoding\' => \'UTF-8\',
- \'compression\' =>SOAP_COMPRESSION_GZIP);
- $client = new MyFramework_Soap_Client(\'http://tj.MyFramework.com/default/soap_server_test/index?wsdl\',$options);
- $client->setHttpLogin(\'tangjian\');
- $client->setHttpPassword(\'123456\');
- $result=$client->getPass(\'tang\',"man");
- print_r($result);
- }
- }
- ?>
复制代码
|