应用场景:现在有个门户平台 (用java开发的)当用户在门户登陆了 再点击我现在的电子商务平台( 用PHP开发的 ),这时候在我的应用中用户应该也同时是登陆状态java那边给的接口文档看了下主要流程是这样:1 门户访问外围系统的Webservice接口,并通过传用户ID来向其申请令牌(即TOKEN,此文档中指票据)。
2 外围系统验证来访服务器IP及用户ID的合法性: 如服务器IP不合法则直接跳转错误提示页面。
3 如服务器IP合法,则验证用户ID合法性;
4 如用户ID不合法,不合法的返回错误代码(001至005),并将错误代码加密后返回给门户系统 
5 如用户ID合法则生成6位随机自然数的票据,将此票据信息、票据对应的用户、票据产生的时间保存到数据库表中,并将票据加密后返回给门户系统;
6 门户得到加密的票据后,对票据进行解密
7 如解密后是6位随机自然数的票据,则将此票据、加密的用户ID、,及外围系统的单点登录地址传给外围系统
8 外围系统得到门户传入的单点登录URL后,验证票据的正确性 让后做相关操作请问我需要用PHP做个webservice吗 ? PHP怎么做webservice呢

解决方案 »

  1.   

    绕来绕去,意思就是java会传递用户ip和id出来让外围的程序验证,如果验证合法就加密一个字符串返回java,不合法则产生错误代码.
    其实问题的关键是你的加密算法要和java的对应,要不然对方解密不了.
    那么外围程序你是一定要写的.实现基本的验证合法性和字符串加密
      

  2.   

    我是新手啊 不太懂webservice 我验证后 加密的字符串如何返回给java那边呢
      

  3.   

    那要看门户那边有没有接收API提供给你
      

  4.   

    你只需调用他们提供的webservice就可以了,推荐使用include_once('nusoap/lib/nusoap.php');
    这个来实现,在百度查下相关资料,很容易实现的
      

  5.   

    ajax调取服务,返回数据,然后通过验证登录记录登录状态不可以吗。
      

  6.   

    nusoap baidu一下
      

  7.   

    曾经做个小示例,记得WSDL还是用zend生成的,你试试,不知道验证除了IP外,还有什么办法,等牛人来吧