Push registry( MIDP 2.0)

Hello,
When i launched the application "PushMIDlet" at "http://wireless.java.sun.com/midp/articles/pushreg/",
A warning appeared:
could not write push registration file((null)): NULL filename
where's the registration file??
what are the potential problems?
Thank you!

I found an answer to this at: http://archives.java.sun.com/cgi-bin/wa?A2=ind0303&L=kvm-interest&F=&S=&P=14831
<quote>
Are you trying to run the MIDlet using the 'Run' button on the Ktoolbar?
The push mechanism is handled by the AMS, therefore, in order to test
a MIDlet which uses this mechanism, you must run your MIDlet through
OTA. Try running your MIDlet by selecting the 'Run via OTA' item in the
Project menu of the KToolbar.
</quote>

Similar Messages

  • Push registry in MIDP 2.0

    Hi
    I want to know that what is the Difference between Push Registry and notifyIncomingMessage in WMA.
    Anupam..

    Push registry is common for all kind of service. lets take after some time you want your application to start. or you want to invoke your application depend on Time /SMS and etc.
    That time it will help to implement by using Push Registry.
    but another one specific to SMS.

  • Push registry in MIDP, shutdown cellphone effect

    Hello Everyone
    Once a midlet is registered, it will be forever registered? i.e. even if we turn off and on the cell phone the midlet will still listen to the port. If not, how can we persist it over shutdown? If yes, who take care of registring it again when we turn on the phone?
    Thank you
    Roy

    AMS will take care of Push registry regardless of changing the SIM card
    Pravin

  • Help in Push Registry On S40

    i have a problem in push registry on s40
    it throw the exception
    ClassNotFoundException : Midlet Not Found
    i try the Same Code In S60 it run Well
    The Code::::
    private void Test() {
    try {
    System.out.println
    ("Befffforrrrrrrrrrrrr");
    long x= DF.getDate().getTime();
    prevalarm = PushRegistry.registerAlarm(this.getClass().getName(),x);
    System.out.println
    ("Afterrrrrrrrrrrrrrrrrrrrrrrrr");
    catch (ConnectionNotFoundException ex) {
    System.out.println("Erorororo 1 :"+ex.getMessage().toString());
    catch (ClassNotFoundException ex) {
    System.out.println("Erorororo 2 :"+ex.getMessage().toString());
    /**************************/The Jad file
    MIDlet-Name: DemoForFun
    MIDlet-Version: 1.8
    MIDlet-Vendor: DemoForFun
    MicroEdition-Profile: MIDP-2.0
    MicroEdition-Configuration: CLDC-1.1
    MIDlet-Jar-URL: DemoForFun.jar
    MIDlet-Jar-Size: 2096
    MIDlet-Permissions: javax.microedition.io.PushRegistry
    MIDlet-1: DemoForFun, , DemoForFun

    S40 Is MIDP 2.0
    The Series 40 Platform 1st Edition supports Java� 2 Platform, Micro Edition (J2ME�) APIs, including Mobile Information Device Profile (MIDP) 1.0, Connected Limited Device Configuration (CLDC) 1.0, and Nokia's user interface APIs
    The Series 40 Platform 2nd Edition added J2ME MIDP 2.0 with Java Specification Requests (JSRs), implementation of Wireless Messaging API (JSR 120), Mobile Media API (JSR 135), and Java APIs for Bluetooth (JSR 82).
    Series 40 Platform 3rd Edition extends J2ME support, implements CLDC 1.1 and MIDP 2.0, and expands on the provision of messaging, mobile media, and Bluetooth technology APIs with support for FileConnection and personal information manager (PIM) (JSR 75), as well as Mobile 3D Graphics (JSR 184).

  • Error on push registry  feature

    Hi admin,
    I am doing, Add MIDP 2.0's push registry feature to device application.
    It workS fine on J2ME wireless toolkit(KTOOLBAR) and i have implemented
    push registry to my project in netbeans. It builds successfully but when
    i run, it producing the following error.
    startApp threw an Exception
    java.lang.IllegalArgumentException: Port format
    at com.sun.midp.io.j2me.sms.Protocol.openPrimInternal(+281)
    at com.sun.midp.io.j2me.sms.Protocol.openPrim(+8)
    at javax.microedition.io.Connector.openPrim(+233)
    at javax.microedition.io.Connector.open(+15)
    at javax.microedition.io.Connector.open(+6)
    at javax.microedition.io.Connector.open(+5)
    at com.sample.MySamplePushRegistry.startApp(+45)
    at javax.microedition.midlet.MIDletProxy.startApp(+7)
    at com.sun.midp.midlet.Scheduler.schedule(+270)
    at com.sun.midp.main.Main.runLocalClass(+28)
    at com.sun.midp.main.Main.main(+116)
    Execution completed.
    Wat could be the problem?... pl clarify me...

    hi,
    i have use this code for getting smsport smsPort = getAppProperty("SMS-Port"); and "SMS-Port" this one is initialized in wireless toolkit in user defined settings as 50001.
    if any correction shall i do...

  • Push registry with WTK22

    Static push registry works well in WTK 22, but when I try to register Push registry dynamically, the emualtor seems to be OK (no exception is thrown, pushRegistry is registrated), but it does not work. Nothing is listening at the specified port. (I use datagram connection) Does anyone knows where is the porblem?

    hi ,
    would u mind sharing ur knowledge on getting
    the IP address and msisdn of midp clients
    via Radius server ?
    Will all network operators allow it ?
    Is there any standard java APIs for that ?
    regards

  • Push Registry headless app

    The [push registry page|http://developers.sun.com/mobility/midp/articles/pushreg/] mentions:
    User interface and headless applications - Even though it's possible to create a push-activated MIDlet that exposes no user interface, doing so may confuse the user - at a minimum, provide a simple screen that tells the user what your application is attempting to do.
    I would like to create a headless application... well I have a front end, but I would like push-woken portion to have no UI. If I supply no Displayable, the Java splash is shown until notifyDestroyed().
    I'm sure this is possible on platforms that allow multiprocessing such as WinMo, Ericsson, and Android, but I'm hoping there's some native Java way to prevent any UI from being displayed (splash screen included).

    Hi, I think that it's fully possible only in MIDP-3.0.
    Anyway, try to play with the MIDlet.notifyPaused method(). However I've never tried it yet. You must check the behaviour on particular handset because it may not be the same on all handsets.
    Rada

  • How to handle multiple SMS using push registry

    Hello all
    I m using push registry. for incomming sms
    My application have some tasks after reciving sms form a particular phone no. Application will starts When u get a SMS from a number say 122222.
    After reciving an sms application is busy in further task.
    What will happen when another sms comes??
    Will Application Suspendes?? or application listen that sms??

    hi vinay,
    My name is lakshman.I am alos trying to implement the sms and call option to my application.
    If you don't mind can you give me suggestions in the following
    1) how to Implement the call option in our application
    2)how to implement the sms option in our application
    i am waiting for your reply
    thanks in advance
    or else give me the site address where i can find the solutions
    ok thankyou
    lakshman

  • Push Registry : MIDlet  activated by servlet ?

    hello, i have been trying to figure this out for days now could someone please help. I am trying to get the MIDlet to by activated by a Servlet which resides on a apache webserver , is this possible?
    how do you go about in getting the MIDlet to register a connection which waits for some activity sent via HTTP? do you register a socket to listen on a port on the device and get the servlet to send data to that port via HTTP?(if so how is this done?)
    Basically all i am trying to do is get a servlet to send data to the midlet. The MIDlet is installed from the webserver with ease, i want the midlet to wait till the server decides to send some data. the servlet will activate the midlet (this is the problem) , so then the midlet will open the http connection to the servlet.
    Please ask if the question needs clarifying, I would be very thankful for any advice provided.
    cheers
    Max

    thanks for info
    i have been trying for a while now and cant seem to get this working what i have got is a MIDlet that listens on port 90 of a socket connection. i am trying to create a Servlet that sends data onto port 90 so the midlet can be activated via the push registry. i am having the trouble with the servlet(which i cant get working, i assume that the code is wrong), i cant seem to get a socket connection working, i have tried to open a socket connection but have had no luck.
    i have posted some code, the MIDlet is there and so is my attempt at a servlet.
    what i want to do is get the servlet sending the midlet data on a specified port
    and the midlet recieveing that data and displaying it on the mobile emulator
    (so far all the MIDlet code does is listen for some activaty on port 90 and then send some data to the browser on the following url : http://localhost:90/)
    if anyone can get this problem on this example code i am testing on, fixed it would be much appreciated!!
    Thanks
    Max
    import java.io.*;
    import javax.microedition.io.*;
    import javax.microedition.midlet.*;
    import javax.microedition.lcdui.*;
    import javax.microedition.pki.*;
    public class PatchyMIDlet
        extends MIDlet
        implements CommandListener, Runnable {
      private Display mDisplay;
      private Form mForm;
      private ServerSocketConnection mServerSocketConnection;
      private boolean mTrucking = true;
      public void startApp() {
        mDisplay = Display.getDisplay(this);
        if (mForm == null) {
          mForm = new Form("PatchyMIDlet");
          mForm.addCommand(new Command("Exit", Command.EXIT, 0));
          mForm.setCommandListener(this);
        Thread t = new Thread(this);
        t.start();
        mDisplay.setCurrent(mForm);
      public void pauseApp() {}
      public void destroyApp(boolean unconditional) { shutdown(); }
      private void log(String text) { log(null, text); }
      private void log(String label, String text) {
        StringItem si = new StringItem(label, text);
        si.setLayout(Item.LAYOUT_NEWLINE_AFTER);
        mForm.append(si);
      private void shutdown() {
        mTrucking = false;
        try { mServerSocketConnection.close(); }
        catch (IOException ioe) {}
      public void commandAction(Command c, Displayable s) {
        if (c.getCommandType() == Command.EXIT) {
          shutdown();
          notifyDestroyed();
      public void run() {
        try {
          mServerSocketConnection =
    (ServerSocketConnection)Connector.open("socket://:90");
          log("Startup complete.");
          SocketConnection sc = null;
          while (mTrucking) {sc =
    (SocketConnection)mServerSocketConnection.acceptAndOpen();
            log("client: ", sc.getAddress());
            // Strictly speaking, each client connection
            // should be handled in its own thread. For
            // simplicity, this implementation handles
            // client connections inline.
            Reader in = new InputStreamReader(sc.openInputStream());
            String line;
            while ((line = readLine(in)) != null) ;
            // Ignoring the request, send a response.
            PrintStream out = new PrintStream(sc.openOutputStream());
            out.print("HTTP/1.1 200 OK\r\n\r\n");
            out.print(getMessage());
            out.close();
            in.close();
            sc.close();
        catch (Exception e) {
          log("exception: ", e.toString());
      private String readLine(Reader in) throws IOException {
        // This is not efficient.
        StringBuffer line = new StringBuffer();
        int i;
        while ((i = in.read()) != -1) {
          char c = (char)i;
          if (c == '\n') break;
          if (c == '\r') ;
          else line.append(c);
        if (line.length() == 0) return null;
        return line.toString();
      private java.util.Random mRandom = new java.util.Random();
      private String getMessage() {
        int i = Math.abs(mRandom.nextInt()) % 5;
        String s = null;
        switch (i) {
          case 0: s = "Above all the others we'll fly"; break;
          case 1: s = "There is no reason to hide"; break;
          case 2: s = "I dreamed about Ray Charles last night"; break;
          case 3: s = "Someone keeps moving my chair"; break;
          case 4: s = "Joseph's face was black as night"; break;
          default: break;
        return s;
    }the Servlet code, which i cant get working:
    import javax.servlet.http.*;
    import javax.servlet.*;
    import java.io.*;
    import java.net.*;
    import java.lang.*;
    public class Servlet extends HttpServlet {
      private int mCount;
      public void doGet(HttpServletRequest request, HttpServletResponse response) throws
          ServletException, IOException {
        String message = "Hits: " + ++mCount;
        String connectString = "socket://:90";
        SocketConnection sc = null;
        DataOutputStream dos = null;
          // open a socket connection with the remote server
          sc = (SocketConnection) Connector.open(connectString);
    // an OutputStream is created on top of the
          // OutputConnection object for write operations
          dos = sc.openDataOutputStream();
    // perform write operations
          dos.writeChars("hello");
      }

  • Sockets and push registry

    Hello,
    I want to get a socket connection between a MIDlet and servlet whats the best was to do this? so i can send information back and forth
    ( the MIDlet needs to be activated also by the socket connection from the Servlet)
    I have read the article on push registry but still am a bit in the dark.
    Thanks.

    Find your answer here :
    http://discussion.forum.nokia.com/forum/showthread.php?p=184664#poststop
    SD

  • Push Registry is not starting the MIDLET automatically

    I am not being able to start my MIDLET using the push registry mechanism. I am using the netbeans emuluator to execute the program.
    In the startApp of my application I have
         connections = PushRegistry.listConnections(false);
    and whenever a connection comes it starts a new thread. My Client keeps sending SMS requests but the server midlet in which the
    push registry is initiated does not start.
    In the application Descriptor I have added the following
    MIDLET class : Server.SMSReceive_S
    Sender IP : *
    Connection String : sms://:5000
    and in the API permissions I have added the following API permissions
    javax.microedition.io.PushRegistry, javax.wireless.messaging.sms.receive, javax.wireless.messaging.sms.send
    I have even tried to start the MIDLET dynamically by calling
         PushRegistry.registerConnection(smsConnection,this.getClass().getName(),filterName);
    but that too doesnt work?
    So what am I doing wrong in starting the MIDLET automatically using push registry?

    Hi, Malte
    I have given individual nodes address in db2nodes.cfg,  as per your instruction I have run the db2 list database directory I have got the following output
    System Database Directory
    Number of entries in the directory = 1
    atabase 1 entry:
    Database alias                       = SOP
    Database name                        = SOP
    Local database directory             = /db2/SOP
    Database release level               = b.00
    Comment                              = SAP database SOP
    Directory entry type                 = Indirect
    Catalog database partition number    = 0
    Alternate server hostname            =
    Alternate server port number         =
    => db2 list node directory
    => SQL1027N  The node directory cannot be found
    Regards

  • Question about push registry

    hello, I'm a beginner in j2me and I'm developing an application that receive a message via socket, and I want my application to be always ready to receive the message even if it not running. I thought of static push registry put the thing I couldn't understand are:
    - my application must send different messages for each clients, so is pushing to the registry will help me here ??
    - when I use it how the connection be established (I mean do I have to write connecter.open()), because I use the dynamic one and by the example provided by sun I create the connection and then push it to registry ..???
    - do I need some specific code to be written on the server side ?
    - can u please give the steps of how to test static push registry ??
    hope u will help me ^_^
    thanks

    I understood what I want but I stuck in a problem with static push-registry, it work fine on the emulator but when I install it on a real device nothing happen.
    the device I use is E71 .. I want to know if anyone try push with it and he success or E71 is not supporting static push-registry.
    when I install the application it dose ask me if I agree to run it automatically ..... also, I try the dynamic one and it success...
    thanks

  • Whats the logic in push registry???

    hi,
    was jus doin this push registry thing. in short Midlet registers itself to AMS then whenever some event occurs such as time or something happnes at specific port then midlet is started....
    but in example application i saw and tried to make i have to keep my listner midlet running so that it can listen to push events. now wheres that AMS working.....????
    i thought push registry was some sort of demon working beind the scene and gets activated only when some event occurs. infect i should not call it deamon according to book it is dead and only activates when called by AMS due to some registred event....
    AAqib

    I don't understand the question. The Docs are pretty specific here...
    "When the application is not running, the application management software(AMS) listens for inbound notification requests. When a notification arrives for a registered MIDlet, the AMS will start the MIDlet via the normal invocation of MIDlet.startApp method."
    Like the docs say, your applet will be started when the desired even occurs. It does not need to be running to listen for events. This really is how it works. If you use the 'Alarm' functionality, your midlet will be started after a set amount of time. The Javadoc's on the PushRegistry even have example code.
    Are you having trouble with something specific?

  • PUSH REGISTRY will work in Emulator or not

    I want to know how to use push registry .
    First i will change the JAD file .
    When i run this in emulator , the changes made in JAD files are again changed to the default .
    So how to use this in emulator . Give the steps for that .
    Edited by: sathiya_sathiya on Apr 15, 2009 9:52 PM

    Please explain more details here so that you will get correct and appropriate answer for your query.

  • 0x80070005 when trying to push Registry Settings via GPP on 2008R2 Servers

    Hello,
    I'm trying to push registry settings via Group Policy Preferences to a group of Windows Server 2008 R2 to set dynamic RPC ports range, but I keep getting an error 0x80070005 Access is denied
    The Registry Settings I need to push are these
    Ports (REG_MULTI_SZ) 49150-49200
    PortsInternetAvailable (REG_SZ) Y
    UseInternetPorts (REG_SZ) Y
    these settings are part of a GPO which gets applied to the computers without problem. Only the registry part fails:
    The computer 'Ports' preference item in the 'SQLServerGPOV {A9BB3E68-6275-44BC-A982-E6F8B3B02C26}' Group Policy object did not apply because it failed with error code '0x80070005 Access is denied.' This error was suppressed.
    The computer 'PortsInternetAvailable' preference item in the 'SQLServerGPOV {A9BB3E68-6275-44BC-A982-E6F8B3B02C26}' Group Policy object did not apply because it failed with error code '0x80070005 Access is denied.' This error was suppressed.
    The computer 'UseInternetPorts' preference item in the 'SQLServerGPOV {A9BB3E68-6275-44BC-A982-E6F8B3B02C26}' Group Policy object did not apply because it failed with error code '0x80070005 Access is denied.' This error was suppressed.
    Security filtering is set to Authenticated Users and Domain Computers like other GPOs
    I have tried Diagnostic group policy logging, but I do not see the reason of this error. Log is on pastebin HERE
    Any help appreciated. Thanks

    > Ports (REG_MULTI_SZ)    49150-49200
    > PortsInternetAvailable (REG_SZ)    Y
    > UseInternetPorts (REG_SZ)    Y
    What's the parent key of these values? And what ACLs are set on this
    parent key?
    Even SYSTEM does NOT have write access to all parts of the registry...
    Martin
    Mal ein
    GUTES Buch über GPOs lesen?
    NO THEY ARE NOT EVIL, if you know what you are doing:
    Good or bad GPOs?
    And if IT bothers me - coke bottle design refreshment :))

Maybe you are looking for