getContext
Die Systemfunktion j2eeLib.getContext() gibt ein Objekt zurück, das spezifische Details für den Kontext enthält, in dem Ihr Code die j2eeLib-Bibliotheksfunktionen aufruft. Bei dem Kontext kann es sich um JavaServer Faces, REST-RPC-Services oder SOAP-Services handeln. Innerhalb von SOAP-Services unterscheidet sich der Kontext für JAX-RPC (Java API for XML-based RPC) und JAX-WS (Java API for XML Web Services).
Sie müssen einen externen Typ definieren und den Rückgabewert auf diesen Typ festlegen. Sehen Sie dazu die Beispiele in diesem Thema.
Syntax
j2eeLib.getContext()
returns (context Object)
- context
- Abhängig von der Umgebung gibt die Funktion eines der folgenden Kontextobjekte zurück:
- javax.faces.context.ExternalContext
- Der Aufruf wird aus einer JSF-Anwendung gestartet.
- javax.servlet.http.HttpServletRequest
- Der Aufruf wird aus einem REST-RPC-Service in EGL gestartet.
- javax.xml.rpc.server.ServletEndpointContext
- Der Aufruf wird aus einem SOAP-Service in EGL gestartet, der JAX-RPC verwendet.
- javax.xml.ws.WebServiceContext
- Der Aufruf wird aus einem SOAP-Service in EGL gestartet, der JAX-WS verwendet.
Beispiel
Der folgende Code ist Teil eines Programms, das aus einem REST-RPC-Service in EGL aufgerufen wird:
context Object = j2eelib.getContext();
if(context isa HttpServletRequest)
writestdout("----------this is an EGL REST-RPC service");
session HttpSession = (context as HttpServletRequest).getSession();
writestdout("----------http sessionid:" + session.getId());
end
Sie müssen den Typ HttpServletRequest als 'ExternalType' definieren:
externalType HttpServletRequest type JavaObject {packageName = "javax.servlet.http"}
function getSession() returns(HttpSession);
end
Diese Definition erfordert ihrerseits, dass der Wert für HttpSession als 'ExternalType' definiert wird:
externalType HttpSession type JavaObject {packageName = "javax.servlet.http"}
function getId() returns(STRING);
end