Copy codeThe Code is as follows:
<? 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;
}
}
}
?>
Copy codeThe Code is as follows:
<? 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 ['dbobbj '];
}
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' => 'hangjian ', 'Password' => '123 ');
$ 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 ('20140901 ');
$ Soap-> setClass ('model _ service_soapclasssettest ');
$ Soap-> handle ();
Exit;
}
}
Function clientAction (){
// $ Options = array ('encoding' => 'utf-8', 'login' => 'hangjian ', 'Password' => '123 ',
// '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 ('20140901 ');
$ Result = $ client-> getPass ('tang', "man ");
Print_r ($ result );
}
}
?>