您好我有项目,其中我使用webservices连接到客户端系统。我已经成功完成了连接部分。我必须通过默认用户名,密码,dms-id来验证连接。那部分我也成功了。现在我想将我的登录响应详细信息放在会话中,以便我可以根据登录成功的时间进一步编码。登录成功后我收到login_id和令牌。我想知道我怎么能把这个login_id和令牌放进会话。我对会话很新。我只是想知道如果authenticaton成功,我如何将我的登录详细信息(login_id,token)放入会话中,以便我可以进一步编码。任何想法都将不胜感激。
登录请求
$wsdl = 'http://www.schwackenet.de/awonline/de/service2/SNWebService.php?wsdl';
$options = array('trace' => true);
$params = array(
'user' => utf8_encode('dessenbeck'),
'password' => utf8_encode('dessenbeck'),
'corporate_group_id' => '101',
'dealer_number' => 'INT31303',
'dms_id' => 'A13T2D19',
'dms_image_url' => '',
'dms_keepalive_url' => '',
'dms_followup_url' => ''
);
$client = new SoapClient($wsdl, $options);
$result = $client->Login($params);
var_dump($result);
&GT?;
登录回复
object(stdClass)[2]
public 'token' => string '974jkp024icpl6q3q9nccrgonq9dv0d1' (length=32)
public 'login_id' => int 6102355
public 'status' =>
object(stdClass)[3]
public 'success' => boolean true
public 'code' => int 0
public 'message' => string '' (length=0)
public 'browserURL' => string '' (length=0)
答案 0 :(得分:0)
您需要在文件开头简单添加:
session_start();
然后
$client = new SoapClient($wsdl, $options);
$result = $client->Login($params);
if ($result) { // or if ($result->status->success) {
$_SESSION['login_id'] = $result->login_id;
$_SESSION['token'] = $result->token;
}
在会话中保存数据和
echo $_SESSION['login_id'];
显示会话数据
修改强>
我不是Soap专家,但您可能每次都需要运行$client = new SoapClient($wsdl, $options);
,那么在这种情况下使用会话有什么意义呢?我认为$_SESSION
在这种情况下可以简单地作为变量,但我可能是错的