php soap带验证

飘逸的风14年前 (2012-11-17)程序6877

Server端

<?php

class Server {

private $authenticated = false;

 

public function auth($authcode) {

if($authcode === '123456789') {

$this->authenticated = true;

return true;

} else {

throw new SoapFault('403', '403 Forbidden');

}

}

 

public function getData() {

if(!$this->authenticated) {

throw new SoapFault('403', '403 Forbidden');

}

$data = array(

'text' => 'ni mei a'

);

return json_encode($data);

}

}

 

/*//生成wsdl文件

include("SoapDiscovery.class.php");

 

$disco = new SoapDiscovery('Server','Server');

 

$handle = fopen('server.wsdl', 'w+');

fwrite($handle, $disco->getWSDL());

fclose($handle);

*/

 

 

$objSoapServer = new SoapServer("server.wsdl");

// $objSoapServer->setClass("Server");

$serv = new Server;

$objSoapServer->setObject($serv);

$objSoapServer->handle();

?>

 

Client端

 

<?php

try {

$client = new SoapClient('server.wsdl',array("exceptions" => 1));

 

$authvalues = new SoapVar(array('authcode' => '123456789',), SOAP_ENC_OBJECT);

 

$header = new SoapHeader('urn:Server', 'auth', $authvalues, false, SOAP_ACTOR_NEXT);

 

$client->__setSoapHeaders(array($header));

$data = $client->getData();

 

var_dump($data);

} catch (SoapFault $e) {

echo $e->faultstring;

?>

来源:https://type.so/php/php-auth-soap.html

相关文章

百万级PHP网站架构工具箱

在了解过世界最大的PHP站点,Facebook的后台技术后,今天我们来了解一个百万级PHP站点的网站架构:Poppen.de。Poppen.de是德国的一个社交网站,相对Facebook、Flickr...

PHP购物车类,简单易用,移植CodeIgniter,并进行一些优化[附带实例]

个人感觉CodeIgniter用起来方便,但有时候做电子商城网站的时候,没有使用CodeIgniter框架,但想用CodeIgniter里的购物车程序,那么就需要对其购物车类进行修改。但CodeIgn...

PHP 文件上传$_FILES

文件上传表单<form enctype="multipart/form-data" action="URL" method="post">  <inp...

一些需要禁用的PHP危险函数

phpinfo() 功能描述:输出 PHP 环境信息以及相关的模块、WEB 环境等信息。 危险等级:中 passthru() 功能描述:允许执行一个外部程序并回显输出,类似于 exec()。...

强制下载文件的代码(解决了IE下中文文件名乱码问题)

以下这段代码作用是:浏览器提交excel格式的数据和文件名到服务器上,PHP将请求转化为可下载的excel文件,并要求浏览器弹出文件下载提示窗口。中间遇到一个问题是提交的中文文件名直接放到header...

PHP一些代码收藏:验证身份号、根据身份证号获取星座和生肖等

<?php // PHP根据身份证号,自动获取对应的星座函数 function get_xingzuo($cid) { // 根据身份证号,自动返回对应的星座 if (!isIdCard...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。