你能先看看SOAP的处理流程了吗?

解决方案 »

  1.   

    如果对方需要验证,则可能设cookie,验证有多种,可能是cookie,也可能是get传值
    如果对方不需要验证,可设可不设
      

  2.   

    这里怎么可能再 本地浏览器 未和其他站点通讯的情况下,怎么去记录我的已登陆状态.如果是设置 cookies 那么 用户中心服务器和其他站点通讯 怎么能设置这个登陆状态的cookies 呢? 通过soap,你调用它提供给你的方法,远端程序会处理这些请求,标识登录状态的事情不需要你来做。
    你调用web service就行了
      

  3.   

    soap 不太懂, 不过知道cookies 和get 能够实现跨"网"登录。
      

  4.   

    估计后台有共享SESSION数据,而且cookies 可以设置多个域
      

  5.   


    问题在于调用soap 很容易.远端程序处理 标识登陆状态就是要我来做的.而且.原先系统的登陆过程大概就是.用户登陆->服务器设置cookies->更新一个session 表.
    每次用户刷新原先系统页面,大概过程就是->getcookies->更新session表. 似乎这里全是靠客户端cookies 来验证登陆状态的.现在用户中心与客户端的交互 用户中心和原系统的交互 怎么能在客户端设置原系统的cookies 呢? 似乎必须让客户端对原系统发出HTTP 请求,请求个链接才可以吧?
      

  6.   

    比如你传个用户名和密码或者什么的过去
    那边就验证这个用户,验证成功则为这个用户开通个session,不就可以了么?
      

  7.   

    原系统不是用session 来存储登陆状态的验证的. 完全是靠 读取cookies ...
      

  8.   

    那就是你传东西过去,那边就写cookie嘛
      

  9.   

    用户浏览器 C 和 服务器 A 通讯  A 设置 cookies 可以返回C  但是 A 调用 B 的SOAP 服务 B setcookie 的结果是不可能返回到 C 的 这里要实现 C 登陆A 后 打开 B 网站 也是登陆状态,似乎靠 setcookie 不可能...也许只能找其他的办法?
      

  10.   

    要看那边的soap接口是怎么样的。别的你不用管,只要通过HTTP访问那边的soap接口就可以了
    给你个例子:                $client = new soapclient("http://".WEBSERVER."/soapserver.php?wsdl");
                    $array = array(
                        'owner'     => $array['userid'],
                        'password'  => $array['password']
                    );
                    $client->__soapCall('add', $array);
      

  11.   

    问题现在明晰了,
    就是: client C 登陆 SERVER B (ajax)=> B setcookie 设置 C 在本域登陆状态 B => 然后请求 SERVER A 的soap 接口;问: SERVER A 怎么操作 使得 C 打开 A域的网站 就是以登陆身份登陆?server a 先前 也是以 读取 cookie 的方式判断 客户端的登陆状况的...如果 在server A 的soap 服务中写setcookie 其实这个cookie 头是不能返回到 C 的浏览器的.所以 setcookie 返回是不成功的...
      

  12.   

    看晕了,不知道cookie和soap之间有什么联系
      

  13.   

    同上!soap和cookie貌似本身没什么关系,你怎么扯在一起的?