Implementing a record store in a J2SE environment.

Hi,
I am new to J2ME, I am basically learning it as I go. What i am trying to do is convert a J2ME application so that it can run in a J2SE environment. I am intending on running several instances of this application in a desktop environment so I can perform scalability testing.
The trouble I am having is finding a way to implement the record store that is usually implement by the different classes that are included in the "import javax.microedition.rms.*" in the desktop environment.
If anybody has any suggestions as to how this could be implemented. please get back to me.
Thanks,
Darryl Smith

Hi,
I did kind of find a solution to this issue. I came across some code online that basically convert the j2me record store class into a j2se record store.
Take a look at the code here: http://www.mrl.nott.ac.uk/~cmg/EQUIP2/
I did however have to do a fair bit of tweaking to get it to do what i wanted but by looking at this code i got an idea of what i needed to do.
Hope this helps.

Similar Messages

  • Getting Problem after Deleting a record from Record Store

    I am trying to create a simple application for mobile device. This application storing some records. I used RMS for this. These records i show in a list. But i tried to show list of records after deleting any record then list shows only prior records of deleted records n then shows exception as
    Recordsjavax.microedition.rms.InvalidRecordIDException
    The code i written as follows
    For storing data
    public void storeExercise(String EName, String Etime)
    try
    //System.out.println("AAAA");
    recordstore = RecordStore.openRecordStore("Test3",true);
    catch (Exception error)
    //System.out.println("EEEE");
    System.out.println("Exception"+error);
    try
    byte[] outputRecord;
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
    DataOutputStream outputdataStream = new DataOutputStream(outputStream);
    outputdataStream.writeUTF(EName);
    outputdataStream.writeUTF(Etime);
    outputdataStream.flush();
    outputRecord = outputStream.toByteArray();
    recordstore.addRecord(outputRecord, 0, outputRecord.length);
    outputStream.reset();
    outputStream.close();
    outputdataStream.close();
    zlist.append(EName+Etime, null);
    display.setCurrent(zlist);
    catch (Exception error)
    System.out.println("Exception in writing Records"+error);
    for getting records
    public void getExercise(ZimList zlist)
    this.zlist = zlist;
    try
    //System.out.println("AAAA");
    recordstore = RecordStore.openRecordStore("Test3",true);
    //recordstore.closeRecordStore();
    catch (Exception error)
    //System.out.println("EEEE");
    System.out.println("Exception"+error);
    try
    //System.out.println("Hello");
    String Ename = null;
    String Etime = null;
    byte[] byteInputData = new byte[100];
    ByteArrayInputStream inputStream = new ByteArrayInputStream(byteInputData);
    DataInputStream inputDataStream = new DataInputStream(inputStream);
    for (int x=1; x<= recordstore.getNumRecords() ; x++ )
    System.out.println("Record Id ="+x);
    //if (x != InvalidRecordID)
    recordstore.getRecord(x, byteInputData, 0);
    Ename = inputDataStream.readUTF();
    Etime = inputDataStream.readUTF();
    inputStream.reset();
    Final = Ename + Etime;
    System.out.println("Insert" + Final);
    zlist.insert(x-1,Final,null);
    inputStream.close();
    inputDataStream.close();
    //recordstore.closeRecordStore();
    catch (Exception error)
    System.out.println("Exception in Reading Records"+error);
    /*if (recordstore.listRecordStores() != null)
    try
    recordstore.deleteRecordStore("My Record Store");
    catch (Exception error)
    System.out.println("Exception"+error);
    And for deleting records I write
    public void deleteExercise(int index)
    try
    //System.out.println("AAAA");
    recordstore = RecordStore.openRecordStore("Test3",true);
    //recordstore.closeRecordStore();
    catch (Exception error)
    //System.out.println("EEEE");
    System.out.println("Exception"+error);
    if (recordstore.listRecordStores() != null)
    try
    byte[] byteInputData = new byte[100];
    ByteArrayInputStream inputStream = new ByteArrayInputStream(byteInputData);
    DataInputStream inputDataStream = new DataInputStream(inputStream);
    for (int x=1; x<= recordstore.getNumRecords() ; x++ )
    recordstore.getRecord(x, byteInputData, 0);
    if (x == index)
    recordstore.deleteRecord(index);
    //x--;
    inputStream.reset();
    break;
    inputStream.close();
    inputDataStream.close();
    catch (Exception error)
    System.out.println("Exception in Deleting Records"+error);
    Please Help me bcz i am new in j2me development n having no experience

    Ok ...
    When you add records in you store, the J2ME implementation create an ID.
    In the database, there is a list like that with ID <--> ]byte[ ]
    You can get back a record with a this ID.
    When you delete a record, it deletes the row. Lets say you have stored 3 records and that the ID are 1, 2, 3 ... if you delete the second one, then you have still in the database IDs 1 and 3.
    That's why you have this exception : you are iterating with an ID 1, 2, 3, 4, 5 ... if one is delete there is no reorganization. (If you add an other record, it could be stored with ID 2).
    To read all the records, you should get a list of existing IDs. Take a look at the API. Here is a piece of code, that you work but I have not tested :
    RecordStore rs;
    RecordEnumeration re = rs.enumerateRecords(null, null, false);
    while (re.hasNextElement()) {
      String str = new String(re.nextRecord());
      System.out.println("Record: " + str);         
    } Hope it will help you.
    Regards

  • Record Store help!!!!!

    When I delete a record store I find that I have to quit the midlet application completely and then re-enter it before the midlet recognises that the record store has been deleted. What im saying is that the record store is where the data for a list of names is retrieved from. When i delete the record store and take a look at the name listing I still find the list is populated with the deleted record store names??? Its only when i exit the midlet and the re-enter it that i find the name listing is properly updated i.e. not displaying any names.
    Can you please tell me, anybody, why this is and is there a way that i can reset the midlet so that it recognises the change in the record store when it is deleted without having to exit the midlet.
    Thanks.

    Sure here you go,
    import javax.microedition.midlet.MIDlet;
    import javax.microedition.lcdui.*;
    import java.util.*;
    import javax.microedition.rms.*;
    public class AddPlayerScreen extends Form implements CommandListener
         private RecordStore rs;
         private Display display;
         private GSAP midlet;
         private ScoreArray sa;
         private TextField firstName = new TextField("First name:", "", 50, TextField.ANY);
         private TextField lastName = new TextField("Last name:", "", 50, TextField.ANY);
         private TextField telNumber = new TextField("Tel. number:", "", 20, TextField.PHONENUMBER);
         private TextField emailAddress = new TextField("Email address:", "", 50, TextField.EMAILADDR);
         private TextField handicap = new TextField("Handicap:", "", 2, TextField.NUMERIC);
         private Command back = new Command("Back", Command.BACK, 0);
         private Command accept = new Command("Accept", Command.OK, 1);
         private Command viewNote = new Command("View player note", Command.SCREEN, 1);
         private Command clear = new Command("Clear", Command.OK, 1);
         private Command detailedNote = new Command("Add player note", Command.SCREEN, 1);
         private Ticker addPlayerTicker = new Ticker("Please enter player details.");
         public AddPlayerScreen(GSAP midlet)
              super("NEW PLAYER DETAILS");
              this.midlet = midlet;
              append(firstName);
              append(lastName);
              append(telNumber);
              append(emailAddress);
              append(handicap);
              addCommand(back);
              addCommand(accept);
              addCommand(viewNote);
              addCommand(clear);
              addCommand(detailedNote);
              setTicker(addPlayerTicker);
              setCommandListener(this);
         public void commandAction(Command c, Displayable d)
              String label = c.getLabel();
              if(label.equals("Back"))
                   midlet.playerMenuScreenShow();
              else if(label.equals("Accept"))
                   addRecord();
                   RecordStoreDetails();
              else if(label.equals("Add player note"))
                   note();
              else if(label.equals("View player note"))
                   //System.out.println("View player note");
                   sa.go();
              else if(label.equals("OK"))
                   System.out.println("Note saved");
                   midlet.addPlayerScreenShow();
              else if(label.equals("Clear"))
                   firstName.setString("");
                   lastName.setString("");
                   telNumber.setString("");
                   emailAddress.setString("");
                   handicap.setString("");
         public void note()
              TextBox note;
              Command ok;
              ok = new Command("OK", Command.BACK, 1);
              note = new TextBox("Player note: ", "", 243, TextField.ANY);
              note.addCommand(ok);
              note.setCommandListener(this);
              note.setString("");
              Display.getDisplay(midlet).setCurrent(note);
         //Method to create record store if not already created and add record
         public void addRecord()
              RecordStore rs = null;
              //add a record.
              try
                   //Open record store or create it if it does not exist.
                   rs = RecordStore.openRecordStore("PLAYERSTORE", true);
                   System.out.println("PLAYERSTORE open");
                   String stringRecord = firstName.getString() +","+ lastName.getString() +","+ telNumber.getString() +","+ emailAddress.getString() +","+ handicap.getString();
                   byte []recordBytes = stringRecord.getBytes();
                   int recordId = rs.addRecord(recordBytes,0,recordBytes.length);
                   System.out.println("A record has been added");
                   System.out.println("Close the record store");     
                   playerAddedAlert();
              catch(RecordStoreNotFoundException rsnfe)
                   System.out.println("The record store you are trying to open does not exist :"+rsnfe);
              catch(RecordStoreFullException fsfe)
                   System.out.println("The record store cannot store anymore data :"+fsfe);
              catch(RecordStoreException rse)
                   System.out.println("An error has occured when using the record store :"+rse);
              try
                   rs.closeRecordStore();
                   System.out.println("PLAYERSTORE closed");
              catch( RecordStoreNotOpenException e )
                   System.out.println("Record store already closed!");
              catch( RecordStoreException e )
                   System.out.println("Exception:"+e);
         public void playerAddedAlert()
              Alert message = new Alert("PLAYER SUCCESSFULLY ADDED", "The player " + firstName.getString() +" "+ lastName.getString() + " has been successfully added.", null, AlertType.INFO);
              Display.getDisplay(midlet).setCurrent(message);
              message.setTimeout(3000);
              firstName.setString("");
              lastName.setString("");
              emailAddress.setString("");
              handicap.setString("");
              telNumber.setString("");
    //-----------------------------------------------------------------------------Method to test the RecordStore, this is a method that was used during the testing of this MIDlet---------------------------------------------------------------------------------------------------------------
         public void RecordStoreDetails()
              try
                   //Open record store or create it if it does not exist.
                   rs = RecordStore.openRecordStore("PLAYERSTORE", true);
                   System.out.println("The name of the recordstore is: "+rs.getName());
                   System.out.println("The record store was last modified on: "+rs.getLastModified());
                   System.out.println("The record store version is: "+rs.getVersion());
                   System.out.println("The size of the record store is: "+rs.getSize());
                   System.out.println("The available space for the record store to use is: "+rs.getSizeAvailable());
              catch(RecordStoreNotFoundException rsnfe)
                   System.out.println("The record store you are trying to open does not exist :"+rsnfe);
              catch(RecordStoreFullException fsfe)
                   System.out.println("The record store cannot store anymore data :"+fsfe);
              catch(RecordStoreException rse)
                   System.out.println("An error has occured when using the record store :"+rse);
              try
                   rs.closeRecordStore();
                   System.out.println("PLAYERSTORE closed");
              catch( RecordStoreNotOpenException e )
                   System.out.println("Record store already closed!");
              catch( RecordStoreException e )
                   System.out.println("Exception:"+e);
    So you can see that a player is added to the record store, but when i try and take a look at a list of players that I have constructed the player just added is not present??? Its only when I exit the MIDlet completely and then re-enter it that the player list is fully updated with the new player.

  • CAS - Record Store instances Consistency- Guided Search V 11.1

    Hi,
    I'd like to get some feedback in terms of using the traditional Forge/pipeline process Vs new CAS-based process with record stores (forge less process) with “Store Merger” crawler. The latest oracle documentation recommends using CAS for any data ingestion process, however I’d like to know how it performs in a real production environment/known bugs/Are there any big retail customers who is using this new process.
    Planning to push the products and the dim val records in the record store instances using the record store java client directly from the backend/PIM (Product information management system). (Product data flow is : PIM >> Enterprise BUS >> Record Store instances). Would like to know the stability/reliability of record store instances.
    Any help is appreciated
    Thanks
    Mohamed

    Sorry, no, you can't back up the CAS record stores with that approach.  The two approaches to backing up CAS are to:
    - Shut down the CAS service and back up the /CAS/workspace/state folder
    - Use the recordstore-cmd.sh script to read data from the record stores
    Page 151 in this document has some more details.   ( http://docs.oracle.com/cd/E55325_01/CAS.110/pdf/CASDevGuide.pdf )
    Note that you can't replace the underlying database with one of your choosing as it's all baked into the product.

  • How can I convert string to the record store with multiple records in it?

    Hi Everyone,
    How can I convert the string to the record store, with multiple records? I mean I have a string like as below:
    "SecA: [Y,Y,Y,N][good,good,bad,bad] SecB: [Y,Y,N][good,good,cant say] SecC: [Y,N][true,false]"
    now I want to create a record store with three records in it for each i.e. SecA, SecB, SecC. So that I can retrieve them easily using enumerateRecord.
    Please guide me and give me some links or suggestions to achieve the above thing.
    Best Regards

    Hi,
    I'd not use multiple records for this case. Managing more records needs more and redundant effort.
    Just use single record. Create ByteArrayOutputStream->DataOutputStream and put multiple strings via writeUTF() (plus any other data like number of records at the beginning...), then save the byte array to the record...
    It's easier, it's faster (runtime), it's better manageable...
    Rada

  • Help needed in deploying a record store

    i have to deploy a MIDlet suite over OTA my MIDlet is not able to access Record store which is in /home/Rizwan/WTK2.2/appdb/DefaultColorPhone/record.db how
    Jaring is achieved
    Thankx in advance

    You can't jar and deploy it. You'll need to fill the RMS from some file in your jar the first time you start your midlet.

  • Captivate 8 Tin Can - problem communicating with the learning record store

    When publishing a course to Tin Can format, what should I enter in the 'Identifier' field?
    If I publish with the default 'Course_ID1' text, I get an error when launching the course on our LMS. Errors says "There was a problem communicating with the learning record store."

    Hello,
    Welcome to Adobe Forums.
    Please share your contact information via [email protected]
    Thanks,
    Vikram Gaur
    Adobe Support

  • Record store size?

    are there any limitations to which a record store can expand?
    or to maximum number of record store a application can create?
    thanks

    Thanks for replying.
    I have found that older phones (mainly MIDP 1.0) have fixed size of space allocated to application. Say, on Nokia 6610 the application cannot take more than 20400 bytes.
    But, newer phones (MIDP 2.0) like Nokia 6230,3220,6600 have shared storage space and an application can consume all that is available.
    This implies we cannot make an application which requires more than ~19KB data on older phones.
    It would be great if some one could further throw some light on this issue?

  • Need advice: About record store

    Hi,
    I am developing an application which will first display a list of options to users (multiple choice i.e. with check boxes). The list of options could be anything, such as movie titles, etc.
    The application will need to allow users to select their options by
    checking the check box, and save the selected ones in record store.
    My problem is, the next time when users launch the application, how
    should it read in the records from record store, such that options
    previously selected by them are "checked"? For instance, a user selected "Stardust" and exit the application. Then when he re-launches the application, he will see "Stardust" as checked.
    I was thinking of using a loop, which will read in each record, and compare with the list; then check those which are identical. But I reckon this is rather inefficient? How shall I solve the problem?
    Thanks in advance :)

    Hmm... maybe I misunderstood your application. Where do you load the list, I thought it was from the RecordStore.
    If you save only the selected items in rms, you've already done all you need to do.
    Hey, by "control character" I didn't mean any special character. If I had to save all items and their selection status, I would probably prepend "Y" or "N" for the selection status and when loading, read the first character for status and the rest of the String for the name.
    There may be a more efficient way to so this but I don't know of any. Keep checking back, some professional developer may offer advice.
    Cheers, db

  • Implementing an online store using iweb

    I understand that iWeb isn't really designed for creating online stores, but it's the only application I have real experience in using.
    So I was wondering if there's anyway to implement an online store into my iWeb website.
    I have heard some talk of somehow implementing an oscommerce application into the website?
    Any help would be much appreciated!

    Here's a few suggestions....
    http://www.iwebformusicians.com/DistributeandPromote/ECommerce.html

  • 6230i 'record store full' when it isn't

    When I download emails I get 'record store full' message. I have deleted all messages and all pitures. When I go to 'e-mail storage' it shows me that my inbox has zero messages, but it says that my inbox is 73% full! All other folders are empty. I have removed the card, sim, battery etc and restarted - no difference. Is this a hardware problem?
    PS This used to work fine till yesterday - I always use my phone to download emails.

    I have now solved the problem which suddenly apeared a few weeks ago. I backed up the entire phone using PC-suite having first saved all my contacts on the SIM card. (I don't trust the contacts management in PC-suite.)
    I then had the phone software upgraded by my local dealer. I now have: nokia 6230i V 03.88 vs before V 03.70, 28 jul 06 RM-72, GSM P1.1
    I then restored from the backup and got most of it back. Some minor problem with display etc settings. I also lost the email settings but I could download from my mail provider and it now works. The key seems to be that my inbox setting which before shoved 0 messages but 31% utilisation now is back to 0%.
    Cheers JATO

  • Failed to configure schema record store. Failed to initialize record stores

    hi guys,
    i am creating endeca app using depolyment template module.
    While runnig intilalise_services.bat , i am facing this issue....
    Can anybody tel me the solution?
    Creating fresh record stores:
    Successfully created component: Discover_en_schema
    Successfully created component: Discover_en_dimvals
    Successfully created component: Discover_en_prules
    Successfully created component: Discover_en_data
    ==================================================
    Deploying rs configs:
    Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Response was of unexpected text/html ContentType. Incoming portion of HTML stream: <HTML><HEAD><TITLE>Direc
    <H1>Directory: /Discover_en_schema/</H1>
    <TABLE BORDER=0>
    <TR><TD>WEB-INF/ </TD><TD ALIGN=right>0 bytes </TD><TD>Jan 17, 2013 11:50:08 AM</TD></TR></TABLE>
    </BODY></HTML>
    at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:156)
    at $Proxy53.setConfiguration(Unknown Source)
    at com.endeca.itl.recordstore.cmd.task.SetConfigurationTask.process(SetConfigurationTask.java:30)
    at com.endeca.itl.cmd.BaseCmd.run(BaseCmd.java:412)
    at com.endeca.itl.recordstore.cmd.RecordStoreCmd.main(RecordStoreCmd.java:111)
    Caused by: org.apache.cxf.interceptor.Fault: Response was of unexpected text/html ContentType. Incoming portion of HTML stream: <HTML><HEAD><TITLE>Directory: /Discover_en_s
    <H1>Directory: /Discover_en_schema/</H1>
    <TABLE BORDER=0>
    <TR><TD>WEB-INF/ </TD><TD ALIGN=right>0 bytes </TD><TD>Jan 17, 2013 11:50:08 AM</TD></TR></TABLE>
    </BODY></HTML>
    at org.apache.cxf.interceptor.StaxInInterceptor.handleMessage(StaxInInterceptor.java:79)
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
    at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:797)
    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1618)
    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1491)
    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1399)
    at org.apache.cxf.io.AbstractWrappedOutputStream.close(AbstractWrappedOutputStream.java:72)
    at org.apache.cxf.io.AbstractThresholdOutputStream.close(AbstractThresholdOutputStream.java:102)
    at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
    at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:646)
    at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
    at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:533)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:463)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:366)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:319)
    at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:88)
    at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:134)
    ... 4 more
    Failed to configure schema record store.
    Failed to initialize record stores.

    This is related to the Oracle Endeca Commerce product. You should try your post in that forum.
    Technical Questions

  • Software to build on-line record store

    Are there any off the shelf packages that
    will enable me to build an ON-LINE RECORD STORE,
    that includes listening to samples of music
    downloading music etc, searcing. I have to do it within 6 weeks I Basically want to use one package without
    use many software packages OR USING cgi, jsp's or asp.

    Crosspost.

  • How to parse a record (from record store) to String?

    Hi,
    I have a record store which stores movie titles specified by users (from multiple-selection list). I tried to access the records using nextRecord() from RecordEnumeration. This would return a byte array.
    How shall I parse the byte array to a String? I tried ByteArrayInputStream toString() method; I tried creating a new String with the byte as parameter. But it simply does not produce the original String. Sometimes it gives me something like a hex. string. Can anyone point out what has gone wrong?
    Thanks.

    lily2007 wrote:
    toString() returns this: "java.io.ByteArrayInputStream@1cb37664"
    What does it mean?That means that toString() is not overridden and does not return the content of the stream as a bytearray (ByteArrayOutputStream however does do this).
    I tried the new String(byte) method and got back the original String but with some whitespace in front.Let me guess: you write the string using writeUTF()?

  • Read from multiple record stores sequentially

    I am a newbie using OEID 3.0 and CloverETL to store some crawled data (using IAS) in the data domain. I am crawling each website in a separate record store, and I've encountered this problem in CloverETL I can't resolve:
    So I have multiple record stores (e.g., rs1, rs2,..., rs1000), and what I need to do is to run a graph (the same graph) sequentially for all these record stores, through changing the record store name in "Record Store Reader" component. The graph simply stores the RS data in a data domain. Could you help me how to achieve this? Basically I need a loop to rerun the graph each time through changing the "Record Store Instance" property at each iteration.
    Thanks!

    I noticed you said you were doing website crawls with IAS (as opposed to CMS or FileSystem crawls).  Personally, when crawling website, I always prefer to output the crawl to XML instead of a recordstore.  Since webcrawls do not have any CDC mechanism (change data capture) you're really left conducting the whole crawl every time as there is no way to detect website page change to only crawl what's changed incrementally.  For FileSystem crawls and CMS crawls, recordstores are very handing in accomplishing and tracking the incremental change. 
    So, if you do decide, like me, to output to XML for your website crawls, you can forego the RS read and simply use a XML reader to pick up multiple XML files.
    HTH,
    Dan
    http://branchbird.com

Maybe you are looking for

  • Can you help me with these exceptions??

    Hi guys, from sunday i try to eliminate these exceptions from my jsf application and i've lost any confidence in my possibility to realize it..... It's surely a simple problem but i'm a newbie of jsf and java. These are the exadel msg type Exception

  • File download and Upload using SOAP in Oracle ADF

    Hi Gurus, I have a requirement of Uploading and downloading a file on a location. It is for uploading and downloading an Attachments for a user. I have a table in my jspx page for showing the current attachments and an option to upload a new attachme

  • Menu, Nav, Favourites and Toolbars are not displaying.

    Heres a screen shot of Firefox on my computer - [http://i.imgur.com/meaTv.jpg http://i.imgur.com/meaTv.jpg http://i.imgur.com/meaTv.jpg http://i.imgur.com/meaTv.jpg] of Everything at the top. No Bookmarks bar, nav bar, toolbars, nothing. I was trying

  • Visual Corruption Attacks

    'd just got my G4 back to school, when I found that the ribbon connector to the Superdrive was jostled loose when I took my G4 in to TekServe for a new power supply. I re connected it, but now the picture was SERIOUSLY messing up. There was heavy vis

  • Can't login to iCloud email, even after resetting the password via iForget. No access in the iCloud website nor in Apple Mail...

    Hi all, can't find the solution for this, have already resetted the password via iforget. iCloud site accepts my password but then gives me an error while trying to access my email. In Apple Mail, after updating the password, it still tells me that i