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

Feedback