参数通过类传输:
class authentication_header {  
     private $username;  
     private $password;  
     public function __construct($username, $password) {  
         $this->username = $username;  
         $this->password = $password;  
     }  

服务端:
$wsdl_path = FCPATH.'wsdl/user.wsdl';
$s = new SoapServer($wsdl_path,array('actor' => 'user'));
$s -> setClass("user");
$s -> handle();

客户端:$wsdl_path = 'http://api.mypharma.com/wsdl/user.wsdl';
$authvalues = new authentication_header('liu','1234456');
$header = new SoapHeader('urn:Solsoft_user', 'Authentication', $authvalues, false, 'user');
$client = new SoapClient($wsdl_path,array('trace'=>1));
$client->__setSoapHeaders(array($header));
$a = $client->status(1);
红色是服务类的认证方法名称

服务类:
class user
{
    public $rootPath;
    public $Authenticated;
    public $username;
    public $password;
    function __construct()
    {
        $this->rootPath=dirname(__FILE__);
        require_once $this->rootPath.'/lib/db_class.php';
        require_once $this->rootPath.'/model/api_base_model.php';
    }

public function Authentication($username,$password)
    {  
        $this->username =$username;
        $this->password =$password;
         if($this->username == 'liumeng' && $this->password == '123456'){
            $this->Authenticated = true;  
         } else {  
            $this->Authenticated = false;   
         }
    }
    
    public function status($id)
    {
        if($this->Authenticated){
            require_once $this->rootPath.'/model/member_model.php';
            $member_model =  new Member_Model();
            $a = $member_model->get_data_by_id($id);
            return json_encode($a);
        }else{
            return json_encode(array('error'=>'wrong username or password!'));
        }
    }
}
红色是传递参数的核心,我试了好长时间才正确,报了N次没有参数的错误,其实还可以通过获取所有输入参数分析得到。

php的webservice的soapheader认证问题的更多相关文章

  1. WebService基于SoapHeader实现安全认证(一)

    本文转载:http://www.cnblogs.com/houleixx/archive/2009/08/22/webservice-soapheader-security.html WebServi ...

  2. WebService基于SoapHeader实现安全认证[webservice][.net][安全][soapheader]

    摘 自: http://blog.sina.com.cn/s/blog_72b7a82d0100yyp8.html WebService基于SoapHeader实现安全认证[webservice][. ...

  3. C#调用Java的WebService添加SOAPHeader验证(2)

    C#调用Java的WebService添加SOAPHeader验证 上一篇链接如上,更像是 Net下采用GET/POST/SOAP方式动态调用WebService的简易灵活方法(C#) 来处理xml, ...

  4. C#调用Java的WebService添加SOAPHeader验证

    C#调用Java的WebService添加SOAPHeader验证(2) 1.问题描述 调用的Java的webservice string Invoke(string func, string req ...

  5. C#访问Java的WebService添加SOAPHeader验证的问题

    原文:C#访问Java的WebService添加SOAPHeader验证的问题 这两天做与公司OA的接口,发现C#访问Java的WebService需要提供一个SOAP的头验证信息,但是WebServ ...

  6. .net 客户端调用java或.net webservice进行soapheader验证

    .net 客户端调用java或.net webservice进行soapheader验证 最近项目中有业务需要跨平台调用web服务,客户端和服务器之间采用非对称加密来保证数据的安全性,webservi ...

  7. WebService基于SoapHeader实现安全认证

    本文仅提供通过设置SoapHeader来控制非法用户对WebService的调用,如果是WebService建议使用WSE3.0来保护Web服务,如果使用的是Viaual Studio 2008可以使 ...

  8. Delphi调用WebService(通过SoapHeader认证)经验总结

    项目(Delphi开发)需要调用另一个系统的WebService.走了不少弯路,现记录总结一下经验.以下是WebService要求: 1.WebService概述 营销Webservice接口采用Ap ...

  9. WebService基于SoapHeader实现安全认证(二)

    支持通过Http请求方法调用webservice,同时支持SoapHeader验证. using Globalegrow.Common; using Globalegrow.Model; using ...

随机推荐

  1. ExtJs布局之viewport

    <!DOCTYPE html> <html> <head> <title>ExtJs</title> <meta http-equiv ...

  2. hdu 4753 Fishhead’s Little Game 博弈论+记忆化搜索

    思路:状态最多有2^12,采用记忆化搜索!! 代码如下: #include<iostream> #include<stdio.h> #include<algorithm& ...

  3. UVA 11481 - Arrange the Numbers 数学

    Consider this sequence {1, 2, 3, . . . , N}, as a initial sequence of first N natural numbers. You ca ...

  4. linux登陆欢迎提示信息的设置

    Linux可以设置登录前后的欢迎信息,虽然没啥技术含量,但却是非常实用的一个小技巧. 实现登录消息的功能,可以修改3个文件. 1./etc/issue 本地登陆显示的信息,本地登录前 2./etc/i ...

  5. RTP-实时协议

    RTP,实时协议被用来为应用程序如音频,视频等的实时数据的传输提供端到端(end to end)的网络传输功能.传输的模型可以是单点传送或是多点传送.数据传输被一个姐妹协议——实时控制协议(RTCP) ...

  6. JavaPersistenceWithHibernate第二版笔记-第五章-Mapping value types-002使用@Embeddable

    一.数据库 二.代码 1. package org.jpwh.model.simple; import javax.persistence.Column; import javax.persisten ...

  7. 【重走Android之路】【Java面向对象基础(一)】数据类型与运算符

    [重走Android之路][基础篇(一)][Java面向对象基础]数据类型与运算符   1.数据类型介绍 在Java中,数据类型分为两种:基本数据类型和引用类型. 基本数据类型共8种,见下表: 基本数 ...

  8. http://www.ruanyifeng.com/blog/2007/03/metadata.html

    http://www.ruanyifeng.com/blog/2007/03/metadata.html

  9. http://my.oschina.net/u/2007041/blog/508520

    http://my.oschina.net/u/2007041/blog/508520

  10. MySQL 数据库性能优化之索引优化

    接着上一篇 MySQL 数据库性能优化之表结构,这是 MySQL数据库性能优化专题 系列的第三篇文章:MySQL 数据库性能优化之索引优化 大家都知道索引对于数据访问的性能有非常关键的作用,都知道索引 ...