makeWebRequest not sending request on FR935

I have a watch face that uses the makeWebRequest function to make a call to my web site to retrieve data. The application is working fine across a range of watches connected to a variety of mobile devices. I have one user running a FR935 watch with a Huawei P10 mobile device where the makeWebRequest does not appear to be sending anything. I can see from the log files on my web server that the user is correctly using his browser on the mobile device to set up data on the server however the makeWebRequest on the watch does not send any message request through. Nothing is arriving at the server side. Has anyone had any issues with requests not being sent ? I did see one thread about some issues on FR935 however not in there that was of any help. Thanks
  • Small chance this could be related to this issue: https://forums.garmin.com/forum/developers/connect-iq/1359862-comm-makewebrequest-starts-failing-until-a-reboot-of-935/page2

    If it is, he should try powering off/on his watch and see if it starts working. Nothing short of powering down the watch with the control menu (hold the light button, select power off) seems to fix it.
  • I did see that previous thread where you found a similar problem, so thanks for responding! I was really hoping that would fix it. I have asked my watch face user to do a full 're-boot' of the device but still no messages are being sent.
  • Former Member
    Former Member
    Beeso27,

    I've talked with our GCM team and they a have been having issues with some things on Huawei devices lately. It's possible (read "likely") that this is the source issues since this is working on other devices/phones. Do you know if they have access to anther phone to test? Another step to check things out would be another app that uses a web request to see if it's specific to a certain type of request with that specific device/phone setup.

    Thanks,
    - Coleman
  • Thanks! That gives me something to investigate. I did get my user to enter the request manually in the browser on the phone and the web site responded with the correct JSON data. I am using a GET request on my makeWebRequest with REQUEST_CONTENT_TYPE_JSON for headers and HTTP_RESPONSE_CONTENT_TYPE_JSON for responseType. I will check to see if the user has another device they can test on.
  • I have been able to reproduce this error using Garmin Connect on an Android device. The makeWebRequest receives a response code of 104 or 300 when the device is connected to web via Android device (Connect 4.12.3, Android 5.1.1) When the device is connected to an iPhone it works fine (response 200)

    I can see from the trace on my website that no message actually arrives on the port 443 that I am listening on.

    Any ideas on how to get around this error ?

    Thanks

    Comm.makeWebRequest("mywebsite.com/mywebservice.js",
    params,
    {:method => Comm.HTTP_REQUEST_METHOD_GET,
    :headers => {"Content-Type" => Comm.REQUEST_CONTENT_TYPE_JSON},
    :responseType => Comm.HTTP_RESPONSE_CONTENT_TYPE_JSON
    },
    method(:onReceiveData));
  • Thanks very much to those who pointed me in the right direction of the SSL certificate. Even though I had a 'signed' certificate I was not using the certificate authority certificate bundle correctly. Once the trusted SSL certificate was in place it all worked!