The following example shows a Java class that calls FlexContext.getHttpRequest()
to get an HTTPServletRequest object and calls FlexContext.getFlexSession()
to get a FlexSession object. By exposing this class as a remote object, you can make it accessible to a Flex client application; you place the compiled class in the WEB_INF/classes directory
package myROPackage; import flex.messaging.*; import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; public class SessionRO { public HttpServletRequest request; public FlexSession session; public UsefulRemoteObject() { request = FlexContext.getHttpRequest(); session = FlexContext.getFlexSession(); } public String getSessionId() throws Exception { String s = new String(); s = (String) session.getId(); return s; } public String getHeader(String h) throws Exception { String s = new String(); s = (String) request.getHeader(h); return h + "=" + s; } }
The following example shows a Remoting Service destination definition that exposes the SessionRO class as a remote object. You add this destination definition to your Remoting Service configuration file.
... <destination id="myRODestination"> <properties> <source>myROPackage.SessionRO</source> </properties> </destination> ...
The following examples shows an ActionScript snippet for calling the remote object from a Flex client application. You place this code inside a method declaration.
... ro = new RemoteObject(); ro.destination = "myRODestination"; ro.getSessionId.addEventListener("result", getSessionIdResultHandler); ro.getSessionId(); ...