php soap带验证

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

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正则表达式主要用于字符串的模式分割、匹配、查找及替换操作。使用正则表达式在某些简单的环境下可能效率不高,因此如何更好的使用PHP正则表达式需要综合考虑。 我的PHP正则入门,是起源于网上的一篇...

如何实现PHP的计划(定时)任务和暂停任务

如果在服务器做计划任务是件很简单的事情,但是有的时候收条件限制无法使用服务器自带的计划任务,比如买的空间,这时候想要让网站定时执行某些操作(处理数据、生成静态文件、清除缓存...),该怎么办呢? &...

分享一个生成sitemap.xml的类

很多站长在做seo优化的时候都会向各大搜索引擎网站提交站点地图sitemap.xml,同样需要提交。于是专门写了一个生成sitemap.xml的类,支持生成在制定目录下,默认生成在网站根目录下。 分...

PHP清理标签属性

// code from https://www.aslibra.com/ // by hqlulu // replace <img (any code) src="(pic url)"&g...

ecshop搜索热门关键字的调用

码关键字的设定在:后台-商店设置-显示设置--首页搜索的关键词 {if $searchkeywords} {$lang.hot_search} :  {foreach from...

PHP如何设置页面最大执行过期时间

一般在上传较大的附件时,超过30秒会出现网页过期的错误页面,如何处理这个问题呢?以下是处理方法: 1、如果是自己的服务器,可以全局配置:在php.ini 中设置,默认为30秒 max_execut...

发表评论

访客

看不清,换一张

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