Session maintaining

Dear Sir.
i have created a servlet application the problem with it is that I cannot maintain its Session. For example if i logout the values in the database gets deleted but when i click the "Back" button of the explorer the values in the data dase gets regained. Moreover I cannot redirect a page to the login screen if i am Logged out ,my Previous Session pages will be viewed.
I have tried both "req.getSession()" & "session.invalidate()" methods.
Please help mw.

Sibuat84:
First of all, I would like to understand why do you say the values in the database get deleted or regain? Do you mean the values not shown on the page or practically they get deleted or inserted again in the database?
Secondly, whenever you call session.invalidate(), the existing session is killed. Thus, if you want to maintain the session, don't call session.invalidate() untill you really want to kill it.
However, I don't understand why do you want to maintain the session if user has logout.

Similar Messages

  • How to get session.maintain property on server side?

    Is there a way to trap javax.xml.rpc.session.maintain property on the server side in JAX-RPC compliant web service implementation? I would like to know if the client has enabled session.maintain property to true (which false by default). If not, can I specify the web service to be of "Application" or "Session" scope during deployment time? It used to be the case for Apache SOAP processor. I do not see any mention of that in the JAX-RPC spec.
    Thanks for any pointers.
    -Anirban.

    When I first started to work with JAXRPC I had questions about how web services maintained session across multiple calls and also if it was
    possible to maintain session across multiple web services. I downloaded
    the JAXRPC runtime implementation source code and tell you what I found.
    There is a HttpClientTransport class that handles the actual HttpConnection to the server. It checks to see if maintain session is
    set to true or false. If it is set to true it appends the JSESSIONID to the header variables of the request.
    The very first call gets a response back with header variable
    Set-Cookie: JSESSIONID=blahblahblah
    The HttpClientTransport looks for it and if it finds it takes the cookie and stores it somewhere. Every call after that will check to see if session maintain is true or false. If true, it will send
    the header:
    Cookie: JSESSIONID=blahblahblah
    Hope that helps.
    Mike

  • Simple Login and Session maintaining with Mysql

    Hi everybody,
    I'm not expert in Java servlets and I'm writing and application that recognize users and maintain their session trough application's pages.
    This application, after authentication, will displays a table coming from a query where I will have to modify only a "square" ( i Don't know the right english name for it,sorry...) of a row, more exactly the notes
    I need a hand about Session and Login, and if you can post the code of a "row-selectionable" (to modify notes) query resulted table it will be very appreciated ;) (for the table, does'nt matter if it will be a Servlet or a JSP)
    This is my actual Login code, but it doesn't works! (I tried to manage session reading some tutorials around the net)
    package Login;
    import java.sql.*;
    import javax.servlet.http.*;
    import javax.swing.JOptionPane;
    * @author Alessio
    * TODO To change the template for this generated type comment go to
    * Window - Preferences - Java - Code Style - Code Templates
    public class Login extends HttpServlet{
         private Connection con;
         private Statement st;
         private ResultSet rs,rs2;
         boolean autenticato= false;
         public void doGet(HttpServletRequest req,HttpServletResponse res) {
              try{
              Class.forName("com.mysql.jdbc.Driver");
              con=DriverManager.getConnection("jdbc:mysql://localhost:3306/gecoprova","root","argoilcane");
              HttpSession session=req.getSession(true);
              String sessione = session.getId();
              //APRE uno statement e con una query pesca dal DB tutte le tuple che hanno i dati passati allaservlet (nome, cognome,...)
              st=con.createStatement();     
              rs=st.executeQuery("SELECT * FROM anagrafe_procuratori WHERE ragsoc='"+req.getParameter("ID")+"'");
              //se il RESULTSET non � vuoto fa un check per vedere cosa restituisce RULES mentre nel frattempo pone 1 su LOGGED
              PreparedStatement updateProcuratore = con.prepareStatement("UPDATE privilegi_procuratore SET Logged=? WHERE (userid=? AND pass=?)");
              if(rs!=null){
                   if(rs.next())try {
                        st=con.createStatement();
                        rs2=st.executeQuery("SELECT * FROM privilegi_procuratore WHERE (userid='"+req.getParameter("ID")+"' AND pass='"+req.getParameter("pass")+"' AND Logged=0)");
                        if(rs2!=null){
                             if(rs2.next())try {
                                          autenticato = true;
                                          String utente=req.getParameter("ID");
                                          String password=req.getParameter("pass");
                                          HttpSession s= req.getSession(true);
                                          Utente u =(Utente)s.getValue("Login.utente");
                                          if (u==null){
                                               u =new Utente (utente,password);
                                          else{
                                               u.ID=utente;
                                               u.pass=password;
                                          s.putValue("Login.utente",s);
                                            rs2.close();     
                                            con.close();
                                            updateProcuratore.close();
                                            }catch (Exception e){e.printStackTrace();}
                                                 if (autenticato=true){               
                                                 res.sendRedirect("RulezAmministration");
              else{
                   res.sendRedirect("errorlogin.html");
                   }catch (Exception e){e.printStackTrace();}
                                  res.sendRedirect("errorlogin.html");
              else{
                   res.sendRedirect("errorlogin.html");
              res.sendRedirect("errorlogin.html");
              catch(Exception e){
                   try {
                        e.printStackTrace();
                        res.sendRedirect("errorlogin.html");
                   catch(Exception e1){}
         public void doPost(HttpServletRequest req,HttpServletResponse res){
              try{
              HttpSession s=req.getSession(false);
              Utente u=(Utente)s.getValue("Login.utente");
              u.Logout();
              s.putValue("Login.utente",s);
              res.sendRedirect("index.htm");
                   catch(Exception e1){}
    public class RulezAmministration extends HttpServlet{
         private Connection con;
         private Statement st;
         private ResultSet rs;
         public void doGet(HttpServletRequest req,HttpServletResponse res){
              try{
                   HttpSession s=req.getSession(false);
                   if (s!=null){
                        Utente u= (Utente)s.getValue("Login.utente");
                        if (u!=null){
                             if (u.ID!=null){
                                  res.sendRedirect("Inserimento.jsp");
                             else res.sendRedirect("errorlogin.html");
              catch(Exception e){}
         }

    After you can use:
    String utente=req.getParameter("ID");          
    String password=req.getParameter("pass");
    to get the ID and password, use a Database Access Object to communicate with the database. A sample block of code would something like:
    Connection conn = null;
    Context ctx = null;
    DataSource ds = null;
    try {
         DriverManager.registerDriver(new OracleDriver());
         String connectString = "jdbc:oracle:thin:@...";
                   conn = DriverManager.getConnection(connectString, userName, password);
    } catch (Exception e) {
    e.printStackTrace();
    Then,
    statement = conn.createStatement();
    resultSet = statement.executeQuery("select * from TABLE where Id = id and pass=password");
    if it returns you a result, then, it means the login info is valid, you can set this info in a session object, like:
    request.setSesion().setAttribute("login", "true");
    Later on, in your application, you can chk whether the user has logon by
    request.getSesion().setAttribute("login");
    You should organize your code so that it separate different functions in your program.
    Hope that helps.

  • Problem while maintaining the Session

    Hi friends,
    I'm building chatServer in j2me using Servlet/Jsp.So while doing so i want to maintain a session.
    For that i've invoke the following method,
    HttpSession session = request.getSession(true);(in server)
    But from that same MIDlet when i again send some text it again create new session id.
    How could i resolve this issue as i just want to use same MIDlet when sending data to server?
    Do i use diffrent Servlet/Jsp( at server side) when i going to send data after my session maintain?
    But how could this new Servlet/Jsp( at server side) page get the same session id ?
    Is there any other to resolve this ( want use only Session Tracking API)?
    Regards,
    Sachin Warang.

    You need to do your session stuff in your midlet to make it work with sessions. Check how servlets do the session stuff, and let your midlet work with it.

  • Domain name and  session

    Hi ,
    We have deployed our application on tomcat server built on struts framework.
    We have also set the domain name and are redirecting the domain name to Static Ip
    where our application is deployed with URL Masking option enabled.
    Everything is working fine in Firefox.But in IE6 and IE7 we are facing issues related to sessions.
    Example:
    it works when we access directly
    http://156.78.78.89:8000/myapp/login.do?method=display
         when i redirect this with a domain name(with URL masking enabled) like
         http://www.mydomain.com It does not work.
         I am not able to login into application(using sessions of this) or use shopping cart(using cookies)
    Cookies are getting disabled and there is no session maintainance.
    Is it problem with struts config or tomcat server?
    I am unable to take my application live because of this issue.
    Please help me to solve. Thank you for your time and consideration
    email:[email protected]

    Hi BKBK,
    I'm using CF10 and aplicaction.cfc
    <!--- Define the application settings. --->
    <cfset THIS.name= "GuarderiasGMX2"/>
    <cfset THIS.applicationTimeout = createTimeSpan( 0, 1, 0, 0 ) />
    <cfset THIS.sessionManagement = true />
    <cfset THIS.sessionTimeout = createTimeSpan( 0, 1, 0, 0 ) />
    I don't use cookies to set the session. I only use cfcookie for kill the session on the application.cfc when the user sign out.
    <cffunction
    name="onRequestStart"
    access="public"
    returntype="boolean"
    output="false"
    hint="I initialize the page request.">
    <!--- Define the local scope.--->
    <cfset var local = {} />
    <!--- --------------------------------------------- --->
    <!--- --------------------------------------------- --->
    <!---
    Check to see if we killed the session timeout in the
    psuedo constructor. If we did, we can / should now
    kill the cookies for the current session and then
    redirect such that the user can get their new session.
    --->
    <cfif structKeyExists( url, "killSession" )>
    <!---
    Clear all of the session cookies. This will
    expire them on the user's computer when the
    CFLocation executes.
    --->
    <cfloop
    index="local.cookieName"
    list="cfid,cftoken,cfmagic">
    <!--- Expire this session cookie. --->
    <cfcookie
    name="#local.cookieName#"
    value=""
    expires="now"
    />
    </cfloop>
    <!---
    Redirect back to the primary page (so that we dont
    have the killSession URL parameter visible).
    --->
    <cflocation
    url="index.cfm"
    addtoken="false"
    />
    </cfif>
    Regards

  • Partner Web Service Session Management in BPEL with JDeveloper 11g

    JDeveloper 11g 11.1.1.1.0 and SOA Suite 11g
    Trying to create an synchronous Web Service which has an external reference to a Web Service partner (AXIS 1.4 implementation) using BPEL. I have a sequence which has 2 invokes, one for user login and another invoke for a different call. However the session from the login has to be maintained for the second call to work. I am unable to do this. I get a NoSession error thrown from the partner Web Service. I did verify that my login piece is working.
    On the composite, in the external reference piece I added binding property oracle.webservices.session.maintain and set to true and also added oracle.webservices.httpConnTimeout and set the value to 10000. This did not help. I would appreciate any help. Thanks.
    Ratnam

    Hi,
    Did you configure the Axis2 in Jdeveloper?
    Best Regards
    Sunny

  • OSB: Call two methods from business service in same session

    I create sequence of service callout but they work separately. How add session maintain on service calls.

    by "session" do you mean "transaction"? There is not a concept of "session" in OSB...

  • Does WL70 Web Service Support Sessions?

    Does anybody know how to make WL70 Web Service support sessions?
    The "javax.xml.rpc.session.maintain" property on Stub does not seem to work.
    Without session support, it is almost no use for us because we have to authenticate
    the user each time.
    Thanks in advance.
    - Hao

    It is just not working for me. I am using static stub.
    After tracking the HTTP traffic, I found that the WL70 server is not issuing any
    cookie. I have configured all the parameters for tracking session in the web application,
    but I still don't see any cookie in the HTTP headers from the server. I also tried
    to invoke the service using a browser, still no cookie seen. Is this a bug or
    there is some other configuration for the server?
    - Hao
    "manoj cheenath" <[email protected]> wrote:
    By default client will maintain the session. You dont have to set this
    property.
    Are you using static or dyn client?
    Also, you should use the same instance of the stub for all your invokes
    (all invokes to be in the same session).
    regards,
    -manoj
    "Hao Chen" <[email protected]> wrote in message
    news:[email protected]..
    It is not working for me.
    When I set the "javax.xml.rpc.session.maintain" property, weblogicthrows
    "UnsupportedOperation"
    exception and be default I don't see any session information beingpassed.
    How do I configure the client side or even the server?
    Thanks.
    - Hao
    "manoj cheenath" <[email protected]> wrote:
    WL70 client does support http session. Is this not
    working for you?
    regards,
    -manoj
    "Hao Chen" <[email protected]> wrote in message
    news:3d6402ac$[email protected]..
    Does anybody know how to make WL70 Web Service support sessions?
    The "javax.xml.rpc.session.maintain" property on Stub does not seemto
    work.
    Without session support, it is almost no use for us because we haveto
    authenticate
    the user each time.
    Thanks in advance.
    - Hao

  • Unexplainable Error with Session...SIMPLE, but unexplainable..!!

    I can't understand why Session maintaining between my Servlet and another Jsp page worked when I tried everything with Tomcat 5.5.
    ..until I decided to restart Tomcat, and it worked no more..!!
    The problem, now, is that Jsp page can't recognize user's ID passed with Session Object ( It says "Utente:null" in top of the page)
    SERVLET's CLASS
    public class Login extends HttpServlet{
         private Connection con;
         private Statement st;
         private ResultSet rs,rs2;
         public void doGet(HttpServletRequest req,HttpServletResponse res) {
              try{
              Class.forName("com.mysql.jdbc.Driver");
              con=DriverManager.getConnection("jdbc:mysql://localhost:3306/gecoprova","root","argoilcane");
              st=con.createStatement();     
              rs=st.executeQuery("SELECT * FROM anagrafe_procuratori WHERE ragsoc='"+req.getParameter("ID")+"'");          
              if(rs!=null){
                   if(rs.next())try {
                        st=con.createStatement();
                        rs2=st.executeQuery("SELECT * FROM privilegi_procuratore WHERE (userid='"+req.getParameter("ID")+"' AND pass='"+req.getParameter("pass")+"')");
                        if(rs2!=null){
                             if(rs2.next())try {
                                            HttpSession session=req.getSession();
                                            String ID=req.getParameter("ID");
                                            String pass=req.getParameter("pass");
                                            session.putValue(ID,ID);
                                            session.putValue(pass,pass);                    
                                            rs2.close();     
                                            con.close();
                                                    res.sendRedirect("Inserimento.jsp");
                   }catch (Exception e){e.printStackTrace();}
                   res.sendRedirect("errorlogin.html");
              else{
                   res.sendRedirect("errorlogin.html");
                   }catch (Exception e){e.printStackTrace();}
                   res.sendRedirect("errorlogin.html");
              else{
                   res.sendRedirect("errorlogin.html");
              res.sendRedirect("errorlogin.html");
              catch(Exception e){
                   try {
                        e.printStackTrace();
                        res.sendRedirect("errorlogin.html");
                   catch(Exception e1){}
    JSP PAGE
    <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <link rel="stylesheet" href="emx_nav_left.css" type="text/css">
    <style type="text/css">
    <!--
    .Stile6 {font-style: italic; color: #FF0000; font-size: 12px; }
    .Stile17 {
         color: #0033FF;
         font-weight: bold;
    .Stile15 {
         color: #FF0000;
         font-weight: bold;
    .Stile18 {color: #FFFFFF; font-weight: bold; }
    .Stile19 {color: #007FAA}
    .Stile21 {
         color: #007FAA;
         font-weight: bold;
         font-style: italic;
    .Stile22 {color: #FF0000}
    .Stile23 {
         color: #FFFFFF;
         font-style: italic;
         font-weight: bold;
    .Stile25 {font-size: 130%}
    .Stile34 {color: #FFFFFF}
    .Stile35 {font-size: 24px}
    .Stile36 {color: #000000}
    -->
    </style>
    <head>
    <title>Administrator Page</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    </head>
    <body>
       <%
         HttpSession ses=request.getSession();
       if (ses.getId()!=null){
         out.print("Utente: ");
         out.println(ses.getValue("ID"));
    %>
         <p>
         </p> 
         <div align="right"><form action="Redirect" method="get">
           <br>
          <input name="submit5" type=submit class="Stile21" value="INSERIMENTO nuovi UTENTI" />
          <input type=hidden name="session" value="<%= request.getParameter("session") %>" />
          </form></div>
    <td align="right">�</td>
        </p>
    <tr>
      <td> 
      <td align="right"><br>
    </tr><tr>
    <tr>
                   <form action="InsertDelOrder" method="get">
                   <tr>
                   <td width=286> <h2 align="center" class="Stile15">� </h2>
                     <div align="center">
                       <table width="769" border="1" bordercolor="#999999" bgcolor="#007FAA">
                      <tr>
                        <td width="286" height="28" bordercolor="#FFFFFF" bgcolor="#007FAA" class="Stile18 Stile34" border="1"><span class="Stile35"><font color="#FFFF00">Inserimento Ordine </font></span> </td>
                      </tr>
                    <tr> </tr>
                    </table>
                    </div>
                   <td align="right"></td>
              </tr>
                  <td>
                     <div align="center">
                    <table width="769" border="1" bordercolor="#FFFFFF" bgcolor="#007FAA">
                       <tr>
                        <td width="315" class="Stile18"  >ID ordine : </td>
                        <td width="438" align="right"><input type=text name="idordine" /></td>
                      </tr><tr>
                        <td width="315" class="Stile18"  >Data ordine : </td>
                        <td width="438" align="right"><input type=text name="data" /></td>
                      </tr>
                      <tr>
                        <td class="Stile18">Data consegna pattuita : </td>
                        <td width="438" align="right"><input type=text name="consegna" /></td>
                      </tr>
                    </table>
                    <table width="769" border="1" bordercolor="#FFFFFF" bgcolor="#007FAA">
                      <tr>
                        <td width="315" height="28" class="Stile18"> Percentuale: </td>
                        <td width="438" align="right">
                          <input type=text name="percentuale" />
                        </td>
                      </tr>
                      <tr>
                        <td width="315" height="28" class="Stile18"> Sconto: </td>
                        <td width="438" align="right">
                          <input name="sconto" type=text />
                        </td>
                      </tr>
                      <tr> </tr>
                        </table>
                    <table width="769" height="87" border="1" bordercolor="#FFFFFF" bgcolor="#007FAA">
                      <tr>
                        <td width="315" class="Stile18">Nome dipendente (presente nel DB): </td>
                        <td width="438" align="right"><input type=text name="nome" /></td>
                      </tr>
                      <tr>
                        <td class="Stile18">Cognome dipendente (presente nel DB): </td>
                        <td width="438" align="right"><input type=text name="cognome" /></td>
                      </tr>
                            <tr>
                        <td class="Stile18">Fornitore : </td>
                        <td width="438" align="right"><input type=text name="fornitore" /></td>
                      </tr>
                    </table>
                    <table width="769" height="63" border="1" bordercolor="#2F0044" bgcolor="#007FAA">
                      <tr>
                        <td width="36" class="Stile23">Note</td>
                        <td width="720"><div align="center">
                          <input type=text size="120" name="note">
                      �</div></td>
                      </tr>
                    </table>
                    </div>
                  <tr>
                                                                                     <td width="191" class="Stile19">�</td>
                          <td width="189" align="right" class="Stile19">�  </td>
                   <tr>
                  <td width="191" class="Stile19">�</td>
                      <td width="189" align="right" class="Stile19">�  </td>
                      </tr><tr>
                      <td width="191" class="Stile19">�</td>
                      <td width="189" align="right" class="Stile19">�  </td>
                      </tr><tr>
                      <td width="191" height="28" class="Stile19">�</td>
                      <td width="189" align="right" class="Stile19">�  </td>
                      </tr><tr>
                      <td width="191" height="28" class="Stile19">�</td>
                      <td width="189" align="right" class="Stile19">�  </td>
                   </table>                                         
                   <br>
                      <br>
            </tr><tr></tr><tr>
                      </tr><tr>
                      </tr><tr>
                      </tr><tr>
            <td>�</td>
                   <td class="Stile21">
                     <input type=hidden name="session" value="<%= request.getParameter("session") %>" />
                  <input name="submit1" type=submit class="Stile21" value="Inserisci Ordine"   submit>
                </td>
                     </tr>
    <tr><br>
      <br>
    </form>
    </tr>
    <tr><br>
    </tr>
    <tr><br>
    </tr>
                   <tr>
                   <td> <h2 class="Stile25"> Cancellazione ordine</h2>
                     <td align="right">
              </tr><tr>
    <tr>
                   <form action="InsertDelOrder" method="post">
                    <td><input name="submit22" type=submit class="Stile21" value="Cancella ordine" /></td>
                    <tr>
                  <td width="191" class="Stile17"> ID Ordine </td>
                      <td width="189" align="right"> <input type=text name="IDord"> </td>
                      </tr><tr>
                       <td></td>
                   <td align="right"><input type=hidden name="session" value="<%= request.getParameter("session") %>"></td>
                   </tr>
                </form>
      <br>
                    <hr>
    </tr>
                  <div align="center"><br>
    </div>
                  <h2 align="center" class="Stile25 Stile36"> Interrogazioni DB </h2>
                    <div align="center"><br>
    </div>
                    <form action="Query.jsp">
                     <div align="center">
                      <input name="submit232" type=submit class="Stile17" value="Visualizza pratiche associate all operatore" />
                      <input type=hidden name="session" value="<%= request.getParameter("session") %>">
                       <input type=hidden name="my_query" value="SELECT * FROM affidamenti_procuratore WHERE anagrafe_procuratore_ID=32">
                     �               
                       </div>
                    </form>
                     <form action="Query.jsp">
                      <div align="center">
                          <input name="submit23" type=submit class="Stile17" value="Visualizza ordini gi� splittati" />
                          <input type=hidden name="session" value="<%= request.getParameter("session") %>">
                        <input type=hidden name="my_query" value="SELECT * FROM ordine WHERE flag=1">
                    </div>
                     </form>
                     <div align="center"><br>
    </div>
                     <form action="Query.jsp">
                       <div align="center">
                     <input name="submit232" type=submit class="Stile17" value="Visualizza fatture di merce NON ANCORA inviata" />
                     <input type=hidden name="session" value="<%= request.getParameter("session") %>">
                         <input type=hidden name="my_query" value="SELECT * FROM fattura WHERE inviato=0">
                         </div>
                     </form>
                     <form action="Query.jsp">
                      <div align="center">
                           <input name="submit23" type=submit class="Stile17" value="Visualizza fatture della merce inviata" />
                           <input type=hidden name="session" value="<%= request.getParameter("session") %>">
                        <input type=hidden name="my_query" value="SELECT * FROM fattura WHERE inviato=1">
                    </div>
                     </form>
                       <div align="center"><br>
                         </div>
                     <form action="Query.jsp">
                        <div align="center">
                          <input name="submit23" type=submit class="Stile17" value="Visualizza fatture NON ANCORA pagate" />
                          <input type=hidden name="session" value="<%= request.getParameter("session") %>">
                        <input type=hidden name="my_query" value="SELECT * FROM fattura WHERE pagato=0">
                      </div>
                    </form>
                     <form action="Query.jsp">
                       <div align="center">
                      <input name="submit232" type=submit class="Stile17" value="Visualizza fatture pagate" />
                      <input type=hidden name="session" value="<%= request.getParameter("session") %>">
                       <input type=hidden name="my_query" value="SELECT * FROM fattura WHERE pagato=1">
                     �                
                       </div>
                     </form><br>
                   <form action="Query.jsp">
                        <div align="center">
                          <input name="submit23" type=submit class="Stile17" value="Visualizza clienti conosciuti (Nome & Cognome)" />
                          <input type=hidden name="session" value="<%= request.getParameter("session") %>">
                        <input type=hidden name="my_query" value="SELECT * FROM dipendente">
                      </div>
                    </form>
                     <form action="Query.jsp">
                       <div align="center">
                      <input name="submit232" type=submit class="Stile17" value="Visualizza aziende clienti conosciute" />
                      <input type=hidden name="session" value="<%= request.getParameter("session") %>">
                       <input type=hidden name="my_query" value="SELECT * FROM azienda">
                     �                
                       </div>
                     </form>
                <div align="right">
                </div>
            <h2 align="right" class="glink">�</h2>
    <div align="right">
      <div align="left">          </div>
    </div>
            <h2 align="right" class="glink">�</h2>
    <form action="Login" method="post">
       <h2 align="right" class="glink"><span class="Stile10 Stile22">Disconnetti�</span>
    <input type="hidden" name="session" value="<%= request.getParameter("session") %>" />
      <input name="submit2" type="submit" class="Stile21" value="Logout" />   
      </h2>
      </div>
      </h2>
       <h2>� </h2>
    </form>
    <%}
    else
    response.sendRedirect("index.html");
         %>          
    </body>
    </html>

    It's OK to ask questions.
    But I gotta say that this is not very-well designed code. Honestly, it hurts my eyes to look over it. It is almost impossible something not to go wrong with that code. Here's some tips :
    1. Instead of using private instance fields for db connection parameters, use the ServletConfig or ServletContext parameters.
    2. use get/set/removeAttribute instead of put/getValue. Those methods are deprecated.
    3. Your JSP relies heavily on hidden form fields. Any client with just a right click on your jsp, and View Source, will get a look of your underlying database implementation. And that is not good :).
    4. Try not to add many responsibilities to the JSP. JSP are there for presentation, servlets do all the logic. Also, avoid using scriplets in your JSP. Use the Expression Language and JSTL, instead.
    Apply those tips, and you'll see how your code will be less error-prone.
    Have fun,
    Ice

  • 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

  • Best Practice to use a single root Application Module?

    I was reading in another thread that it may be a good idea to have all application modules nested within a single root application module (AM) so that there is only 1 session maintained for the root AM, versus an individual session for each AM. Is this a best practice? If yes, should the root AM be a skeleton AM (minimal customer service methods), or, should you select the most heavily used AM and nest the other AM's underneath of it?
    In my case, I currenlty have 2 AM's (and will have 3 AM's in the future) each representing a different set of use cases withn the application (i.e., one supports users searches / shopping cart-like functionality, and the second supports an enrollment process.) It could be the case that a user only accesses pages on the web site to do searches (first AM), or only to do enrollment (2nd AM), or, they may access pages of the site that access both AM's. Right now I have 2 separate AM's that are not nested. Should I nest the AM's and define a root AM?
    thanks

    Hi javaX
    The main physical effect of having 2 separate AMs is that they have their own transactions with the database, and presumably sit in the application module pool as their own instances consuming connections from the connection pool. Alternatively a single root AM with 2 nested AMs share a single transaction through the root AM; only the root AM controls the transaction in this scenario.
    As such it's a question of do you need separate transactions or will one suffice?
    How you group your EOs/VOs etc within the AMs is up to you, but usually falls into logical groups such as you have done. If a single transaction is fine, instead of creating multiple AMs, you could instead just create logical package structures instead. Neither method is right or wrong, they're just different ways of structuring your application.
    When you create a nested AM structure, within your ViewController project in the Data Control Palette you'll actually see 3 data controls mapped to each AM. In addition expanding the root AM data control, you'll see the nested AMs again. Create a dummy project with a nested AM structure and you'll see what I mean.
    If you base your page definitions on anything from the root AM and it's children in the Data Control Palette, this will work on the root AM's transaction.
    If you base your page definitions on something from one of the other AM data controls that isn't inside the main root AM in the Data Control Palette, instead of using the root AM's transaction, the separate child AM will be treated as root AM and will have its own transaction.
    The thing to care of when developing web pages is to consistently use the AM and it's nested AMs, or the child AMs directly with their separate transactions, otherwise it might cause a bit of a nightmare debugging situation later on when the same application is locking and blocking on the same records from 2 separate AM transactions.
    Hope this helps.
    CM.

  • Unable to create sales Order/Inquiry object using SAP JCo

    Hi All,
    Pls can you help me.
    I am using BAPI_INQUIRY_CREATEFROMDATA2 and BAPI_Trancation_commit to create Inquiry object.From my Client JCo code there is no error.I debugged the BAPI_Trasaction_commit, there is no error,  return code is 0.  But th system is not creating Inquiry object. When I try the same from SAP GUI client with exactly the same input parameters it works.
    Do I need to set any option/value to commit the Inquiry to the SAP database? How to maintain the same session between the different BAPI's. Is there any issue with Session maintainance? I would appreciate if you can provide me any sample SAP JCo code for creating a Sales Order/Inquiry.
    Thanks
    mars

    Can you put the part of your code that fill the ORDER_PARTNERS table, also you could compare your coding with [Sales order creation using BAPI|http://wiki.sdn.sap.com/wiki/display/Snippets/SalesordercreationusingBAPI] in [Community Code Gallery |http://wiki.sdn.sap.com/wiki/display/Snippets/CommunityCodeGallery] (don't forget that there is a conversion exit on the partner role, so use internal codes "AG" and "WE")
    Regards,
    Raymond

  • Using JDO in a Servlet container/app server

    Hi,
    I was just wondering what Solarmetric recommends when using Kodo in a
    servlet container/app server. Specifically the following:
    1. Should each user session maintain a PersistenceManager or should the
    PM be created per request? I am thinking it might be expensive to
    maintain PMs across requests since you may have idle sessions and the
    PMs may hold database resources? But since PMs aren't pooled in Kodo is
    creating/closing a PM per request expensive or is it offset by Kodo's
    connection pooling?
    2. Is it advisable to store data to be displayed on a JSP by storing the
    JDO instances themselves or serializable proxies (simple data beans) of
    these objects in a user's session?
    3. If you can store the JDO instances in the session, do you need to
    make them transient instances using makeTransient() and call close() the
    PersistenceManager?
    Thanks in advance,
    Khamsouk

    These are all very good questions. There really is no one right answer to any
    of them, so I'll just try to educate you on the issues involved and you can
    make your own decision. Hopefully other people who are actually using Kodo
    in a servlet/JSP environment will chime in too.
    1. Should each user session maintain a PersistenceManager or should the
    PM be created per request? I am thinking it might be expensive to
    maintain PMs across requests since you may have idle sessions and the
    PMs may hold database resources? But since PMs aren't pooled in Kodo is
    creating/closing a PM per request expensive or is it offset by Kodo's
    connection pooling?As long as you are outside of a datastore transaction, a PM does not maintain
    any database resources. The only significant state it maintains is a soft
    cache of persistent objects that have already been instantiated. If you are
    using Kodo 2.3 RC1 and have no set the
    com.solarmetric.kodo.DefaultFetchThreshold property to -1, then some
    large collections you obtain from query results or relation traversals may be
    scrollable result sets on the back-end, in which case they obviously maintain
    some database resources.
    2. Is it advisable to store data to be displayed on a JSP by storing the
    JDO instances themselves or serializable proxies (simple data beans) of
    these objects in a user's session?
    3. If you can store the JDO instances in the session, do you need to
    make them transient instances using makeTransient() and call close() the
    PersistenceManager?I'll address these together. JDO fully supports serialization, and in fact
    I think you'll find it does so in exactly the way that you want. If you choose
    to store serialized persistent objects in the session, then during
    serialization the objects will transparently pull in all of their persistent
    state and relations, so the entire object graph is serialized. When you
    deserialize, the objects will no longer be attached to their persistence
    manager -- they will be transient.
    Another options is to store the object IDs in the session, and re-retrieve
    the persistent objects for each web request.
    One design pattern that can probably net very good performance is to maintain
    a global read-only persistence manager that you use to dereference these IDs.
    Of course, if you ever want to change an object, you'll have to re-fetch it
    in a new persistence manager, and evict it from the global manager's cache.
    I hope this helps.

  • Webservice API call

    I have been trying to make Webservice call to "https://webservice.exacttarget.com/etframework.wsdl" using coldfusion server 9.0 without much success. My code recognizes WSDL and it methods but When I call method it throws following error:
    Web service operation Describe with parameters {{DESCRIBEREQUESTS={[Lcom.et.client.ObjectDefinitionRequest;@78b0e1}}} cannot be found.
    Please suggest.....
    MyCode CFM file code:
    Package Class: "com.et.client"
    <cfsilent>
        <cffunction name="head1" access="private" returntype="Any" output="false"
                    hint="Return the header needed to make an Omniture web service request as a SOAPHeaderElement object">
            <cfargument name="strUsername" type="String" required="true" />
            <cfargument name="strSecret" type="String" required="true" />
            <cfscript>
                // Unique random number
                var strNonce = createUUID();
                var strCreated  = DateFormat(Now(),'YYYY-mm-dd H:mm:ss');
                var strPassword = arguments.strSecret;
                // Start to build header
                var objHeader = CreateObject("java", "org.apache.axis.message.SOAPHeaderElement");
                var nodeUserToken = "";
                var nodePassword = "";
                // Construct XML structure with code
                objHeader.init("http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd", "wsse:Security");
                objHeader.setMustUnderstand(1);
                objHeader.setActor("");
                nodeUserToken = objHeader.addChildElement("wsse:UsernameToken");
                nodeUserToken.setAttribute("wsu:Id", "User");
                nodeUserToken.addChildElement("wsse:Username").setValue(arguments.strUsername);
                nodePassword = nodeUserToken.addChildElement("wsse:Password");
                nodePassword.setAttribute("Type", "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0##Passwo rdText");
                nodePassword.setValue(strPassword);
                nodeUserToken.addChildElement("wsse:Nonce").setValue(strNonce);
                nodeUserToken.addChildElement("wsu:Created").setValue(strCreated);
            </cfscript>
            <cfreturn objHeader />
        </cffunction>
        <cfscript>
            objHeader = head1("test", "emails@3");
            objService = CreateObject("webservice", "https://webservice.exacttarget.com/etframework.wsdl");
            objService.setHeader(objHeader);
                                    definitionRequest =  createObject("java", "com.et.client.ObjectDefinitionRequest").init();
                                    definitionRequest.setObjectType("Account");
                                    DefinitionRequestMsg  = StructNew();                               
                                    defre = arraynew(1);
                                    defre[1] =definitionRequest;
                                    DefinitionRequestMsg.DescribeRequests = JavaCast("com.et.client.ObjectDefinitionRequest[]",defre);
       </cfscript>
    </cfsilent>
    </br>
    SubKey ::: <cfdump var="#sub.SubscriberKey#">
    <br/>
    <p>
    Type ::: <cfdump var="#definitionRequest.getObjectType()#">
    <br/>
    <p>
    DefinitionRequestMsg ::: <cfdump var="#DefinitionRequestMsg.DescribeRequests[1].ObjectType#">
    <br/>
    <p>
    Methods ::: <cfdump var="#objService#">
    <br/>
    <cfscript>
    objService.Describe(DefinitionRequestMsg);
    resp = getSOAPResponse(objService);
    OutPut:
    SubKey :::   Jon_Doe 
    Type :::   Account
    DefinitionRequestMsg :::   Account
    Methods ::: 
    object of com.exacttarget.wsdl.partnerAPI.SoapBindingStub
    Class Name
    com.exacttarget.wsdl.partnerAPI.SoapBindingStub
    Methods
    Method
    Return Type
    configure(com.exacttarget.wsdl.partnerAPI.ConfigureRequestMsg)
    com.exacttarget.wsdl.partnerAPI.ConfigureResponseMsg
    create(com.exacttarget.wsdl.partnerAPI.CreateRequest)
    com.exacttarget.wsdl.partnerAPI.CreateResponse
    delete(com.exacttarget.wsdl.partnerAPI.DeleteRequest)
    com.exacttarget.wsdl.partnerAPI.DeleteResponse
    describe(com.exacttarget.wsdl.partnerAPI.DefinitionRequestMsg)
    com.exacttarget.wsdl.partnerAPI.DefinitionResponseMsg
    execute(com.exacttarget.wsdl.partnerAPI.ExecuteRequest[])
    com.exacttarget.wsdl.partnerAPI.ExecuteResponseMsg
    extract(com.exacttarget.wsdl.partnerAPI.ExtractRequest[])
    com.exacttarget.wsdl.partnerAPI.ExtractResponseMsg
    getSystemStatus(com.exacttarget.wsdl.partnerAPI.SystemStatusRequestMsg)
    com.exacttarget.wsdl.partnerAPI.SystemStatusResponseMsg
    perform(com.exacttarget.wsdl.partnerAPI.PerformRequestMsg)
    com.exacttarget.wsdl.partnerAPI.PerformResponseMsg
    query(com.exacttarget.wsdl.partnerAPI.QueryRequestMsg)
    com.exacttarget.wsdl.partnerAPI.QueryResponseMsg
    retrieve(com.exacttarget.wsdl.partnerAPI.RetrieveRequestMsg)
    com.exacttarget.wsdl.partnerAPI.RetrieveResponseMsg
    schedule(com.exacttarget.wsdl.partnerAPI.ScheduleRequestMsg)
    com.exacttarget.wsdl.partnerAPI.ScheduleResponseMsg
    update(com.exacttarget.wsdl.partnerAPI.UpdateRequest)
    com.exacttarget.wsdl.partnerAPI.UpdateResponse
    versionInfo(com.exacttarget.wsdl.partnerAPI.VersionInfoRequestMsg)
    com.exacttarget.wsdl.partnerAPI.VersionInfoResponseMsg
    Fields
    Field
    Value
    java.lang.String ENDPOINT_ADDRESS_PROPERTY
    javax.xml.rpc.service.endpoint.address
    java.lang.String PASSWORD_PROPERTY
    javax.xml.rpc.security.auth.password
    java.lang.String SESSION_MAINTAIN_PROPERTY
    javax.xml.rpc.session.maintain
    java.lang.String USERNAME_PROPERTY
    javax.xml.rpc.security.auth.username
    Parent Class
    The web site you are accessing has experienced an unexpected error.
    Please contact the website administrator.
    The following information is meant for the website developer for debugging purposes.
    Error Occurred While Processing Request
    Web service operation Describe with parameters {{DESCRIBEREQUESTS={[Lcom.et.client.ObjectDefinitionRequest;@78b0e1}}} cannot be found.
    The error occurred in /Users/bgogineni/ColdFusion/wwwroot/ET/index2.cfm: line 84
    82 : <br/> 83 : <cfscript>
    84 :  objService.Describe(DefinitionRequestMsg); 85 :  resp = getSOAPResponse(objService); 86 :
    Resources:
    Check the ColdFusion documentation to verify that you are using the correct syntax.
    Search the Knowledge Base to find a solution to your problem.
    Browser 
    Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9
    Remote Address 
    127.0.0.1
    Referrer 
    Date/Time 
    13-May-10 10:27 PM
    Stack Trace
    at cfindex22ecfm949006999.runPage(/Users/bgogineni/ColdFusion/wwwroot/ET/index2.cfm:84)                  
    coldfusion.xml.rpc.ServiceProxy$ServiceMethodNotFoundException: Web service operation Describe with parameters {{DESCRIBEREQUESTS={[Lcom.et.client.ObjectDefinitionRequest;@78b0e1}}} cannot be found. at coldfusion.xml.rpc.ServiceProxy.invokeImpl(ServiceProxy.java:256) at coldfusion.xml.rpc.ServiceProxy.invoke(ServiceProxy.java:154) at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:2360) at cfindex22ecfm949006999.runPage(/Users/bgogineni/ColdFusion/wwwroot/ET/index2.cfm:84) at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:231) at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:416) at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65) at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:363) at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:48) at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40) at coldfusion.filter.PathFilter.invoke(PathFilter.java:87) at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:70) at coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:74) at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28) at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38) at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46) at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38) at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22) at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:53) at coldfusion.CfmServlet.service(CfmServlet.java:200) at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89) at jrun.servlet.FilterChain.doFilter(FilterChain.java:86) at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42) at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46) at jrun.servlet.FilterChain.doFilter(FilterChain.java:94) at jrun.servlet.FilterChain.service(FilterChain.java:101) at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106) at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42) at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286) at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543) at jrun.servlet.http.WebService.invokeRunnable(WebService.java:172) at jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320) at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428) at jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266) at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
    Debugging Information
    ColdFusion Server Enterprise
    9,0,0,251028
    Template
    /ET/index2.cfm
    Time Stamp
    13-May-10 10:27 PM
    Locale
    English (US)
    User Agent
    Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9
    Remote IP
    127.0.0.1
    Host Name
    localhost
    Execution Time  
    Total Time
    Avg Time
    Count
    Template
    15 ms
    15 ms
    1
    /Users/bgogineni/ColdFusion/wwwroot/ET/index2.cfm
    14 ms
    STARTUP, PARSING, COMPILING, LOADING, & SHUTDOWN
    29 ms
    TOTAL EXECUTION TIME
    red = over 250 ms average execution time   
    Exceptions  
    22:27:34.034 - Application Exception - in /Users/bgogineni/ColdFusion/wwwroot/ET/index2.cfm : line 84
        Web service operation Describe with parameters {{DESCRIBEREQUESTS={[Lcom.et.client.ObjectDefinitionRequest;@78b0e1}}} cannot be found.    
    Thanks
    -GBK

    We do a lot of work with web service APIs using coldfusion.  A while ago, we decided it was much easier (especially when dealing with complex web service invocations) to switch to posting/receiving the raw XML SOAP messages in order to exchange data with the remote web service.  Ben Nadel has a great article that outlines what is involved:
    http://www.bennadel.com/blog/1809-Making-SOAP-Web-Service-Requests-With-ColdFusion-And-CFH TTP.htm
    What's more, you can use a lot of free/OSS tools to generate a template for the Request/Response SOAP messages, so it really just winds up being a matter of creating your XML in a cfsavecontent block and adding your variables in place of the sample text.  We use SOAPSonar from Crosscheck networks (http://www.crosschecknet.com/products/soapsonar.php) - they have a free "personal" edition that will parse a WSDL and generate the resulting XML SOAP messages that you can use as a template.
    The only major issue is you have to watch out for the XML namespaces in the response that comes back from the web service.  ColdFusion (not surprisingly) has a major issue with extracting data using XMLSearch() from an XML node that includes a name space.  There are a couple of work-arounds - you could use a local-name() xpath method to perform a namespace-agnostic search, or you could use regular expressions to just strip all the namespace data out of the XML and parse using ColdFusion.
    Anyway, the implementation winds up looking something like this:
    <!--- build Soap XML --->
    <cfsavecontent variable="sSOAPBody">
    <cfoutput>
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
         <myMethod>
              <firstArgument>#MyValue#</firstArgument>
         </myMethod>
    </soap:Body>
    </soap:Envelope>
    </cfoutput>
    </cfsavecontent>
    <!--- Send SOAP data using CFHTTP --->
    <cfhttp url="URL of Web service (e.g. .asmx, .cfc - no WSDL)" method="post">
    <cfhttpparam type="header" name="SOAPAction" value="http://target_namespace_goes_here/method">
    <cfhttpparam type="header" name="accept-encoding" value="no-compression">
    <cfhttpparam type="xml" value="#trim(sSOAPBody)#">
    </cfhttp>
    <!--- Parse XML Response in CFHTTP.FileContent --->

  • Does web service support all the properties in the standalone BI console?

    Hi,
    Currently I am using BI web service API to get the report and its parameters and so on. But I find that the object definition in the web service can't be full defined to match the properties in the console UI. For exaple, ReportDefinition object there is no description property, so I can't get the desc by the ReportDefinition object (By now I don't know how to get it). Another sample is, there is no Parameter object defined in the web service, only ParamNameValue object, so I can't get the default value for the parameter defined in the console UI.
    Is there any solution for me?
    HELP!!!

    It is just not working for me. I am using static stub.
    After tracking the HTTP traffic, I found that the WL70 server is not issuing any
    cookie. I have configured all the parameters for tracking session in the web application,
    but I still don't see any cookie in the HTTP headers from the server. I also tried
    to invoke the service using a browser, still no cookie seen. Is this a bug or
    there is some other configuration for the server?
    - Hao
    "manoj cheenath" <[email protected]> wrote:
    By default client will maintain the session. You dont have to set this
    property.
    Are you using static or dyn client?
    Also, you should use the same instance of the stub for all your invokes
    (all invokes to be in the same session).
    regards,
    -manoj
    "Hao Chen" <[email protected]> wrote in message
    news:[email protected]..
    It is not working for me.
    When I set the "javax.xml.rpc.session.maintain" property, weblogicthrows
    "UnsupportedOperation"
    exception and be default I don't see any session information beingpassed.
    How do I configure the client side or even the server?
    Thanks.
    - Hao
    "manoj cheenath" <[email protected]> wrote:
    WL70 client does support http session. Is this not
    working for you?
    regards,
    -manoj
    "Hao Chen" <[email protected]> wrote in message
    news:3d6402ac$[email protected]..
    Does anybody know how to make WL70 Web Service support sessions?
    The "javax.xml.rpc.session.maintain" property on Stub does not seemto
    work.
    Without session support, it is almost no use for us because we haveto
    authenticate
    the user each time.
    Thanks in advance.
    - Hao

Maybe you are looking for

  • Lines when exporting to PDF (in print)

    Hello, I have an indesign document with several transparent layers (light grey layers). They all show fine on screen, and print perfect here. But when sending it to the printshop I ran into some white hairlines. When exporting to PDF X/1a I get loads

  • How can I get rid of the Introduction splash page that keeps popping up every time I open Firefox 4?

    Wen I attempt to open Firefox 4, I keep getting a splash page before I can go elsewhere. It is particularly annoying when trying to access Links on my desktop, because the splash page prevents thelink from opening.

  • Nobody knows the answer to this question...

    Alright, so yesterday I deauthorized all of my computers for itunes.  I copied all my music files from my previous computer and then copied them to the new computer.  All the work seemed to be done, however, I tried to play a particular song and it s

  • Radio - Previously liked songs don't show liked when played again

    Today I liked a song using playlist radio and it added to my Liked from Radio playlist which is fine. Now fast forward 5 hours later that same song came on again still playing on radio and the thumbs up icon didn't show that I previously liked it.  S

  • Lightroom Crashed and ALL photos GONE!

    Lightroom 4 crashed when I was importing photos from an external drive - I do not remember the error message.  When I restrted the program a message said the catalogue could not be found and I had the option to select the Default Catalogue.  I did so