准备:

在使用soap之前先做好准备工作,在www目录下建一个文件,在文件下添加如下内容

<?php echo phpinfo();?>运行此文件,看是否有soap这个模块,如果没有打开php.ini文件,将

extension=php_soap.dll

前面的;去掉,重启apache。

客户端:

在www目录下新建一个php文件,文件名为client.php,在该文件下添加如下内容

$client = new SoapClient(null, array('location' => "http://www.samples.com/Service.php",//服务端的文件位置

'uri'=> "","login" => "outsider","password" => "1234567"//访问服务端文件时的用户名和密码));

$user_info = json_decode($client->user_info());//服务端的方法

$result = $client->show(1,3);//服务端的方法

print_r($user_info->email.".....".$result);

?>服务端:

在www目录下新建一个php文件,文件名为Service.php,在该文件下添加如下内容

if (!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW']) ||

!($_SERVER['PHP_AUTH_USER'] == 'outsider' && $_SERVER['PHP_AUTH_PW'] == '1234567')) {

header('WWW-Authenticate: Basic realm="WEBSERVICE"');

header("HTTP/1.0 401 Unauthorized");

echo "You must enter a valid login ID and password to access this resource/n";

die;

}//验证用户名和密码

class fuck{

function show($one, $two) {

return $one + $two;

}

function user_info() {

$user_info = array(

'name' => 'Outsider',

'sex' => '男',

'email' => 'outsider@outsiderla.me',

'tel' => '1369*******',

);

return json_encode($user_info);

}

}

$server = new SoapServer(null, array('uri' => '', 'location' => 'http://www.samples.com/soapService.php'));

$server->setClass('fuck');//注册fuck类

$server->handle();

?>这样服务端和客户端写完了,现在访问客户端,结果为 outsider@outsiderla.me.....4

php soap 用法,php soap用法相关推荐

  1. (COPY)document.all和document.getElementById用法 document.all用法:

    (COPY)document.all和document.getElementById用法 document.all用法: <html>     <body>       < ...

  2. JObject 用法 、JProperty 用法、JArray 用法 Linq 转 Json

    转: JObject 用法 .JProperty 用法.JArray 用法 Linq 转 Json 1.使用LINQ to JSON前,需要引用Newtonsoft.Json的dll和using Ne ...

  3. 【java SOAP】对SOAP的一个个人印象

    开这个坑源于我现在做的一个项目用到了SOAP.关于SOAP的知识我就不做详细介绍了.我也没有开发过SOAP服务端, 只是要用到客户端. 作为一个意识流选手,我大概说一下我工作过程中对SOAP的印象. ...

  4. C语言task的用法,C# Task 用法

    C# Task 的用法 其实Task跟线程池ThreadPool的功能类似,不过写起来更为简单,直观.代码更简洁了,使用Task来进行操作.可以跟线程一样可以轻松的对执行的方法进行控制. 顺便提一下, ...

  5. mysql日期函数之DATEDIFF() if()用法 case when用法

    mysql日期函数之DATEDIFF() if()用法 case when用法 背景: 用户密码七天后会过期,用户修改密码时会同步添加修改时间进数据库, 登录时校验用户是否需要修改密码, 一开始想的时 ...

  6. c语言(vd6.0) sleep函数用法 及delay用法

    c语言(vd6.0) sleep函数用法 及delay用法 悬赏分:20 | 解决时间:2009-5-20 20:56 | 提问者:杨筱硕 请注明头文件 2个函数都要举例 最佳答案 1.函数名: de ...

  7. C++基础用法—冒号的用法

    C++基础用法-冒号的用法 一.用法一:继承 1.1用法:用在class或struct后面 1.2示例代码 二.用法二:赋值 1.1用法:用在成员函数.构造函数后面 1.2示例代码 1.2.1示例代码 ...

  8. guess在Java中用法_guess的用法

    guess有推测;猜中;以为等意思,那么你知道guess的用法吗?下面跟着学习啦小编一起来学习关于guess的用法及相关知识吧,希望对大家的学习有所帮助! guess的用法 guess的用法1:gue ...

  9. 【Access各种类型变量表示】声明模块变量的用法,变量符号用法,文本型变量.日期型变量,数字型变量,数值型变量的符号表示法

    作 者:麥田   ID:11  城市:上海  QQ:3002789054 摘 要:声明模块变量的用法,变量符号用法,文本型变量.日期型变量,数字型变量,数值型变量的符号用法 正 文: 首先需要在模块声 ...

  10. java soap附件_Axis2用法:soap消息携带附件

    1.附件类File2Attachments soap消息携带附件时,soap消息需要携带符合axis2规范的文件.那么我们需要将普通的文件转化成符合axis2的附件对象的类Attachments.这里 ...

最新文章

  1. 理解java虚拟机工作后了解吗,【深入理解JAVA虚拟机】第4部分.程序编译与代码优化.2.运行期优化。这章提到的具体的优化技术,应该对以后做性能工作会有帮助。...
  2. linux查看服务器负载均衡,Linux服务器负载均衡LB
  3. xadmin 更改后台一级目录名称
  4. 超级数学计算机,超级计算器+
  5. SpringMVC学习08之SSM整合(三)
  6. 使用WS-Trust / STS采样器扩展JMeter
  7. 一款优秀的前端JS框架—AngularJS
  8. 国内网络安全风险评估市场与技术操作
  9. 凸优化第三章凸函数 3.6关于广义不等式的凸性
  10. python论文怎么写_用Python写一个论文降重工具
  11. java导出excel水印_java实现导出带有水印的excel
  12. 基于高德地图导航的路径爬取
  13. java复数类求模_java中实现复数求模
  14. 网页另存word分页
  15. 在ubuntu中添加widows启动项的简单方法
  16. 计算机软考设计师中级真题
  17. java的“看门狗”锁续期可以用php redis这样实现【php锁续期、分布式锁、无锁请求队列超卖】解决【商家超卖(商品库存控制)、用户超买(秒杀订单控制)】问题。非demo 线上一直在用
  18. 工业视觉检测-智能相机在PCB板的错、漏、反、中的应用-缺陷检测准确度大于99.9%
  19. SpringBoot 在main或者普通类中条用service接口
  20. react native FlatList

热门文章

  1. android笔记集one
  2. mooon-agent核心设计图
  3. 网络管理员必备:Windows日志的保护与伪造
  4. Oracle中级篇-物化视图
  5. 多种方式判断PC端,IOS端,移动端
  6. 第三天:完善数据层(controller)真正对接数据库Mysql
  7. mysql热备 binlog日志切割_查看MySQL还原出来的binlog日志中内容方法
  8. golang gin解决跨域:编写一个全局中间件
  9. css-3d旋转相册
  10. Win10显示文件扩展名