Tom's Hardware > Forum > Smartphones & PDAs > Windows Mobile > SOAP over WiFi on Pocket PC....

SOAP over WiFi on Pocket PC....

Forum Smartphones & PDAs : Windows Mobile - SOAP over WiFi on Pocket PC....

Tom's Hardware: Over 1.4 million members in 6 different countries available to answer all your high-tech questions. Sign up now! Its free!
Word :    Username :           
 

Archived from groups: microsoft.public.pocketpc,microsoft.public.pocketpc.developer (More info?)

 

I have developed a relatively large Pocket PC application for a client in a
very specialised industry. It is running on HP iPAQ rx3714 (Win Mob 2003
SE).

The application collects data from the user and stores it in a SQL CE
database. Each night during battery charging, the application 'calls home'
to the companies web site and uploads the data that was collected during the
day using SOAP calls. Prior to the upload, the application instructs the
Pocket PC to turn on the WiFi. It attempts to communicate with the
internet via the cradle's USB connection to the computer, or a WiFi network
if available.

(I love this stuff. To have an application communicate with a web site on
the other side of the planet using whatever internet connection technology
that is available in the moment is just great - but thats for another post)

This process works 100% of the time when the cradle's USB connection is
used. The SOAP communications work faultlessly.

When the WiFi is used, it generally works fine. However, about 1 in every
100 soap calls fails. I do not get an exception or an error of any kind.
The code simply hangs at the SOAP call. The application sits there with a
'wait' screen displaying. I have set the SOAP timeout to be only
20000mSecs (the default is 100000mSecs).

Since the program runs in kiosk mode (ie the start button and control box
have been turned off and the user cannot exit the application), the only way
out is a soft reset.

I have simulated a 'real' internet connection problem by pulling the power
to the wireless hub in the middle of a SOAP call. The application
immediately recognises this, exceptions are thrown and caught and the
application continues to run as per the software design.

During a hang, I have queried the wireless hub and the internet connection
and all seem to be working fine.

The problem does not occur on a particular SOAP call. The application
communicates with the web site using about 30 different routines and no
single routine is singled out as being problematic.

I would like to be able to run it in debug mode over the WiFi but I cannot
get Visual Studio to connect to the Pocket PC over the WiFi. I have told VS
the IP address (192.168.2.4) but it just won't connect.

Any ideas (no matter how insane) would be greatly appreciated! Thanks!

-- Dave A

Sponsored Links
Register or log in to remove.

Archived from groups: microsoft.public.pocketpc (More info?)

 

I suppose, the problem is that it's what our garage mechanic would
call an 'intermittent fault'. This is going to be tricky.

Would it help to sniff the network with a tool like Ethereal, and
watch what happens when the SOAP call fails ?

HTH
Cheers - Neil

On Wed, 6 Oct 2004 20:58:47 +1000, "Dave A"
<dave@sigmasolutionsdonotspamme.com.au> wrote:

>I have developed a relatively large Pocket PC application for a client in a
>very specialised industry. It is running on HP iPAQ rx3714 (Win Mob 2003
>SE).
>
>The application collects data from the user and stores it in a SQL CE
>database. Each night during battery charging, the application 'calls home'
>to the companies web site and uploads the data that was collected during the
>day using SOAP calls. Prior to the upload, the application instructs the
>Pocket PC to turn on the WiFi. It attempts to communicate with the
>internet via the cradle's USB connection to the computer, or a WiFi network
>if available.
>
>(I love this stuff. To have an application communicate with a web site on
>the other side of the planet using whatever internet connection technology
>that is available in the moment is just great - but thats for another post)
>
>This process works 100% of the time when the cradle's USB connection is
>used. The SOAP communications work faultlessly.
>
>When the WiFi is used, it generally works fine. However, about 1 in every
>100 soap calls fails. I do not get an exception or an error of any kind.
>The code simply hangs at the SOAP call. The application sits there with a
>'wait' screen displaying. I have set the SOAP timeout to be only
>20000mSecs (the default is 100000mSecs).
>
>Since the program runs in kiosk mode (ie the start button and control box
>have been turned off and the user cannot exit the application), the only way
>out is a soft reset.
>
>I have simulated a 'real' internet connection problem by pulling the power
>to the wireless hub in the middle of a SOAP call. The application
>immediately recognises this, exceptions are thrown and caught and the
>application continues to run as per the software design.
>
>During a hang, I have queried the wireless hub and the internet connection
>and all seem to be working fine.
>
>The problem does not occur on a particular SOAP call. The application
>communicates with the web site using about 30 different routines and no
>single routine is singled out as being problematic.
>
>I would like to be able to run it in debug mode over the WiFi but I cannot
>get Visual Studio to connect to the Pocket PC over the WiFi. I have told VS
>the IP address (192.168.2.4) but it just won't connect.
>
>Any ideas (no matter how insane) would be greatly appreciated! Thanks!
>
>-- Dave A
>
>
>
>
>

