Android Question Working through connectivity issue.

Lee Gillie CCP

Active Member
Licensed User
Longtime User
My tablet app has been deployed to the field for a couple of years very successfully. Tablets accompany delivery trucks and connect to services via Verizon Mobile data services. We wrote the Windows Service as well using Visual Studio.

Suddenly one day it quit working. Turns out our DNS server was blocking queries from Verizon. Once we fixed that then tablets could determine our IP from the server's full domain name.

Currently where I am using HTTPUTILS2 version 2.50 and HTTP version 1.36 is that connections from the tablet by IP address, and not name, connect to our service just fine. This is an emergency work around mode because connections are not secure. Our server won't promote incoming connections unless they are on port 8080 or 8082. But by IP address to port 8081 works perfectly. And correctly interacts with web services fine.

Yes, my service listens on 3 ports, 8080, 8081, and 8082. For 8080 and 8082 it will promote the incoming connection to SSL. For 8081 it works without encryption and does not even attempt SSL promotion.

When I start a "job" to "https://servername.domain.com:8080/OurServices" I don't even see a tap at the door in my service. I don't see a tap at the door from our firewall. Nothing. When we work from Visual Studio we 1) Make an IP connection, 2) Promote it to SSL (starts the handshake).

COULD IT BE, that HTTPUTILS2 or ANDROID does not work this way? What I am asking you, is if it will do the SSL handshake FIRST before attempting connection? If this is true, and the SSL handshake fails, then we may never see anyone tapping at the door at our service. But to understand and diagnose this if someone can authoritatively answer; in the way I am using this, could these symptoms indicate SSL handshake failure?

What I see in the LOGS at ANDROID is the connection is timing out.
 

Lee Gillie CCP

Active Member
Licensed User
Longtime User
I stated my question with too much complexity... Some folks won't take a stab at a question when it is too minimally described. Let me be brief though:

When using HTTPUTILS2 and destination is "https", is the connection made first and then promoted to SSL, or is SSL handshake done first, and only if successful the actual port connection then attempted?
 
Upvote 0

OliverA

Expert
Licensed User
Longtime User
When I start a "job" to "https://servername.domain.com:8080/OurServices" I don't even see a tap at the door in my service. I don't see a tap at the door from our firewall. Nothing.
What I see in the LOGS at ANDROID is the connection is timing out.
If you had an HTTP/HTTPS issue on port 8080 you should technically get a 400 error code for a bad request. But since it is timing out, that means that servername.domain.com is not resolving properly (that is if everything is as stated - the firewall sees nothing, the server sees nothing). On the same device, use a browser and go to "https://servername.domain.com:8080/OurServices" and see what happens (note, use the same exact URL as you use with HTTPJob). If the same thing happens as with HTTPUtils2/HTTP, then you still have some DNS issues.
 
Upvote 0

OliverA

Expert
Licensed User
Longtime User
When we work from Visual Studio we 1) Make an IP connection, 2) Promote it to SSL (starts the handshake).
That's how a SSL connection is done. First you have a TCP handshake, followed by a SSL handshake. I'm pretty sure the folks behind the underlying library for HTTPUtils/HTTP have that implemented properly. :D
 
Upvote 0

Lee Gillie CCP

Active Member
Licensed User
Longtime User
you still have some DNS issues.
You are absolutely right. Very late yesterday my IT guy discovered we were blocking other DNS requests. This was a bit of a puzzler for me, and I appreciate all responses which helped us better understand where to look. Best regards - Lee
 
Upvote 0

Lee Gillie CCP

Active Member
Licensed User
Longtime User
You are absolutely right. Very late yesterday my IT guy discovered we were blocking other DNS requests. This was a bit of a puzzler for me, and I appreciate all responses which helped us better understand where to look. Best regards - Lee
More...

What happened is our ISP had been caching our DNS, and so requests never came to our own DNS server. For what ever reason, they quit doing that in some equipment reorganization. But the queries should have forwarded to us. We had apparently been blocking them for quite some time, and until recently did not need them.
 
Upvote 0
Top