Skip navigation
Currently Being Moderated

LCDS 2.6 -> 3.1, now getting Server.Processing.NotSubscribed error

Jun 22, 2010 1:45 PM

Ever since migrating our application (AIR Client, serverTomcat 6) from LCDS 2.6 to 3.1, I keep getting this error:

 


                          Fault Code: Channel.Polling.Error;    FaultString: error
Root Cause:        Fault Code: Server.Processing.NotSubscribed;    FaultString: The client has no active subscriptions over endpoint 'my-amf-polling'.

 

 

 

It happens at seemingly random times while the AIR client is connected to the server (both server and client running on the same machine).
If it fails, I get the error for a couple of operations (sometimes 10, 15, 20 seconds apart), but after a while things start working again.

 

It always happens when I perform large fill operations in order to cache data for future offline operation.

 


Does anyone have any ideas what changed from LCDS 2.6 to 3.1 that may cause this?

Any hints, ideas, advice, thoughts, .. are greatly appreciated!


Thanks,
Gerda

 
Replies
  • Currently Being Moderated
    Jan 21, 2011 1:52 AM   in reply to gerda j.

    Hello,

     

    Did you find a solution for your problem ?

    I have the same problem and I realy don't know what to do.

     
    |
    Mark as:
  • Currently Being Moderated
    Jan 26, 2011 7:12 AM   in reply to gerda j.

    You should ensure that you have a channel connect handler function that will re-execute the fill when the server is reconnected.  Otherwise if a client is not connected for a while (or the server is restarted) the subscriptions it has to the fill will be gone and you may get a message like the one you are seeing.

     

    Tom

     
    |
    Mark as:
  • Currently Being Moderated
    Aug 2, 2011 1:56 PM   in reply to tomj

    Tom, Can you please provide more information on "channel connect handler function".

     
    |
    Mark as:
  • Currently Being Moderated
    Aug 2, 2011 2:49 PM   in reply to Divyakumar Jain

    You should establish an event handler on the DataService channel object that will get called on the CONNECT event.

     

    Something likethe following:

    channel.addEventListener(ChannelEvent.CONNECT, channelConnectHandler);

     

    And have a function defined that re-executes fills if needed:

    public function channelConnectHandler(event:ChannelEvent):void 
    { 
      myDataService.fill(...);
    } 

     

    I am sorry I can't find a good example to point you to.  Our documentation needs one!

     

    Tom

     
    |
    Mark as:
  • Currently Being Moderated
    Aug 2, 2011 2:53 PM   in reply to tomj

    Here is a good (if older) example from Christophe Coenraets

      http://coenraets.org/blog/2008/05/insync-automatic-offline-data-synchr onization-in-air-using-lcds-26/

     

    It shows the network status monitoring.

    Tom

     
    |
    Mark as:

More Like This

  • Retrieving data ...

Bookmarked By (0)

Answers + Points = Status

  • 10 points awarded for Correct Answers
  • 5 points awarded for Helpful Answers
  • 10,000+ points
  • 1,001-10,000 points
  • 501-1,000 points
  • 5-500 points