Reply to Anonymous

Archived from groups: microsoft.public.pocketpc (More info?)

 

I am pretty sure that I have fixed it!

On the iPAQ, in Power settings->Wireless (you have to scroll to the right to
see this tab page), there is something called "WLAN power save mode". The
options are Off, Auto or Extended. These are poorly defined. There is no
mention of what they do in the manual and Google returned nothing.

I have been running on Auto.

What is interesting is that I have been running a "ping 192.168.2.4 -t" to
the Pocket PC. When it is set to Auto, the ping times are really slow with
massive packet loss. When I set it to 'Off' (ie keep full power to the
radio all of the time when its on), there is 0 packet loss. The pings time
range between 2mSecs and 1000mSec but i guess that is a function of the
wireless. (The Pocket PC is 1 foot from the hub.)

I changed my program to synchronise every 30 secs (instead of once an hour)
and have let it run overnight. With the setting set to 'Off', it was still
working perfectly 8 hours later with no hangs. I guess that I have fixed
it. Normally it would have stopped after only a couple of minutes.

I can only imagine that with the setting set to 'auto', the SOAP request
goes out, there is a short pause, the Pocket PC decides to significantly
decrease the power to the radio, the SOAP response comes back and the Pocket
PC only gets occasional packets which are re-requested. Since the
connection is so slow the program hasn't actually hung at all. It is just
getting the data REALLY slowly.

This can't be the whole story though. Why does .Net throw an exception
after 20000mSecs and why does the Pocket PC not ramp up to full power when a
packet is recevied?

I hope this helps others!

-- Dave A


"Neil Smith [MVP Digital Media]" <neil@nospam.com> wrote in message
news:mme8m0hs9o0f0917kqkajdcl1sdr682nuu@4ax.com...
> I suppose, the problem is that it's what our garage mechanic would
> call an 'intermittent fault'. This is going to be tricky.
>
> Would it help to sniff the network with a tool like Ethereal, and
> watch what happens when the SOAP call fails ?
>
> HTH
> Cheers - Neil
>
> On Wed, 6 Oct 2004 20:58:47 +1000, "Dave A"
> <dave@sigmasolutionsdonotspamme.com.au> wrote:
>
> >I have developed a relatively large Pocket PC application for a client in
a
> >very specialised industry. It is running on HP iPAQ rx3714 (Win Mob 2003
> >SE).
> >
> >The application collects data from the user and stores it in a SQL CE
> >database. Each night during battery charging, the application 'calls
home'
> >to the companies web site and uploads the data that was collected during
the
> >day using SOAP calls. Prior to the upload, the application instructs the
> >Pocket PC to turn on the WiFi. It attempts to communicate with the
> >internet via the cradle's USB connection to the computer, or a WiFi
network
> >if available.
> >
> >(I love this stuff. To have an application communicate with a web site
on
> >the other side of the planet using whatever internet connection
technology
> >that is available in the moment is just great - but thats for another
post)
> >
> >This process works 100% of the time when the cradle's USB connection is
> >used. The SOAP communications work faultlessly.
> >
> >When the WiFi is used, it generally works fine. However, about 1 in
every
> >100 soap calls fails. I do not get an exception or an error of any kind.
> >The code simply hangs at the SOAP call. The application sits there with
a
> >'wait' screen displaying. I have set the SOAP timeout to be only
> >20000mSecs (the default is 100000mSecs).
> >
> >Since the program runs in kiosk mode (ie the start button and control box
> >have been turned off and the user cannot exit the application), the only
way
> >out is a soft reset.
> >
> >I have simulated a 'real' internet connection problem by pulling the
power
> >to the wireless hub in the middle of a SOAP call. The application
> >immediately recognises this, exceptions are thrown and caught and the
> >application continues to run as per the software design.
> >
> >During a hang, I have queried the wireless hub and the internet
connection
> >and all seem to be working fine.
> >
> >The problem does not occur on a particular SOAP call. The application
> >communicates with the web site using about 30 different routines and no
> >single routine is singled out as being problematic.
> >
> >I would like to be able to run it in debug mode over the WiFi but I
cannot
> >get Visual Studio to connect to the Pocket PC over the WiFi. I have told
VS
> >the IP address (192.168.2.4) but it just won't connect.
> >
> >Any ideas (no matter how insane) would be greatly appreciated! Thanks!
> >
> >-- Dave A
> >
> >
> >
> >
> >
>

