Почему аутентификация заголовка API мыла не работает для моего сайта - PullRequest
0 голосов
/ 19 июня 2019

Я установил API мыла на своем веб-сайте. И добавьте заголовок аутентификации, чтобы обеспечить безопасность для API.

У меня на сайте работает, если логин / пароль недействителен. Это не показывает сообщение об ошибке.

Я проверяю код, но не могу найти ошибку для своего кода.

Если кто-то упомянул эту ошибку.

Моя кодировка следующая,

SERVER.PHP

<?php
// turn off WSDL caching
ini_set("soap.wsdl_cache_enabled","0");

// model, which uses in web service functions as parameter
class Server
{
    public static function authendicate($header_params){
        if($header_params->username == "user" && $header_params->password == "pass") {
            return true;
        } else {exit;
            throw new SOAPFault('Username or password is wrong',401);
        }
    }
}

CLIENT.PHP

class client {

    public function __construct() {
        $params = array(
            'location' => 'http://localhost/soapapi/server.php',
            'uri' => 'http://localhost/soapapi/server.php',
            'trace' => 1
        );

        $this->instance = new SoapClient(null, $params);
        // $this->instance = new SoapClient('http://localhost/soapapi/server.php?wsdl', ['trace'=> 1, 'cache_wsdl' => WSDL_CACHE_NONE]);

        $auth_params = new stdClass();
        $auth_params->username = "user";
        $auth_params->password = "passs";

        $header_params = new SoapVar($auth_params, SOAP_ENC_OBJECT);
        $header = new SoapHeader('codev','authendicate',$header_params,false);
        $this->instance->__setSoapHeaders(array($header));
    }

    public function getInfo($request_param) {
        return $this->instance->__soapCall('studentRec',$request_param);
    }

}
$client = new client;

...