15

I've been following the AWS IoT docs trying to get started with the MQTT tutorial at http://docs.aws.amazon.com/iot/latest/developerguide/protocols.html#mqtt-ws to set up a WebSocket connection to AWS IoT in a web application. The first step is to initiate a WebSocket connection by making a GET request to an endpoint created by following the steps in the tutorial but I'm getting this error:

XMLHttpRequest cannot load <my endpoint> Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.

I was wondering if anyone has encountered this error and if so, how they resolved it?

Here's a link to the code https://github.com/dwyl/learn-aws-iot/blob/2c8035728ec8228e296580c8714f3f7ace870fbe/src/js/components/App.js

Jack Carlisle
  • 1,085
  • 1
  • 9
  • 15
  • Is the failing GET request to the describe-endpoint API or to open the WebSocket? If trying to open the WebSocket, are you using a Javascript client which supports WebSockets or making a normal HTTP request to the endpoint? – TheRyanBurke_AWS Feb 11 '16 at 17:17
  • I'm making a normal HTTP request through XMLHttpRequest to open the websocket using a url of the form ```wss://.iot..amazonaws.com/mqtt``` which has been signed using the amazon signature version 4 – Jack Carlisle Feb 11 '16 at 18:01

2 Answers2

7

Here's an example of how I'm opening the channel. I'm using Cognito unauth roles as a subscriber. I'm using the JS Paho client as well.

http://draw.kyleroche.com/main.js

Kyle Roche
  • 426
  • 3
  • 3
4

AWS Labs has also posted an MQTT over WebSockets reference example here: https://github.com/awslabs/aws-iot-examples

TheRyanBurke_AWS
  • 532
  • 5
  • 11