<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic failed: Error during WebSocket handshake: Unexpected response code: 301 in Integration, Extension &amp; APIs</title>
    <link>https://community.qlik.com/t5/Integration-Extension-APIs/failed-Error-during-WebSocket-handshake-Unexpected-response-code/m-p/86321#M1238</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;Hi,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm trying to &lt;SPAN style="font-size: 13.3333px;"&gt;embed &lt;/SPAN&gt; qlik sense object with external server &lt;SPAN style="font-size: 13.3333px;"&gt;using mashup &lt;/SPAN&gt;and it raise error like,&lt;/P&gt;&lt;P&gt;&lt;IMG alt="SS_ErrorWS.png" class="jive-image image-1" src="https://community.qlik.com/legacyfs/online/213924_SS_ErrorWS.png" style="height: 324px; width: 620px;" /&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;In order to cross verify the procedure i followed was correct or not, i tried simple graph visualization and it loaded successfully on external server.&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;But my extension raises error. also my extension takes some required information from qlik sense itself i.e, &lt;SPAN style="color: #0f0f0f; font-family: Monaco, Menlo, Consolas, 'Courier New', monospace; font-size: 12px; background-color: #fafafa;"&gt;GetAuthenticatedUser&lt;/SPAN&gt;.&amp;nbsp; Also It uses websockets inside it's implementation. what is wrong i'm not able to figure out please help.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;External Server Configuration:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;1. JS file:&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE __default_attr="javascript" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_15373376877367021" jivemacro_uid="_15373376877367021"&gt;
