Appsync Javascript subscription start issue

Viewed 666

I am trying for aws-appsync connection from vanilla javascript. The connection is established and message is received - data: "{"type":"ka"}". However, when I try to send data to start subscription, getting error -

    data: "{\"type\":\"error\",\"payload\":{\"errors\":[{\"errorType\":\"UnsupportedOperation\",\"message\":\"unknown not supported through the realtime channel\"}]}}"

Here is a simple script which I am using to test the subscription. The header and payload are base64-encoded. Following this AWS document for subscription.

<html>
Hello World
<button onClick="subscribeToEvt()">Click here to Subscribe</button>
<script type="text/javascript">
var Socket = new WebSocket("wss://XXXXXXXXXX.appsync-realtime-api.us-west-2.amazonaws.com/graphql?header=eyAiXXXXXXXXXXXXXXXXXXXXXXXIiB9&payload=e30=", "graphql-ws");

Socket.onopen = function(evt) {
    console.log(evt);
    // Web Socket is connected, send data using send()
    Socket.send("{ \"type\": \"connection_init\" }");
    alert("Message is sent...");
};

Socket.onmessage = function (evt) { 
    var received_msg = evt.data;
    console.log(evt);
    alert("Message is received...");
};

function subscribeToEvt(){
    Socket.send("{\"id\":\"1\",\"type\":\"start\",\"payload\":{\"variables\":{\"sessionID\":\"659d86ae-ec0c-4170-9866-b436a981ce29\"},\"extensions\":{\"authorization\":{\"host\":\"XXXXXXXXXX.appsync-api.us-west-2.amazonaws.com\",\"x-api-key\":\"XXXXXXXXXX\"}},\"operationName\":\"routeOrder\",\"query\":\"subscription routeOrder {\\n  routeOrder {\\n    id\\n    site_id\\n    route_id\\n    driver_id\\n truck_id\\n \\n  }\\n}\\n\",\"data\":\"{\\\"variables\\\":{\\\"sessionID\\\":\\\"659d86ae-ec0c-4170-9866-b436a981ce29\\\"},\\\"extensions\\\":{},\\\"operationName\\\":\\\"routeOrder\\\",\\\"query\\\":\\\"subscription routeOrder { \\n routeOrder {\\n id\\n site_id\\n route_id\\n driver_id\\n truck_id\\n }\\n }\\\",  }n}n\\\"}");
    alert('sent');
}
</script>

</html>
1 Answers
Related