Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:mi_getsessionmanagement_pu

mi_GetSessionManagement_Pu

Gibt ein oder alle zu einer Benutzer-Sitzung hinterlegte(s) Key-Value-Paar(e) zurück

Anmerkung zum Parameter „UpdateDateAndTime“ :

Bei jedem Aufruf dieser Prozedur werden als erstes alle Einträge aus „SessionManagement“ gelöscht, die älter als 30 Minuten bzw. älter als die in „Settings“ zum Schlüssel „InvalidateSessionDataAfterXMinutes“ konfigurierte Anzahl Minuten sind ! Daher kann man mit „UpdateDateAndTime“ bewirken, daß der/die ermittelte(n) Datensatz/Datensätze aktualisiert wird/werden, um so quasi die „Lebensdauer zu verlängern“.

Hinweis :
Tatsächlich aktualisiert wird ein Eintrag aber nur, wenn der Zeitpunkt der letzten Aktualisierung länger als 1/3 der Ablaufzeit (von Einträgen) vom aktuellen Zeitpunkt zurückliegt. Die Ablaufzeit beträgt wie oben bereits geschildert 30 Minuten bzw. die in „Settings“ zum Schlüssel „InvalidateSessionDataAfterXMinutes“ konfigurierte Anzahl Minuten.

HTTP-MethodGET
HTTP-AuthOptional
Tags
Engine-Kategoriemiscellaneous
Engine-TypDaten-Ermittlung
Letzte Aktualisierung7.0.8 (2015-08-21)

Parameter

Name 1) Standard-Wert Beschreibung 2) SQL-Datentyp3) ab Version
SessionID ID einer Sitzung - im Regelfall z.B. die „UniqueID“ eines Besuchers (Tabelle „Visitors“)
varchar(50)3.5.0
KeyVariable Name eines Schlüssels, zu dem der für die Sitzung „SessionID“ hinterlegte Wert zurückgegeben werden soll. „NULL“ angeben, um die Werte zu ALLEN hinterlegten Schlüsseln zu bekommen.
varchar(50)3.5.0
UpdateDateAndTime1 Gibt an, ob der Eintrag zum Schlüssel „KeyVariable“ bzw. alle Einträge der Session „SessionID“ aktualisiert werden sollen („1“) oder nicht („0“).
Hintergrund : s. Beschreibung !
bit3.5.0
SelectResult1 Dieser Parameter wird nur beachtet, falls „KeyVariable“ angegeben ist !
„0“ : Ergebnis nur über den Rückgabeparameter „Value“ ausgeben
„1“ : ZUSÄTZLICH eine Rückgabemenge liefern
bit3.5.0

Rückgabe

wenn SelectResult = 1 und KeyVariable is NOT NULL

Spaltenname Beschreibung SQL-Datentyp4) ab Version
ValueZur Session „SessionID“ hinterlegter Wert zum Schlüssel „KeyVariable“
varchar(255)3.5.0

wenn KeyVariable is NULL

Spaltenname Beschreibung SQL-Datentyp5) ab Version
KeyVariableEin Schlüssel, zu dem für die Session „SessionID“ der Wert „Value“ hinterlegt ist
varchar(50)3.5.19
ValueDer zum Schlüssel „KeyVariable“ hinterlegte Wert (für die Session „SessionID“)
varchar(255)3.5.19
DateAndTimeZeitpunkt, wann der Eintrag „Value“ zum Schlüssel „KeyVariable“ zuletzt aktualisiert wurde
datetime3.5.19

Output-Parameter

ValueAusgabeparameter für den zum Schlüssel „KeyVariable“ hinterlegten Wert - wird natürlich nur belegt, falls „KeyVariable“ angegeben ist !

Mögliche Return-Codes

Code Beschreibung Quelle 6)
-569Der Benutzer hat kein Ausführungsrecht für die Prozedurnur indirekt
-567Die Prozedur darf z. Zt. nicht ausgeführt werdennur indirekt
-566Die Prozedur darf mit den übergebenen Parametern nicht ausgeführt werdennur indirekt
-535Das Datum liegt nicht in der Vergangenheitnur indirekt
-530Der Wert ist nicht konvertierbarnur indirekt
-510Der Benutzer ist nicht registriertnur indirekt
-504Es ist ein Problem aufgetreten, das nicht gelöst werden kann, Prozedur wird daher abgebrochennur indirekt
-502Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen)nur indirekt
-500Falsche Parameternur indirekt

XML-Schema

Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.

Historie

7.0.8 2015-08-211. Implementierung des neuen „Settings“-Eintrags „InvalidateSessionDataAfterXMinutes“
2. Allgemeine Quellcode-Anpassungen an den aktuellen Standard
3. „Start-/Finish-Procedure“-Logik eingebaut
4.0.0 2003-04-03Kleine Veränderung am Quellcode - nur „kosmetischer“ Natur
3.5.19 2002-06-17
3.5.10 2001-07-14
3.5.0 2000-11-23Erstmalig in dieser Version erstellt

Code-Snippets

Engine Playground

Der folgende Link öffnet in einem separaten Fenster den Engine Playground der fest mit dem dbap-demo System verbunden ist:

cURL

Unformatierte Ausgabe:

curl -X GET  'http://<partner>-<project>.dstore.de/default/engine/mi_GetSessionManagement_Pu?SessionID=<value>&KeyVariable=<value>'

Mit xmllint 7) formatierte Ausgabe:

curl -X GET  'http://<partner>-<project>.dstore.de/default/engine/mi_GetSessionManagement_Pu?SessionID=<value>&KeyVariable=<value>' | xmllint --format -
dStore_php
use dStore_php\WebService;
 
$service = new WebService\Service( WebService\Scheme::HTTP,'<partner>-<project>.dstore.de', 80);
 
$request = new WebService\Requests\Engine\Procedure\Request(
			new WebService\Requests\AccessData('default'),
	'mi_GetSessionManagement_Pu',
		array(
			'SessionID' => '<value>',
			'KeyVariable' => '<value>',
			// 'UpdateDateAndTime' => 1,
			// 'SelectResult' => 1
		)
);
 
$service->execute($request);
 
			$xml_result = $request->getResponse()->getBody()->toSimpleXmlDocument();
			$ResultSet = $xml_result->getRowsAsArray();
 
$OutputParams = $xml_result->getOutputParametersAsArray();
engine/execute

XML zur Ausführung mit der Methode engine/execute, z.B. per

curl --header 'Content-Type: application/xml' -X POST 'http://<partner>-<kunde>.dstore.de/default/engine/execute' -d '<xml-daten>'
<?xml version="1.0" encoding="UTF-8"?>
<ListOfBatches>
	<Batch No="0">
		<Procedure Name="mi_GetSessionManagement_Pu">
			<Parameters>
				<Parameter Name="SessionID"><!-- varchar value --></Parameter>
				<Parameter Name="KeyVariable"><!-- varchar value --></Parameter>
				<!-- <Parameter Name="UpdateDateAndTime">1</Parameter> -->
				<!-- <Parameter Name="SelectResult">1</Parameter> -->
			</Parameters>
		</Procedure>
	</Batch>
</ListOfBatches>
1)
Pflichtparameter sind unterstrichen
6)
direkt meint „von der Prozedur selber“ und indirekt meint „von intern aufgerufenen Unterprozeduren“
7)
I.d.R. auf Unix-artigen Systemen bereits installiert, Bestandteil der libxml2, siehe http://www.xmlsoft.org
engine/procedures/mi_getsessionmanagement_pu.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)