&lt;P&gt;var prefix = "/proxyName/"&lt;/P&gt;
&lt;P&gt;var config = {&lt;/P&gt;
&lt;P&gt;host: "qliksenseServerDomainName.com",&lt;/P&gt;
&lt;P&gt;prefix: prefix,&lt;/P&gt;
&lt;P&gt;port: 443,&lt;/P&gt;
&lt;P&gt;isSecure: true&lt;/P&gt;
&lt;P&gt;};&lt;/P&gt;
&lt;P&gt;require.config( {&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;baseUrl: ( config.isSecure ? "&lt;/SPAN&gt;&lt;A _jive_internal="true" href="https://community.qlik.com/" rel="nofollow" target="_blank"&gt;https://&lt;/A&gt;&lt;SPAN&gt;" : "&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://community.qlik.com/" rel="nofollow" target="_blank"&gt;http://&lt;/A&gt;&lt;SPAN&gt;" ) + config.host + (config.port ? ":" + config.port : "") + config.prefix + "resources"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;} );&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;require( ["js/qlik"], function ( qlik ) {&lt;/P&gt;
&lt;P&gt;qlik.setOnError( function ( error ) {&lt;/P&gt;
&lt;P&gt;$( '#popupText' ).append( error.message + "&amp;lt;br&amp;gt;" );&lt;/P&gt;
&lt;P&gt;$( '#popup' ).fadeIn( 1000 );&lt;/P&gt;
&lt;P&gt;} );&lt;/P&gt;
&lt;P&gt;$( "#closePopup" ).click( function () {&lt;/P&gt;
&lt;P&gt;$( '#popup' ).hide();&lt;/P&gt;
&lt;P&gt;} );&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;//callbacks -- inserted here --&lt;/P&gt;
&lt;P&gt;//open apps -- inserted here --&lt;/P&gt;
&lt;P&gt;var app = qlik.openApp('cfd7d3b2-c1e3-40aa-abb8-2f41e9d87317', config);&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;//get objects -- inserted here --&lt;/P&gt;
&lt;P&gt;app.getObject('QV01','mwYuAPx');&lt;/P&gt;
&lt;P&gt;app.getObject('QV02','PmTFP');&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;} );&lt;/P&gt;


&lt;/PRE&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;2. HTML file:&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE __default_attr="xml" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_1537338823158831 jive_text_macro" jivemacro_uid="_1537338823158831"&gt;
&lt;P&gt;&amp;lt;!doctype html&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;title&amp;gt;Qlik Sense Mashup&amp;lt;/title&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;meta charset="utf-8"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;meta http-equiv="content-type" content="text/html; charset=UTF-8"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;meta name="HandheldFriendly" content="True"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;meta name="MobileOptimized" content="320"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;meta name="apple-mobile-web-app-capable" content="yes"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;meta name="apple-mobile-web-app-status-bar-style" content="black"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;meta http-equiv="cleartype" content="on"&amp;gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;lt;link rel="stylesheet" href="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://qliksenseServerDomainName.com/proxyName/resources/autogenerated/qlik-styles.css" rel="nofollow" target="_blank"&gt;https://qliksenseServerDomainName.com/proxyName/resources/autogenerated/qlik-styles.css&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;link rel="stylesheet" href="TestMashup.css"&amp;gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;lt;script src="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://qliksenseServerDomainName.com/proxyName/resources/assets/external/requirejs/require.js" rel="nofollow" target="_blank"&gt;https://qliksenseServerDomainName.com/proxyName/resources/assets/external/requirejs/require.js&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&amp;lt;/script&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;script src="TestMashup.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/head&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;body style="overflow: auto"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;div class="qui-buttonset-right"&amp;gt;&amp;lt;/div&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;div class="flex-container"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;div id="QV01" class="qvobject"&amp;gt;&amp;lt;/div&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;div id="QV02" class="qvobject"&amp;gt;&amp;lt;/div&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/div&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;!--Error Popup--&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;div id="popup"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;button type="button" class="close" data-dismiss="modal" aria-label="Close" id="closePopup"&amp;gt;&amp;lt;span aria-hidden="true"&amp;gt;×&amp;lt;/span&amp;gt;&amp;lt;/button&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;p id="popupText"&amp;gt;&amp;lt;/p&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/div&amp;gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&lt;/P&gt;

&lt;/PRE&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;Thanks,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;Bhargav Patel&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 19 Sep 2018 06:28:28 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2018-09-19T06:28:28Z</dc:date>
    <item>
      <title>failed: Error during WebSocket handshake: Unexpected response code: 301</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/failed-Error-during-WebSocket-handshake-Unexpected-response-code/m-p/86321#M1238</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;Hi,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm trying to &lt;SPAN style="font-size: 13.3333px;"&gt;embed &lt;/SPAN&gt; qlik sense object with external server &lt;SPAN style="font-size: 13.3333px;"&gt;using mashup &lt;/SPAN&gt;and it raise error like,&lt;/P&gt;&lt;P&gt;&lt;IMG alt="SS_ErrorWS.png" class="jive-image image-1" src="https://community.qlik.com/legacyfs/online/213924_SS_ErrorWS.png" style="height: 324px; width: 620px;" /&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;In order to cross verify the procedure i followed was correct or not, i tried simple graph visualization and it loaded successfully on external server.&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;But my extension raises error. also my extension takes some required information from qlik sense itself i.e, &lt;SPAN style="color: #0f0f0f; font-family: Monaco, Menlo, Consolas, 'Courier New', monospace; font-size: 12px; background-color: #fafafa;"&gt;GetAuthenticatedUser&lt;/SPAN&gt;.&amp;nbsp; Also It uses websockets inside it's implementation. what is wrong i'm not able to figure out please help.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;External Server Configuration:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;1. JS file:&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE __default_attr="javascript" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_15373376877367021" jivemacro_uid="_15373376877367021"&gt;
&lt;P&gt;var prefix = "/proxyName/"&lt;/P&gt;
&lt;P&gt;var config = {&lt;/P&gt;
&lt;P&gt;host: "qliksenseServerDomainName.com",&lt;/P&gt;
&lt;P&gt;prefix: prefix,&lt;/P&gt;
&lt;P&gt;port: 443,&lt;/P&gt;
&lt;P&gt;isSecure: true&lt;/P&gt;
&lt;P&gt;};&lt;/P&gt;
&lt;P&gt;require.config( {&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;baseUrl: ( config.isSecure ? "&lt;/SPAN&gt;&lt;A _jive_internal="true" href="https://community.qlik.com/" rel="nofollow" target="_blank"&gt;https://&lt;/A&gt;&lt;SPAN&gt;" : "&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="http://community.qlik.com/" rel="nofollow" target="_blank"&gt;http://&lt;/A&gt;&lt;SPAN&gt;" ) + config.host + (config.port ? ":" + config.port : "") + config.prefix + "resources"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;} );&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;require( ["js/qlik"], function ( qlik ) {&lt;/P&gt;
&lt;P&gt;qlik.setOnError( function ( error ) {&lt;/P&gt;
&lt;P&gt;$( '#popupText' ).append( error.message + "&amp;lt;br&amp;gt;" );&lt;/P&gt;
&lt;P&gt;$( '#popup' ).fadeIn( 1000 );&lt;/P&gt;
&lt;P&gt;} );&lt;/P&gt;
&lt;P&gt;$( "#closePopup" ).click( function () {&lt;/P&gt;
&lt;P&gt;$( '#popup' ).hide();&lt;/P&gt;
&lt;P&gt;} );&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;//callbacks -- inserted here --&lt;/P&gt;
&lt;P&gt;//open apps -- inserted here --&lt;/P&gt;
&lt;P&gt;var app = qlik.openApp('cfd7d3b2-c1e3-40aa-abb8-2f41e9d87317', config);&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;//get objects -- inserted here --&lt;/P&gt;
&lt;P&gt;app.getObject('QV01','mwYuAPx');&lt;/P&gt;
&lt;P&gt;app.getObject('QV02','PmTFP');&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;} );&lt;/P&gt;


&lt;/PRE&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;2. HTML file:&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE __default_attr="xml" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_1537338823158831 jive_text_macro" jivemacro_uid="_1537338823158831"&gt;
&lt;P&gt;&amp;lt;!doctype html&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;title&amp;gt;Qlik Sense Mashup&amp;lt;/title&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;meta charset="utf-8"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;meta http-equiv="content-type" content="text/html; charset=UTF-8"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;meta name="HandheldFriendly" content="True"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;meta name="MobileOptimized" content="320"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;meta name="apple-mobile-web-app-capable" content="yes"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;meta name="apple-mobile-web-app-status-bar-style" content="black"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;meta http-equiv="cleartype" content="on"&amp;gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;lt;link rel="stylesheet" href="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://qliksenseServerDomainName.com/proxyName/resources/autogenerated/qlik-styles.css" rel="nofollow" target="_blank"&gt;https://qliksenseServerDomainName.com/proxyName/resources/autogenerated/qlik-styles.css&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;link rel="stylesheet" href="TestMashup.css"&amp;gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;lt;script src="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://qliksenseServerDomainName.com/proxyName/resources/assets/external/requirejs/require.js" rel="nofollow" target="_blank"&gt;https://qliksenseServerDomainName.com/proxyName/resources/assets/external/requirejs/require.js&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&amp;lt;/script&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;script src="TestMashup.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/head&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;body style="overflow: auto"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;div class="qui-buttonset-right"&amp;gt;&amp;lt;/div&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;div class="flex-container"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;div id="QV01" class="qvobject"&amp;gt;&amp;lt;/div&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;div id="QV02" class="qvobject"&amp;gt;&amp;lt;/div&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/div&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;!--Error Popup--&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;div id="popup"&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;button type="button" class="close" data-dismiss="modal" aria-label="Close" id="closePopup"&amp;gt;&amp;lt;span aria-hidden="true"&amp;gt;×&amp;lt;/span&amp;gt;&amp;lt;/button&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;p id="popupText"&amp;gt;&amp;lt;/p&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/div&amp;gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&lt;/P&gt;

&lt;/PRE&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;Thanks,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 13.3333px;"&gt;Bhargav Patel&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 19 Sep 2018 06:28:28 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/failed-Error-during-WebSocket-handshake-Unexpected-response-code/m-p/86321#M1238</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-09-19T06:28:28Z</dc:date>
    </item>
  </channel>
</rss>