Reply to Anonymous

Archived from groups: microsoft.public.pocketpc,microsoft.public.pocketpc.developer (More info?)

 

I am pretty sure that I have fixed it!

On the iPAQ, in Power settings->Wireless (you have to scroll to the right to
see this tab page), there is something called "WLAN power save mode". The
options are Off, Auto or Extended. These are poorly defined. There is no
mention of what they do in the manual and Google returned nothing.

I have been running on Auto.

What is interesting is that I have been running a "ping 192.168.2.4 -t" to
the Pocket PC. When it is set to Auto, the ping times are really slow with
massive packet loss. When I set it to 'Off' (ie keep full power to the
radio all of the time when its on), there is 0 packet loss. The pings time
range between 2mSecs and 1000mSec but i guess that is a function of the
wireless. (The Pocket PC is 1 foot from the hub.)

I changed my program to synchronise every 30 secs (instead of once an hour)
and have let it run overnight. With the setting set to 'Off', it was still
working perfectly 8 hours later with no hangs. I guess that I have fixed
it. Normally it would have stopped after only a couple of minutes.

I can only imagine that with the setting set to 'auto', the SOAP request
goes out, there is a short pause, the Pocket PC decides to significantly
decrease the power to the radio, the SOAP response comes back and the Pocket
PC only gets occasional packets which are re-requested. Since the
connection is so slow the program hasn't actually hung at all. It is just
getting the data REALLY slowly.

This can't be the whole story though. Why does .Net throw an exception
after 20000mSecs and why does the Pocket PC not ramp up to full power when a
packet is recevied?

I hope this helps others!

-- Dave A

"Dave A" <dave@sigmasolutionsdonotspamme.com.au> wrote in message
news:%23j661N5qEHA.3396@tk2msftngp13.phx.gbl...
> I have developed a relatively large Pocket PC application for a client in
a
> very specialised industry. It is running on HP iPAQ rx3714 (Win Mob 2003
> SE).
>
> The application collects data from the user and stores it in a SQL CE
> database. Each night during battery charging, the application 'calls
home'
> to the companies web site and uploads the data that was collected during
the
> day using SOAP calls. Prior to the upload, the application instructs the
> Pocket PC to turn on the WiFi. It attempts to communicate with the
> internet via the cradle's USB connection to the computer, or a WiFi
network
> if available.
>
> (I love this stuff. To have an application communicate with a web site on
> the other side of the planet using whatever internet connection technology
> that is available in the moment is just great - but thats for another
post)
>
> This process works 100% of the time when the cradle's USB connection is
> used. The SOAP communications work faultlessly.
>
> When the WiFi is used, it generally works fine. However, about 1 in every
> 100 soap calls fails. I do not get an exception or an error of any kind.
> The code simply hangs at the SOAP call. The application sits there with a
> 'wait' screen displaying. I have set the SOAP timeout to be only
> 20000mSecs (the default is 100000mSecs).
>
> Since the program runs in kiosk mode (ie the start button and control box
> have been turned off and the user cannot exit the application), the only
way
> out is a soft reset.
>
> I have simulated a 'real' internet connection problem by pulling the power
> to the wireless hub in the middle of a SOAP call. The application
> immediately recognises this, exceptions are thrown and caught and the
> application continues to run as per the software design.
>
> During a hang, I have queried the wireless hub and the internet connection
> and all seem to be working fine.
>
> The problem does not occur on a particular SOAP call. The application
> communicates with the web site using about 30 different routines and no
> single routine is singled out as being problematic.
>
> I would like to be able to run it in debug mode over the WiFi but I cannot
> get Visual Studio to connect to the Pocket PC over the WiFi. I have told
VS
> the IP address (192.168.2.4) but it just won't connect.
>
> Any ideas (no matter how insane) would be greatly appreciated! Thanks!
>
> -- Dave A
>
>
>
>
>
>

Reply to Anonymous
Tom's Hardware > Forum > Smartphones & PDAs > Windows Mobile > SOAP over WiFi on Pocket PC....
Go to:

There are 1032 identified and unidentified users. To see the list of identified users, Click here.

Please mind

You are about to answer a thread that has been inactive for more than 6 months.
If you still wish to proceed, please ensure that your posting is original and does not duplicate or overlap any prior responses to this thread.

Add a reply Cancel
Sponsored links
  • Ask the community now
  • Publish
Ad
They won a badge
Join us in greeting them