Session expiry method

Ive read the Servlet 2.3 spec and can see no mention of the following - what should a web container do to the session object when the session has expired?
When a client accesses an expired session ,should they be given a null reference, or should the server have called invalidate() on the session, maintaining the object reference, but unbinding all objects on it?
The reason I ask is that I have been given some small web apps to migrate from one j2ee server to another (from Websphere to Weblogic), and as an in between step, Ive got them running on Tomcat 4 on my local machine. I have noticed that the session expiry page of the application is triggered by the session being null, which works on Websphere, but on Weblogic, the session object is not null when it expires, just invalidated, therefore the application does not work as well.

When session expires, container unbounds all attributes, then calls invalidate() method. ( here HttpSessionListener works for listening to session invalidation or expiration )
You can check session is valid by :
  if ( session.isNew() ) {
    // Session is valid
  }OR
  if ( request.isSessionIdValid() ) {
    // Session is valid
  }get it ?
Behrad

Similar Messages

  • Redirecting user to login page after session expiry

    Hi,
    Default session expiry implementation in sap EP6.0 doesn't work properly. To overcome this, we have implemented one component where we check the idle time and throw the user back to the login page if the idle time has exceeded the session expiry period. This component has been added to desktop inner page as an iView. Following is the logic put in this component.
    IAuthentication ia = UMFactory.getAuthenticator();
    ia.logout(httpRequest, httpResponse);
    httpResponse.sendRedirect("/irj/portal");
    We are successfully getting the login page after session expiry. Issue is, our portal server is running on 11111 port. We cannot change this to 80 on unix because of unix limitations for the port number. So we have put one apache web server before our portal server. Apache web server is listening on port 80 and forwarding the request to our portal server.
    Now when user is redirected to the login page, url being shown in the browser is http://<host_name>:11111/irj/portal but I am expecting http://<host_name>/irj/portal (without port). I have tried putting the full url in sendRedirect() method but that too doesn't work.
    Any help is highly appreciated.
    Regards,
    Chandra

    Hi Chandra,
    Let the URL be relative in the sendRedirect i.e.
    httpResponse.sendRedirect("/irj/portal");
    However since you have a Reverse proxy in front, the response header for redirect will not contain the address of the reverse proxy in this case, your servername without port. You have to properly configure your reverse proxy so that the HTTP Headers are changed properly before sending the response to the users.
    Check this URL,
    http://httpd.apache.org/docs/1.3/mod/mod_proxy.html#proxypassreverse
    This gives you the details on configuring your apache.
    Hope this helps.
    Ankur
    P.S. If this helps please reward points.

  • Problem in implements ADF Faces: Detecting and handling user session expiry

    Hello everybody
    I´m trying to implement a method to handle user session expiry as explained by frank nimphius in his blog.
    http://thepeninsulasedge.com/frank_nimphius/2007/08/22/adf-faces-detecting-and-handling-user-session-expiry/
    I have implemented the class bellow and add the filters in web.xml. However when I add the JavaServer Faces Servlet to sign the filter, my hole application get nuts. I try to publish the applicatoin in the OAS and it seems that it already starts expired.
    Someone konw what I´m doing wrong?
    I use the filter
    <filter>
    <filter-name>ApplicationSessionExpiryFilter</filter-name>
    <filter-class>adf.sample.ApplicationSessionExpiryFilter</filter-class>
    <init-param>
    <param-name>SessionTimeoutRedirect</param-name>
    <param-value>SessionExpired.jspx</param-value>
    </init-param>
    </filter>
    then I add
    XML:
    <filter-mapping>
    <filter-name>ApplicationSessionExpiryFilter</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
    </filter-mapping>
    package adf.sample;
    import java.io.IOException;
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    this is the class
    public class ApplicationSessionExpiryFilter implements Filter {
    private FilterConfig _filterConfig = null;
    public void init(FilterConfig filterConfig) throws ServletException {
    _filterConfig = filterConfig;
    public void destroy() {
    _filterConfig = null;
    public void doFilter(ServletRequest request, ServletResponse response,
    FilterChain chain) throws IOException, ServletException {
    String requestedSession = ((HttpServletRequest)request).getRequestedSessionId();
    String currentWebSession = ((HttpServletRequest)request).getSession().getId();
    boolean sessionOk = currentWebSession.equalsIgnoreCase(requestedSession);
    // if the requested session is null then this is the first application
    // request and "false" is acceptable
    if (!sessionOk && requestedSession != null){
    // the session has expired or renewed. Redirect request
    ((HttpServletResponse) response).sendRedirect(_filterConfig.getInitParameter("SessionTimeoutRedirect"));
    else{
    chain.doFilter(request, response);
    I'm really having trouble controlling user sessions. if someone know where I can get materials to learn how to implements session in Jdev ADF + BC, I´m very grateful.
    Thank you Marnie

    The class works fine.. the issue is when I add the this code into web.xml
    <filter-mapping>
    <filter-name>ApplicationSessionExpiryFilter</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
    </filter-mapping>
    bellow the web.xml
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <web-app>
    <description>Empty web.xml file for Web Application</description>
    <context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>client</param-value>
    </context-param>
    <context-param>
    <param-name>CpxFileName</param-name>
    <param-value>userinterface.DataBindings</param-value>
    </context-param>
    <filter>
    <filter-name>ApplicationSessionExpiryFilter</filter-name>
    <filter-class>view.managedBean.ApplicationSessionExpiryFilter</filter-class>
    </filter>
    <filter>
    <filter-name>adfFaces</filter-name>
    <filter-class>oracle.adf.view.faces.webapp.AdfFacesFilter</filter-class>
    </filter>
    <filter>
    <filter-name>adfBindings</filter-name>
    <filter-class>oracle.adf.model.servlet.ADFBindingFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>ApplicationSessionExpiryFilter</filter-name> ==> the problem occurs when I try to add this code
    <servlet-name>Faces Servlet</servlet-name>
    </filter-mapping>
    <filter-mapping>
    <filter-name>adfFaces</filter-name>
    <servlet-name>Faces Servlet</servlet-name>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>REQUEST</dispatcher>
    </filter-mapping>
    <filter-mapping>
    <filter-name>adfBindings</filter-name>
    <url-pattern>*.jsp</url-pattern>
    </filter-mapping>
    <filter-mapping>
    <filter-name>adfBindings</filter-name>
    <url-pattern>*.jspx</url-pattern>
    </filter-mapping>
    <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
    <servlet-name>resources</servlet-name>
    <servlet-class>oracle.adf.view.faces.webapp.ResourceServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
    <servlet-name>resources</servlet-name>
    <url-pattern>/adf/*</url-pattern>
    </servlet-mapping>
    <session-config>
    <session-timeout>1</session-timeout>
    </session-config>
    <mime-mapping>
    <extension>html</extension>
    <mime-type>text/html</mime-type>
    </mime-mapping>
    <mime-mapping>
    <extension>txt</extension>
    <mime-type>text/pain</mime-type>
    </mime-mapping>
    </web-app>
    By the way, how can I post code on the forum properly?

  • Detecting user session expiry in secure connection

    I have implemented Frank's method of detecting expired session (http://thepeninsulasedge.com/frank_nimphius/2007/08/22/adf-faces-detecting-and-handling-user-session-expiry/)-
    basicaly we call session expired when requested session is not equal to current web session:
    String requestedSession =
    ((HttpServletRequest)request).getRequestedSessionId();
    String currentWebSession =
    ((HttpServletRequest)request).getSession().getId();
    boolean sessionOk =
    currentWebSession.equalsIgnoreCase(requestedSession);
    It works perfectly well when I am launching application in OC4J, but it doesnt if I use JBoss with secure connection and session id in cookie- requestedSession and requestedSession is always the same
    Is there a way to detect session expiry using secure connection?

    Thank You for the answer Frank.
    unfortunately I cannot see full view of how this proposal differ from what I am doing..
    Can You please be more specific...
    As I understand, I am doing exactly the same with:
    String requestedSession =
    ((HttpServletRequest)request).getRequestedSessionId();
    String currentWebSession =
    ((HttpServletRequest)request).getSession().getId();
    or you mean to save currentWebSession somewhere else?

  • Detecting and handling user session expiry

    I have implemented Frank's method of detecting expired session (http://thepeninsulasedge.com/frank_nimphius/2007/08/22/adf-faces-detecting-and-handling-user-session-expiry/)-
    basicaly we call session expired when requested session is not equal to current web session. If requested session is null then we say its innitial request.
    But there is situation when this doesn't work properly:
    We are closing our application, but we dont close the browser. Then if we try to open our application again (initial request) our code detects session expiry error, becouse requested session is not null...
    Is there I way to make it work properly?

    I have implemented Frank's method of detecting expired session (http://thepeninsulasedge.com/frank_nimphius/2007/08/22/adf-faces-detecting-and-handling-user-session-expiry/)-
    basicaly we call session expired when requested session is not equal to current web session. If requested session is null then we say its innitial request.
    But there is situation when this doesn't work properly:
    We are closing our application, but we dont close the browser. Then if we try to open our application again (initial request) our code detects session expiry error, becouse requested session is not null...
    Is there I way to make it work properly?

  • How to call a EJB method from Session bean method

    Hi all,
    I'm new to J2EE programming. I have a simple doubt .
    I have already created a lookup method for EJB bean in Session bean .
    My question is how to call a method of an ENTITY bean (say insertRow) from SESSION bean method(Say invoke_insertRow) .
    Please provide me an example code .
    Thanks in advance.

    InitialContext ctx = new InitialContext();
         GeneralEditor editor = (GeneralEditor) ctx
                        .lookup("GeneralEditorBean/remote");
              GeneralService service = (GeneralService) ctx
                        .lookup("GeneralServiceBean/remote");
              LanMu lm = new LanMu();
              lm.setName("shdfkhsad");
              editor.add(lm);

  • NoSuchMethodException calling a session bean method from a web service

    I am running on NetWeaver 6.40 SP10 on Windows.
    I have a Java class (not a SessionBean) exposed as a web service where I invoke a session bean method with an argument that is another Java class (basically, just a JavaBean with some getters and setters).  I am getting a strange reflection-related error when I invoke a session bean method.  The exception I see is a 'java.lang.reflect.UndeclaredThrowableException', and if I unwrap it with 'ex.getCause()', I see 'java.lang.NoSuchMethodException: com.xx.ejb.PersistentObjectSBObjectImpl0.createR3Config(com.xx.common.R3Config)'
    I have spent several days trying to come up with a testcase for this, but to no avail.  The calling class is:
    --- snip R3UpdateTest.java ---
    package com.xx.server.webse;
    import com.xx.ejb.*;
    import com.xx.common.*;
    import java.util.*;
    import javax.ejb.*;
    import java.rmi.*;
    import javax.naming.*;
    * @author william_woodward
    * To change the template for this generated type comment go to
    * Window>Preferences>Java>Code Generation>Code and Comments
    public class R3UpdateTest {
         public String createR3Config(String a, String b, String c,
                   String d, String e, String f) {
              String retval = "success!";
              try {
                   PersistentObjectSB poSB = getPersistentObjectSB();
                   R3Config r3cfg = new R3Config();
                   r3cfg.setR3HostName(a);
                   r3cfg.setR3SystemNumber(b);
                   r3cfg.setRfcUserName(c);
                   r3cfg.setRfcPassword(d);
                   r3cfg.setRfcClient(e);
                   r3cfg.setRfcLanguage(f);
                   poSB.createR3Config(r3cfg);
              } catch (Exception ex) {
                   retval = "Exception: " + ex + ", Causing Exception : " + ex.getCause();
              return retval;
          * Private methods
         private PersistentObjectSB getPersistentObjectSB() throws RemoteException, CreateException, NamingException {
              Properties props = new Properties();
              props.put(Context.INITIAL_CONTEXT_FACTORY, "com.sap.engine.services.jndi.InitialContextFactoryImpl");
              props.put(Context.PROVIDER_URL, "localhost:50004");
              InitialContext ctx;
              ctx = new InitialContext(props);
              PersistentObjectSBHome poSBHome =
                   (PersistentObjectSBHome) javax.rmi.PortableRemoteObject.narrow(
                        ctx.lookup("xx.com/CMPOBEAR/PersistentObjectSBBean"),
                        PersistentObjectSBHome.class);
              return poSBHome.create();
    --- end R3UpdateTest.java ---
    If I change the createR3Config() method to take an argument of class 'Object' instead of an argument of class 'R3Config', and then cast the object back into an R3Config in the method body, it all works fine.
    Any clues, anyone?
    Thanks,
    - Bill
    Message was edited by: Bill Woodward - Fixed some funky formatting

    Sure, I can show them to you.  They are very similar to a couple of non-DC classes/projects I put together to try and duplicate the problem.
    First, the interface, PersistentObjectSB.java:
    package com.xx.ejb;
    import javax.ejb.EJBObject;
    import com.xx.common.R3Config;
    import java.rmi.RemoteException;
    public interface PersistentObjectSB extends EJBObject {
          * Business Method.
         public void updateR3Config(R3Config r3Config) throws RemoteException;
          * Business Method.
         public void createR3Config(R3Config r3Config) throws RemoteException;
    And the implementation, PersistentObjectSBBean.java:
    package com.xx.ejb;
    import java.util.*;
    import javax.ejb.*;
    import javax.naming.*;
    import com.xx.common.*;
    import com.xx.interfaces.*;
    * @ejbHome <{com.xx.ejb.PersistentObjectSBHome}>
    * @ejbLocal <{com.xx.ejb.PersistentObjectSBLocal}>
    * @ejbLocalHome <{com.xx.ejb.PersistentObjectSBLocalHome}>
    * @ejbRemote <{com.xx.ejb.PersistentObjectSB}>
    * @stateless
    public class PersistentObjectSBBean implements SessionBean {
         private R3ConfigEJBLocalHome _r3ConfigEJBLocalHomeIf = null;
         public void ejbRemove() {
         public void ejbActivate() {
              try {
                   setEJBLocalHome();
              } catch (NamingException e) {
                   throw new EJBException(e);
         public void ejbPassivate() {
         public void setSessionContext(SessionContext context) {
              myContext = context;
         private SessionContext myContext;
          * Create Method.
         public void ejbCreate() throws CreateException {
              try {
                   setEJBLocalHome();
              } catch (NamingException e) {
                   throw new CreateException();
          * Business Method.
         public void updateR3Config(R3Config r3Config) {
              try {
                   R3ConfigPrimaryKey primKey = new R3ConfigPrimaryKey();
                   primKey.r3HostName = r3Config.getR3HostName();
                   primKey.r3SystemNumber = r3Config.getR3SystemNumber();
                   R3ConfigEJBLocal r3ConfigEJBLocal =
                        _r3ConfigEJBLocalHomeIf.findByPrimaryKey(primKey);
                   if (r3ConfigEJBLocal != null) {
                        r3ConfigEJBLocal.updateR3Config(r3Config);
              } catch (Exception e) {
                   // What to do here?
          * Business Method.
         public void createR3Config(R3Config r3Config) {
              try {
                   R3ConfigEJBLocal r3ConfigEJBLocal =
                        _r3ConfigEJBLocalHomeIf.create(r3Config);
              } catch (Exception e) {
                   // What to do here?
         private void setEJBLocalHome() throws NamingException {
              Properties props = new Properties();
              props.put(
                   Context.INITIAL_CONTEXT_FACTORY,
                   "com.sap.engine.services.jndi.InitialContextFactoryImpl");
              InitialContext ctx = new InitialContext(props);
              Object obj = ctx.lookup("localejbs/R3ConfigEJB");
              _r3ConfigEJBLocalHomeIf = (R3ConfigEJBLocalHome) (obj);
    Thanks,
    - Bill

  • Problem Calling Remote Session Bean Method

    Need help. I am trying to call a method in a remote stateless session bean in an EJB in my web application from a stateless session bean in a different EJB in the web application. I am getting a run-time error that says,
    "java.lang.NoClassDefFoundError: dtpitb.common.sb.reports.CommonReportsHome"
    ref = ctx.lookup( jndiName );
    // Cast to Local Home Interface using RMI-IIOP
    commonReportsHome = (CommonReportsHome)
    PortableRemoteObject.narrow(ref, CommonReportsHome.class);
    If while in a session bean of an EJB, I want to call a public method in the session bean of a totally different EJB, is there something in particular I am missing. I can make the call from the web application code. I can make a remote call from this session bean to itself in the exact same fashion. I just can't call a session bean in another EJB. All thoughts are welcome.
    Thanks,
    Pete

    Thanks for replying. That could very well be the case I suppose. I'm using JBuilder and WebLogic, and JBuilder pretty much does all of the deployment descriptor code for me. However, maybe this is something I need to incorporate manually.
    One EJB is in the same project as the web application code. The other EJB (common_ejb) is in another project. The calling session bean is in the project with the web app, and the remote session bean method that I'm targeting is in the common EJB session bean. Both EJBs are included in the web app's WEB-INF\lib dir and in the war file.
    So theoretically, this isn't an unconventional practice I assume?
    Thanks,
    Pete

  • Calling stored procedure from session bean method

    I have a situation like this :
    I have one method on a stateless session bean (and I mark this method as container managed transaction). For database related stuff, I am not using entity beans, I am using my own layer of OR mapping. This method does a lot of stuff and it involves many trips to the database, as a result of which the performance is very poor. I have identified certain pieces of functionality from this method which I think can be moved to stored procedures, while some of the functionality can still remain in the session bean method. So my scenario is like this :
    session bean method start
    store some data in tables(using my OR layer)
    call the stored procedure
    session bean method end
    My question is :
    Will the data that I am storing in tables from within the session bean method, be available to the code executing inside stored proc.
    secondly, how do I sync the transcation which is being initiated by the container with the transaction under which the stored proc is executing or is it that the stored procedure code will also be executing under the container managed transcation.
    Thanks
    Vimal

    Hi Vimal,
    Will the data that I am storing in tables from within
    the session bean method, be available to the code
    executing inside stored proc.There's only one way to find out (isn't there?)
    secondly, how do I sync the transcation which is
    being initiated by the container with the transaction
    under which the stored proc is executing or is it
    that the stored procedure code will also be executing
    under the container managed transcation.Again, why not just "suck it and see!"
    [Or is there some reason why you can't?]
    As I interpret the EJB specification, if the transaction attribute for your session bean method is such that it starts a transaction, then that transaction will be terminated when the method completes -- and every operation that occurs within the framework of that method will be in the one transaction.
    In other words, your database stored procedure should execute within the same transaction as your O/R mapping layer.
    However, how OC4J behaves may not exactly follow what is written in the (EJB) specification. Hence I repeat, "try it and see for yourself".
    Put it this way: as far as I know, the only way that your stored procedure would NOT see the changes made by your O/R mapping layer is if they both executed in separate transactions and the O/R mapping layer did not commit its changes before the stored procedure began its execution.
    Hope this has helped.
    Good Luck,
    Avi.

  • Mod-osso agents session expiry - Query

    Hi,
    My setup details:
    1) I have a OHS server configured with mod-osso agent.
    2) There is a OAM server which has the profile created for this mod-osso agent.In the OAMConsole I set the 'SESSION LIFETIME'(under common settings) to 2min.
    3) When I try to access the protected resource (protected by OSSO agent) it seems to take about 4 mins or so to expire a session.
    As per few documents, "this behavior is seen only for mod-osso agents and that is due to the presence of the OHS cookie.This is by design of mod-osso agents meant to reduce server round-trips."
    I tried to search a lot about the exact working of the OHS-cookie in this regard and how does it count to increase in the session expiry time.
    It will be very helpful ,if I get any details/pointers on this topic.
    Thanks!

    Create a new osso.conf via rreg or OAM console after the WLST command to enable GITO has been executed. The osso.conf file contains entries for the cookie name and the idle time. The osso.conf is encrypted for security reasons.

  • Verify session expiry using BO api

    Hi,
    I have an application connecting to BO server for getting reports. I create a BO session using BO api and successfully getting the reports by suppressing the login page. But now i need to verify the BO session expiry.
    Could any one tell me which BO api should i use to verify this.
    Any help would be highly appreciated

    Hi Ted,
    Thanks for your valuable suggestion, but I am still not able to verify whether the session is expired or not. I have changed all the session time out tag in web.xml of these deployed application on tomcat of BO
    1. businessobjects
    2. adminlaunch
    3. desktoplaunch
    and also on Central Management Server >Servers>Web_IntelligenceReportServer -->Connection Time Out parameter. I have set it to 1 min.
    when I logged into the InfoView, its session time out happens after 1 min. So by these changes I am sure that session is expired after 1 min, but when I do it using a custom application it doesn't tell me whether the session is expired or not.
    Here is my code :
            HttpSession session = request.getSession();
            String logonToken = (String)session.getAttribute("BOSessionToken");
            IEnterpriseSession enterpriseSession =(IEnterpriseSession) session.getAttribute("EnterpriseSession") ;
            try
                 //First time login
                 if(enterpriseSession == null){
                      ISessionMgr sessionMgr = CrystalEnterprise.getSessionMgr();
                      enterpriseSession = sessionMgr.logon(UserName, Password, sCMS, "secEnterprise");
                      logonToken = enterpriseSession.getLogonTokenMgr().createLogonToken("", 60, 100);
                      logger.debug("Retrived Token for reports is --> " + logonToken);
                      // Store the IEnterpriseSession object in the session.
                      session.setAttribute("EnterpriseSession", enterpriseSession);
                      session.setAttribute("BOSessionToken", logonToken);
                 else{
                           // Check where EnterpriseSession is expired or not
                           IInfoStore iStore = (IInfoStore) enterpriseSession.getService("InfoStore");
                           if(iStore == null)//This may fail if the IEnterpriseSession is expired
                                ISessionMgr sessionMgr = CrystalEnterprise.getSessionMgr();
                                enterpriseSession = sessionMgr.logon(UserName, Password, sCMS, "secEnterprise");
                               logonToken = enterpriseSession.getLogonTokenMgr().createLogonToken("", 60, 100);
                               logger.debug("BO token is expired, creating new token --> " + logonToken);
                               // Store the IEnterpriseSession object in the session.
                               session.setAttribute("EnterpriseSession", enterpriseSession);
                               session.setAttribute("BOSessionToken", logonToken);
                           else{     
                                logonToken = (String)session.getAttribute("BOSessionToken");
                                logger.debug("Using the older Token for reports --> " + logonToken);
    The condition if(iStore == null)  is not going to be valid not even a single time even if the session is timed out.
    With Regards,
    Anosh

  • Page Not displayed error upon Session Expiry in Solari Environment

    Hi All,
    I have a web application deployed in Solaris environment.
    Session expiry is handled from the application.
    I have this code for session expiry in my filter class:
    ((HttpServletResponse) _response).sendRedirect("/myapp/view/sessionExpired.jsp");
    When this code is executed Im getting "Page Cannot be Displayed " error is thrown.
    The same scenario works fine windows environment.
    Im facing this issue when it is on Solaris environment.
    Thanks in Advance.
    Cheers,
    Shorath

    I am using basic in my local environment. When we deploy to DEV/QA/PROD server, it will be SSO enabled. The requirement is, when user clicks on Ok button on session expired popup, it should just stay(refresh) on the same page with the pretty URL. Currently it refreshes the page with full URL.
    URL in Browser before session expiry: http://localhost:7101/MyApp/faces/page1
    URL in Browser after session expiry(click ok on popup, refreshes the same page): http://localhost:7101/MyApp/faces/oracle/webcenter/portalapp/pages/page1.jspx

  • MarshalException-Is Enumeration a valid arg type in Session Bean method ??

    Hi,
    I have a session bean method (EJB1.1) that takes Enumeration as one of the arguments. When I calls this remote method, I am getting MarshalException. Is Enumeration is valid argument type for remote methods in EJB 1.1 ??
    The enumeration is returned from the finder method of another Entity Bean. It is pointing to set of Remote Interface objects that are serializable. So it should throw the MarshalException.
    Another observation - This code works fine with WebLogic Server 5.1. I get this exception while running this code on Sybase Application Server 3.6.1.
    Thanks

    hi ,
    i am also facing same prob.
    if u have solved it out
    it would be very kind of u if u mail me the sol. on
    [email protected]
    deepak

  • Problem with getting Entity Beans refreshed within Session bean methods

    I hav following code in session and entity beans:
    Session bean pseudo code: (PrimaryKey is primary key class for the entity
    bean referred here, and MySessionHome is the home interfac class for this
    session bean).
    public class MySession implements SessionBean {
    // This method is present in remote interface class as well.
    public void methodA(PrimaryKey pk) {
    // code to find entity bean by primary key specified.
    update the entity bean, and mark it as isModified.
    public void methodB(PrimaryKey pk) {
    // code to find entity bean by primary key specified.
    do something.
    public void methodC() {
    MySessionHome sessHome = code to lookup sessionhome from JNDI.
    MySessionRI sess = sessHome.create(); // MySessionRI is the remote
    interface class for MySession
    PrimaryKey pk = new PrimaryKey(params);
    sess.methodA(); // LINE ABC1
    sess.methodB(); // LINE ABC2
    all the entity and session bean methods have required as the TX attribute.
    In methodB() on LINE ABC2, the entity bean obtained by findByPrimaryKey does
    not reflect the changes made in call to methodA() on LINE ABC1.
    Now if I change the LINE ABC1 and LINE ABC2 to
    methodA(); // LINE ABC1
    methodB(); // LINE ABC2
    in this case the entity bean obtained in methodB() has the changes made in
    methodA().
    Any idea why this is happening?

    Hi ad13217 and thanks for reply.
    I'm sorry but my code is like this:
    javax.naming.Context ctx=new javax.naming.InitialContext();
    arguments was an error on copy, but it doesn't work.
    Thanks
    Fil

  • Handling user session expiry

    I am trying to implements Frank's way of detecting session expiry.(http://thepeninsulasedge.com/frank_nimphius/2007/08/22/adf-faces-detecting-and-handling-user-session-expiry/)
    It looks so simple and works perfectly well on test application in OC4J servers...
    But it doesnt work on my JBoss.
    Basicaly you take requestSession and currentWebSession in filter and compare them like this:
    String requestedSession = ((HttpServletRequest)request).getRequestedSessionId();
    String currentWebSession = ((HttpServletRequest)request).getSession().getId();
    If session id's are not equal, then it is expired session...But on my JBoss I always get equal session ids and never get requestedSession null (you should get null on initial session)!!! I am realy stuck with this
    I try checking if requested session is valid with isRequestedSessionIdValid() and I always get valid on my JBoss... on OC4J it works properly as well...
    Maybe this has something to do with my secure connection on JBoss?
    Can someone please give me something to hold to!?

    I am trying to implements Frank's way of detecting session expiry.(http://thepeninsulasedge.com/frank_nimphius/2007/08/22/adf-faces-detecting-and-handling-user-session-expiry/)
    It looks so simple and works perfectly well on test application in OC4J servers...
    But it doesnt work on my JBoss.
    Basicaly you take requestSession and currentWebSession in filter and compare them like this:
    String requestedSession = ((HttpServletRequest)request).getRequestedSessionId();
    String currentWebSession = ((HttpServletRequest)request).getSession().getId();
    If session id's are not equal, then it is expired session...But on my JBoss I always get equal session ids and never get requestedSession null (you should get null on initial session)!!! I am realy stuck with this
    I try checking if requested session is valid with isRequestedSessionIdValid() and I always get valid on my JBoss... on OC4J it works properly as well...
    Maybe this has something to do with my secure connection on JBoss?
    Can someone please give me something to hold to!?

Maybe you are looking for

  • Report for release strategy

    Hi, Is there a report for PR/PO release strategy? Thanks in advance!

  • Photosmart 7520 on wireless network no longer recognized by laptop

    The printer was fully functional on my wireless network, accessible by phone, tablet & laptop. Now it is not recognized by the laptop but still usable by other devices through the wireless network. The laptop is Windows 7 professional. The laptop and

  • Contact Picture Size for iPhone Calls (4S, iOS 6.1.1)

    I recently updated to iOS 6.1, and even more recently to 6.1.1.  My problem is when I receive a phone call, the contact's picture is now full screen. Previously, it was a thumbnail size picture in the top right area of the screen.  I much rather pref

  • Intel-dri and mesa-dri and vdpau in general

    I updated today and allowed pacman to replace intel-dri with mesa-dri. There is an optdep called mesa-vdpau but I don't see anything about this on the wiki for intel graphics.  Can someone set me straight? What drivers do I need for my in CPU graphic

  • File to IDOC (content conversion)

    Hi, My scenario is File to IDOC. My input file is as "AAA",399,"DD",20050302,100642,3289 "B01","E",20051,39.1,"AC","M","L" "B01","L",20051,38.3,"AC","F","D" "B01","L",20301,37.7,"AC","F","W" "L9",50 wherein the structure should look as follows: <root