La server intotdeauna se pierde seseiunea creeata la client; practic este generata o alta sesiune.
Am 2 fisiere:
Clientul: test_service_client.php
---------------------------------------------------------------------
Cod: Selectaţi tot
session_name('site');
session_start();
$_SESSION['user_id'] = 1;
$_SESSION['username'] = 'gimi';
print_r(session_id());
print_r($_SESSION);
$aOptions = array('location'=>'http://localhost/test_service_server.php',
'uri'=>'http://localhost');
$oClient = new SoapClient(null, $aOptions);
$mRes = $oClient->getValues('Gimi', 'Today');
print_r($mRes);
---------------------------------------------------------------------
Serverul: test_service_server.php
---------------------------------------------------------------------
Cod: Selectaţi tot
session_name('site');
session_start();
$aOptions = array('uri'=>'http://localhost');
$oServer = new SoapServer(null, $aOptions);
$oServer->setClass('MyClass');
$oServer->setPersistence(SOAP_PERSISTENCE_SESSION);
$oServer->handle();
class MyClass
{
public function getValues($who, $when)
{
//return array('name'=>$who, 'time'=>$when, 'fees'=>array('1'=>'2.90', '3'=>'200'));
return array($_SESSION, session_id());
}
}
---------------------------------------------------------------------
Ca exemplu, ce returneaza apelarea scriptului: test_service_client.php
Cod: Selectaţi tot
SESSID = pt5vig397td2kbfe5fi2aiskb2
Array
(
[user_id] => 1
[username] => gimi
)
------------
si raspunsul fisierului server SOAP
Array
(
[0] => Array
(
[_bogus_session_name] => stdClass Object
(
)
)
[1] => psjgt134t8oob61aik4capbsv0
)
Am nevoie sa folosesc anumite variabile din sesiune in fisierul SERVER SOAP; de exemplu ID-ul user-ului autentificat pentru extragerea din baza de date a unor informatii despre el.
Daca aveti vreo idee cum sa pastrez sesiunea si sa ma folosesc de ea si in fisierul server!
VA MULTUMESC MULT TUTUROR !