Survey Solutions

Support portal and knowledge base

Name is required.
Email address is required.
Invalid email address
Answer is required.
Exceeding max length of 5KB

HTTPS and Interviewer App

Thorsten Jan 02, 2018 07:19AM EST

We are using our own servers to run SurveySolutions in multiple projects. In a previous project with Survey Solutions 5.22 we were able to connect via HTTPS with a certificate from "Let's Encrypt". With 5.25 (both, .10 and .40) the application still works via HTTPS with that certificate, except for the Interviewer app. Trying to connect this to the server via HTTPS fails with “NO CONNECTION TO THE SURVEY SOLUTIONS SUPERVISOR. PLEASE MAKE SURE THAT THE WEBSITE IS AVAILABLE”. The Headquarters application can be reached without any issues from the browser on the same device and certificates show as valid in the Android browser, i.e. the chain of trust validates OK on the Android level. The Interviewer app can connect to the server via HTTP (no S) but since we are running our own servers for data privacy reasons, unencrypted transport is not really an option. Using the Android emulator and tcpdump I do observe traffic from the app to the server when using HTTPS but since it is encrypted it is hard to tell what is going on. Some communication does happen there, though. Looking at our logs I can also tell the following:

* When trying to connect through HTTPS, the server seems to reply with a 302 status code and the Survey Solutions logs get a “System.Web.HttpException (0x80070040): The client disconnected.”

* After the app has been connected via HTTP (no S) and then reconfigured to use HTTPS, nothing gets written to the logs when attempting to synchonize, neither to the IIS logs, nor to the Survey Solutions logs

* On the Survey Solutions Headquarters side the HttpException is happening in WB.Core.GenericSubdomains.Portable.Implementation.Compression.Compressor.<Decompress>d__5.MoveNext()

Do you have any advice for us?

5 Community Answers

Best Answer
Zurab Sajaia Jan 09, 2018 11:29AM EST

Those experiencing this error should refer to FAQ article at http://support.mysurvey.solutions/customer/portal/articles/2914430-local-installation-interviwer-app-cannot-connect-to-the-server-over-https for the resolution steps.

View in conversation


Up 0 rated Down
Sergiy Radyakin Jan 02, 2018 09:17AM EST Survey Solutions Agent

What happens when you access the server via https from your browser on the tablet?

Up 0 rated Down
Thorsten Jan 04, 2018 04:13AM EST
As inidcated in the original mail, I can access the site from the Android browser on the same device without any issues. The certificate validates fine. The root CA is "DST Root CA X3" which is in the Android certificate store. The certificate comes bundled with intermeditate CA certificates.

This only happens with the App. If you need more detail like the stack from the exception above or the server address, I can send it to you in a PM.

One thing I noted is that the first WB class in the stack resides inside of a "GenericSubdomains" package which made me think it might have something to do with us using a survey.something.de (sub-)domain for Survey Solutions.
Up 0 rated Down
Zurab Sajaia Jan 04, 2018 10:09AM EST Survey Solutions Agent

Dear Thorsten,

Yes, please do send us the stack trace to support@mysurvey.solutions address. I don’t think there is an issue with your subdomain naming. The only time we’ve observed similar behavior is when there is a trust issue on certain Android versions but you seem to confirm that that doesn’t look to be the case here so we’ll have to do more guessing.

Have you done any manual changes on the server side besides running our installer? i.e. turning some windows/web server features on or off? do you know if the mobile provider does any ‘optimization’ on the traffic? we’ve had some cases that in a certain country, one provider had ‘smart’ data-reduction feature turned on to remove parts of the http traffic and help mobile users save on data costs and that was corrupting our binary traffic. Are you observing the same issue if you try different network/wifi?

Looking forward hearing from you soon,
Zurab

Up 0 rated Down
Thorsten Jan 06, 2018 05:41AM EST
Hi Zurab,

It is almost certainly not the mobile provider, nor the specific device. We have seen this behaviour from various devices and in various places, including the Android SDK emulator over a regular land-line connection.

On the particular system that initially revealed the issue I did not configure anything else beside Survey Solutions, nor was anything added to IIS.

Here's the stack from the server installation:

2018-01-02 11:16:32.2011[Error] - POST https://survey.<xyz>.de/api/interviewer/v2/users/login [System.Web.HttpException (0x80070040): The client disconnected.
bei System.Web.Hosting.IIS7WorkerRequest.BeginRead(Byte[] buffer, Int32 offset, Int32 count, AsyncCallback callback, Object state)
bei System.Web.HttpBufferlessInputStream.BeginRead(Byte[] buffer, Int32 offset, Int32 count, AsyncCallback callback, Object state)
bei System.IO.Compression.DeflateStream.BeginRead(Byte[] array, Int32 offset, Int32 count, AsyncCallback asyncCallback, Object asyncState)
bei System.IO.Stream.<>c.<BeginEndReadAsync>b__43_0(Stream stream, ReadWriteParameters args, AsyncCallback callback, Object state)
bei System.Threading.Tasks.TaskFactory`1.FromAsyncTrim[TInstance,TArgs](TInstance thisRef, TArgs args, Func`5 beginMethod, Func`3 endMethod)
bei System.IO.Stream.BeginEndReadAsync(Byte[] buffer, Int32 offset, Int32 count)
bei System.IO.Stream.ReadAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken cancellationToken)
bei System.IO.Stream.<CopyToAsyncInternal>d__27.MoveNext()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bei WB.Core.GenericSubdomains.Portable.Implementation.Compression.Compressor.<Decompress>d__5.MoveNext()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bei WB.Core.GenericSubdomains.Portable.Implementation.Compression.CompressionHandler.<DecompressContentAsync>d__8.MoveNext()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bei WB.Core.GenericSubdomains.Portable.Implementation.Compression.CompressionHandler.<SendAsync>d__2.MoveNext()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bei System.Web.Http.HttpServer.<SendAsync>d__0.MoveNext()|ExceptionLogger.System.Web.Http.ExceptionHandling.IExceptionLogger.LogAsync => ExceptionLogger.LogAsync => NLogExceptionLogger.Log]

Since I don't know how to send you a PM and make sure you can track it along with this support request, I am aliasing the domain name here.

The system is configured with a German locale, thatÄs why you are seeing German text in there. It translates roughly as: "End of previous stack trace from the place where the exception was thrown". Since I have no debug symbols I'm afraid the trace may be of rather limited use, but at least it might guide you to the right area – although it looks a bit like the trouble is actually with the App.

If you want the certificate, please let me know where I can send it.

I am going to set up another server for another project today and I may try it with certificates from both, Let's Encrypt and RapidSSL. I'll let you know the outcome.

Kind regards,
Thorsten
Up 0 rated Down
Zurab Sajaia Best Answer Jan 09, 2018 11:29AM EST Survey Solutions Agent

Those experiencing this error should refer to FAQ article at http://support.mysurvey.solutions/customer/portal/articles/2914430-local-installation-interviwer-app-cannot-connect-to-the-server-over-https for the resolution steps.

Post Your Public Answer

Your name (required)
Your email address (required)
Answer (required)
support@mysurvey.solutions
http://assets0.desk.com/
false
desk
Loading
seconds ago
a minute ago
minutes ago
an hour ago
hours ago
a day ago
days ago
about
false
Invalid characters found
/customer/en/portal/articles/autocomplete?b_id=12728