Getting BadLinkURI after 45 seconds

I am getting the BadLinkURI after 45 seconds of waiting for the server to return the request which made me think it was the navtimeout setting in config.xml. However, after changing this to 5000 it still took 45 seconds to receive the BadLinkURI. Is there some other setting that has a 45 second default timeout?  I am looking to increase the timeout of 45 seconds.

------ Update

I have found that updating the navigationTimeout property in javascript works:

Rho.WebView.navigationTimeout = 60000; //60 seconds


Does anyone know if the property above is any different then the config.xml setting?

  <Navigation>

    <NavTimeout value="60000"/>

  </Navigation>

Kutir Mobility
Roger,Could you please share

Roger,

Could you please share some more details like device used, device os, what exactly you are trying, RMS versions and so on.

Visnupriya R

Kutir Mobility

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Roger Serfling
Hello,I am using a MC9190

Hello,

I am using a MC9190 with RhoElements 4.1.1.  I point RhoElements to a web site in the config file and everything works just fine in that aspect but one of the server requests can take longer than 45 seconds which prompts with the badlinkuri. If I run the same task in chrome the success/error message is received by the browser just fine.

I found there was a navtimeout setting in config.xml with 45 seconds but when I changed that to 5 seconds it still prompted the badlinkuri after 45 seconds...so there must be some other timeout setting.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Kutir Mobility
Roger,Set network request

Roger,

Set network request timeout as

net_timout = 60 in Rhoconfig file and give it a shot.

Visnupriya R

Kutir Mobility

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Roger Serfling
Still receive the badlinkuri

Still receive the badlinkuri after 45 seconds

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Brandt Wijbenga
You can also attempt setting

You can also attempt setting Rho::Network.responseTimeOut in the controller of your application, but there may be an issue with that still (haven't received any updates on that).

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Jon Tara
Back up.Why do server

Back up.

Why do server requests take 45 seconds?

What "server" are we talking about? The internal Rhodes server? Or some external website?

You haven't really explained what you are trying to accomplish.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Roger Serfling
Let me try to give some more

Let me try to give some more detail.

Using RhoElements 4.1.x CE Runtime (http://docs.rhomobile.com/en/4.1.0/guide/rhoelements-runtime) on MC9190 with only changes to the config.xml which points to an external web server. Everything is working great other than one request that takes longer than 45 seconds to process on the external server. I would like to be able to increase the timeout of 45 seconds that I am seeing.

Problem:

Receiving badlinkuri after 45 seconds into external server processing request.

Facts:

I have tried changing the navtimeout setting in config.xml with no change.

I have tried changing the net_timout in Rhoconfig file with no change.

Using Chrome the web site performs the request with no issues.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Glenn Sayer
Roger,Do you get the same

Roger,

Do you get the same timeout results if you access the site via another browser or do you just see the 45 sec issue with Rho?

You might want to get a network trace of the issue to see who is killing the session.  Might be getting killed by a network resource and not Rho.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Roger Serfling
The 45 second timeout only

The 45 second timeout only happens when using RhoElements.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Jon Tara
Just to make sure, did you

Just to make sure, did you try accessing the site on your device's browser? Using the same network? (Wifi/cellular).

Do you have server logs you can look at? Did you verify that the server is getting the request? If it gets the request, why does it take 45+ seconds, and why only if accessed from the app?

That said, it seems odd to me to navigate to an external site (whether my own or third-party) in an app. (Maybe in a separate webview, such as with a Rhodes native tabbar.) It's usually more appropriate to have the app consume a web service. (Even if that web service returns HTML rather than JSON or XML. In fact, I prefer HTML it it's a proprietary, dedicated service for a specific app.)

I suppose you're trying to do this in all Javascript, though, which precludes have a Ruby controller deal with the network stuff, and allowing all your navigation URLs to be local to the device. I know Motorola likes to push the Javascript option, but just not an option I would use, since you have a lot more versatility and performance by using the Ruby APIs.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Jon Tara
Do you have a good reason to

Do you have a good reason to load pages from a server like this? (Like there will be very frequent updates to the code, and so you don't want users to have to keep installing updates?)

I don't think I would take this approach unless your users are on WiFi on the same network as the server. Otherwise, you are at the mercy of often-dicey mobile Internet connections. Any network stumble means an app stumble.

Did you check server logs? Does the server ever get the request?

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Glenn Sayer
Another thing to keep in mind

Another thing to keep in mind is this setting to the amount of time to find a page.  This is not the amount of time it takes to load a page.  Thus if the page is found but takes along to load you will also be a badlink page.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Log in to post comments