<?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 Re: Using .NET SDK (C#) to connect to QlikSense using a web proxy server in Integration, Extension &amp; APIs</title>
    <link>https://community.qlik.com/t5/Integration-Extension-APIs/Using-NET-SDK-C-to-connect-to-QlikSense-using-a-web-proxy-server/m-p/1875419#M16079</link>
    <description>&lt;P&gt;Qlik Sense .NET SDK v15.6.1 was released 10 days ago.&lt;BR /&gt;&lt;A href="https://www.nuget.org/packages/QlikSense.NetSDK/15.6.1" target="_blank"&gt;https://www.nuget.org/packages/QlikSense.NetSDK/15.6.1&lt;/A&gt;&lt;BR /&gt;but, Release Notes(ChangeLog) page has not been updated yet.&lt;BR /&gt;&lt;A href="https://help.qlik.com/en-US/sense-developer/November2021/Subsystems/NetSDKAPIref/Content/ReleaseNotes.htm" target="_blank"&gt;https://help.qlik.com/en-US/sense-developer/November2021/Subsystems/NetSDKAPIref/Content/ReleaseNotes.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Please update online help site asap.&lt;/P&gt;</description>
    <pubDate>Tue, 28 Dec 2021 05:51:14 GMT</pubDate>
    <dc:creator>tts</dc:creator>
    <dc:date>2021-12-28T05:51:14Z</dc:date>
    <item>
      <title>Using .NET SDK (C#) to connect to QlikSense using a web proxy server</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Using-NET-SDK-C-to-connect-to-QlikSense-using-a-web-proxy-server/m-p/1750412#M13346</link>
      <description>&lt;P&gt;I have used QlikEngine JSON API and exploring how to achieve similar results with the .NET SDK. I have a few questions based on the code snippet below:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;Uri uri = new Uri("wss://my_remote_host/jwt/app?transient="); 
//virtual proxy
            
AppIdentifier appId = new AppIdentifier();
appId.AppId = "&amp;lt;SOME APPID&amp;gt;";
appId.AppName = "&amp;lt;SOME APP NAME&amp;gt;";
var senseLocation = Location.FromUri(uri);

senseLocation.AsJwtViaProxy(Guid.NewGuid().ToString(), false); 
//hope I can pass a GUID for key
var bearerToken = GetToken(); 
//getting a bearer token to pass in the header
senseLocation.CustomUserHeaders.Add("Authorization", "bearer " + bearerToken); //passing authorization header

var senseSession = Session.WithApp(appId, SessionType.Default);
QlikConnection conn = new QlikConnection(senseLocation, senseSession);
IEnumerable&amp;lt;string&amp;gt; argNames = new List&amp;lt;string&amp;gt;(); //WHAT ARGS?
string[] arguments = null; //WHAT PARAMS?
var response = await conn.SendAsync(1, "GetDocList", argNames, arguments);&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Hope I can pass a unique value like a GUID string for the JWTProxy object (in &lt;STRONG&gt;senseLocation.AsJwtViaProxy(Guid.NewGuid().ToString(), false)&lt;/STRONG&gt;)&lt;/LI&gt;&lt;LI&gt;Can the URL be same as the &lt;STRONG&gt;wss://&lt;/STRONG&gt; URL used for websocket JSON API?&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;&lt;LI&gt;My connection requires a HTTP proxy as well. Where do I specify the same? (I have tested this is working for websocket JSON API).&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;&lt;LI&gt;How do I make the JSON payload and pass it as arguments to &lt;STRONG&gt;SendAsync&lt;/STRONG&gt; method? The method requires a List&amp;lt;string&amp;gt; and a string[]. Need to know where/how to pass the JSON payload for the &lt;STRONG&gt;GetDocList&lt;/STRONG&gt; server method. In the websocket JSON API, I would normally pass the JSON&lt;BR /&gt;like&amp;nbsp;&lt;STRONG&gt;{"jsonrpc":"2.0","id":0"handle":-1,"method":"GetDocList","params":[]}&lt;BR /&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/LI&gt;&lt;LI&gt;I tried below code to iterate over document list using the Hub but connection fails here as well.&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;            using (IHub hub = senseLocation.Hub()) 
            //SocketException: No such host is known
            {
                var apps = hub.GetAppList();
                foreach (var app in apps)
                {
                    Console.WriteLine(app.AppId + ": " + app.AppName);
                }
            }&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks a ton in advance.&lt;/P&gt;</description>
      <pubDate>Sat, 16 Nov 2024 18:00:20 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Using-NET-SDK-C-to-connect-to-QlikSense-using-a-web-proxy-server/m-p/1750412#M13346</guid>
      <dc:creator>UmeshC</dc:creator>
      <dc:date>2024-11-16T18:00:20Z</dc:date>
    </item>
    <item>
      <title>Re: Using .NET SDK (C#) to connect to QlikSense using a web proxy server</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Using-NET-SDK-C-to-connect-to-QlikSense-using-a-web-proxy-server/m-p/1750595#M13352</link>
      <description>&lt;P&gt;When you use AsJwtViaProxy, the SDK will set the bearer token for you, so you don't have to explicitly set it. The "key" argument is the token. So a JWT connection typically looks like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;var location = Location.FromUri("https://my_remote_host");
location.VirtualProxyPath = "jwt";
location.AsJwtViaProxy(key, false);
using (var hub = location.Hub())
{
    Console.WriteLine(hub.QTProduct());
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I notice that you have "/jwt/app?transient=" as part of your URI, and that probably shouldn't be there.&lt;/P&gt;&lt;P&gt;You can use any of the schemes https, http, wss and ws. http and ws will only work if your virtual proxy allows it, but it sounds like you have already enabled that in your case.&lt;/P&gt;&lt;P&gt;You definitely don't want to pass a random GUID as the token, as this is the token that will be used to authenticate you. This page is a good place to go to learn how to generate a valid JWT token:&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.qlik.com/t5/Support-Knowledge-Base/Qlik-Sense-How-to-set-up-JWT-authentication/ta-p/1716226" target="_blank"&gt;https://community.qlik.com/t5/Support-Knowledge-Base/Qlik-Sense-How-to-set-up-JWT-authentication/ta-p/1716226&lt;/A&gt;&lt;/P&gt;&lt;P&gt;As for calling the different endpoints, it is rather uncommon to work directly with QlikConnection objects and SendAsync. The code you list in bullet 5 looks fine, but you'll need to get your connection working first.&lt;/P&gt;</description>
      <pubDate>Thu, 08 Oct 2020 08:58:54 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Using-NET-SDK-C-to-connect-to-QlikSense-using-a-web-proxy-server/m-p/1750595#M13352</guid>
      <dc:creator>Øystein_Kolsrud</dc:creator>
      <dc:date>2020-10-08T08:58:54Z</dc:date>
    </item>
    <item>
      <title>Re: Using .NET SDK (C#) to connect to QlikSense using a web proxy server</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Using-NET-SDK-C-to-connect-to-QlikSense-using-a-web-proxy-server/m-p/1750612#M13353</link>
      <description>&lt;P&gt;Thanks a ton for the pointer on using the key argument to pass the token.&lt;BR /&gt;The other point I am missing is how to connect to the end point via a HTTP proxy.&lt;/P&gt;&lt;P&gt;If I did this for JSON API, the code would be like below. I have the opportunity to specify a proxy because I am the one creating the websocket object.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;TheSocket = new ClientWebSocket();
ICredentials credentials = CredentialCache.DefaultCredentials;
IWebProxy webProxy = new WebProxy("http://myproxy:port" , true);
webProxy.Credentials = credentials;
TheSocket.Options.Proxy = webProxy;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks again.&lt;/P&gt;</description>
      <pubDate>Thu, 08 Oct 2020 09:37:40 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Using-NET-SDK-C-to-connect-to-QlikSense-using-a-web-proxy-server/m-p/1750612#M13353</guid>
      <dc:creator>UmeshC</dc:creator>
      <dc:date>2020-10-08T09:37:40Z</dc:date>
    </item>
    <item>
      <title>Re: Using .NET SDK (C#) to connect to QlikSense using a web proxy server</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Using-NET-SDK-C-to-connect-to-QlikSense-using-a-web-proxy-server/m-p/1750628#M13354</link>
      <description>&lt;P&gt;I'm not sure I understand what you mean by proxy in this context. Are you referring to something outside of Qlik Sense, or are you referring to a Qlik Sense Proxy as can be configured through the QMC?&lt;/P&gt;&lt;P&gt;In either case, you typically don't need to do any special configuration for the SDK connection. Just use the same url that you would use in your browser but without the virtual proxy path. That one you put in the "VirtualProxyPath" property for the location. Typically you don't define a port here either.&lt;/P&gt;&lt;P&gt;But you are referring to the "DefaultCredentials", does this mean that you want to log in with your default Windows credentials? If that is the case, then you should use "AsNtlmUserViaProxy" instead of "AsJwtViaProxy".&lt;/P&gt;</description>
      <pubDate>Thu, 08 Oct 2020 10:18:47 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Using-NET-SDK-C-to-connect-to-QlikSense-using-a-web-proxy-server/m-p/1750628#M13354</guid>
      <dc:creator>Øystein_Kolsrud</dc:creator>
      <dc:date>2020-10-08T10:18:47Z</dc:date>
    </item>
    <item>
      <title>Re: Using .NET SDK (C#) to connect to QlikSense using a web proxy server</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Using-NET-SDK-C-to-connect-to-QlikSense-using-a-web-proxy-server/m-p/1750655#M13355</link>
      <description>&lt;P&gt;To clarify, both "proxies" are applicable in my implementation:&lt;/P&gt;&lt;P&gt;1. Yes there is a web proxy outside of Qlik. My client application (where I intend to use .NET SDK) cannot connect to Qlik servers directly, and therefore need to configure a connection proxy server that sits between the .NET SDK Client and Qlik servers.&lt;/P&gt;&lt;P&gt;2. I also have to use the QlikSense proxy configured using QMC.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 08 Oct 2020 11:17:44 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Using-NET-SDK-C-to-connect-to-QlikSense-using-a-web-proxy-server/m-p/1750655#M13355</guid>
      <dc:creator>UmeshC</dc:creator>
      <dc:date>2020-10-08T11:17:44Z</dc:date>
    </item>
    <item>
      <title>Re: Using .NET SDK (C#) to connect to QlikSense using a web proxy server</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Using-NET-SDK-C-to-connect-to-QlikSense-using-a-web-proxy-server/m-p/1857592#M15867</link>
      <description>&lt;P&gt;So, is it possible specify Web proxy url when connecting QS server, using Qlik Sense .NET SDK?&lt;/P&gt;&lt;P&gt;The latest SDK still has no way to support Web proxy????&lt;/P&gt;</description>
      <pubDate>Wed, 10 Nov 2021 11:46:02 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Using-NET-SDK-C-to-connect-to-QlikSense-using-a-web-proxy-server/m-p/1857592#M15867</guid>
      <dc:creator>tts</dc:creator>
      <dc:date>2021-11-10T11:46:02Z</dc:date>
    </item>
    <item>
      <title>Re: Using .NET SDK (C#) to connect to QlikSense using a web proxy server</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Using-NET-SDK-C-to-connect-to-QlikSense-using-a-web-proxy-server/m-p/1857949#M15873</link>
      <description>&lt;P&gt;For example, enigma-go module added support Web proxy setting as below.&lt;BR /&gt;&lt;A href="https://github.com/qlik-oss/enigma-go/blob/91568aab445a0c6bd64afc702e9c2fc7b696b806/default_dialer.go" target="_blank"&gt;https://github.com/qlik-oss/enigma-go/blob/91568aab445a0c6bd64afc702e9c2fc7b696b806/default_dialer.go&lt;/A&gt;&lt;BR /&gt;--------&lt;BR /&gt;dialer.CreateSocket = func(ctx context.Context, url string, httpHeader http.Header) (Socket, error) {&lt;BR /&gt;gorillaDialer := websocket.Dialer{&lt;BR /&gt;Proxy: http.ProxyFromEnvironment, // Will pick the Proxy URL from the environment variables (HTTPS_PROXY).&lt;/P&gt;&lt;P&gt;--------&lt;/P&gt;</description>
      <pubDate>Thu, 11 Nov 2021 00:56:20 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Using-NET-SDK-C-to-connect-to-QlikSense-using-a-web-proxy-server/m-p/1857949#M15873</guid>
      <dc:creator>tts</dc:creator>
      <dc:date>2021-11-11T00:56:20Z</dc:date>
    </item>
    <item>
      <title>Re: Using .NET SDK (C#) to connect to QlikSense using a web proxy server</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Using-NET-SDK-C-to-connect-to-QlikSense-using-a-web-proxy-server/m-p/1857950#M15874</link>
      <description>&lt;P&gt;&amp;gt;&lt;SPAN&gt;I'm not sure I understand what you mean by proxy in this context. Are you referring to something outside of Qlik Sense,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Do you understand Web proxy? For example, the web client program may need to use Web proxy systemm, using &lt;A href="http://webproxy:88888" target="_blank"&gt;http://webproxy:88888&lt;/A&gt;, to access web server running in Internet space.&lt;BR /&gt;So, I guess that Qlik Sense .NET SDK assembly(Qlik.Sense.JsonRpc.dll) uses .NET's ClientWebSocket class to access Qlik Sense Engine with WebSocket. However, we can not set the Proxy property.&lt;BR /&gt;&lt;A href="https://docs.microsoft.com/en-us/dotnet/api/system.net.websockets.clientwebsocketoptions.proxy?view=net-5.0#System_Net_WebSockets_ClientWebSocketOptions_Proxy" target="_blank"&gt;https://docs.microsoft.com/en-us/dotnet/api/system.net.websockets.clientwebsocketoptions.proxy?view=net-5.0#System_Net_WebSockets_ClientWebSocketOptions_Proxy&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 11 Nov 2021 00:59:11 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Using-NET-SDK-C-to-connect-to-QlikSense-using-a-web-proxy-server/m-p/1857950#M15874</guid>
      <dc:creator>tts</dc:creator>
      <dc:date>2021-11-11T00:59:11Z</dc:date>
    </item>
    <item>
      <title>Re: Using .NET SDK (C#) to connect to QlikSense using a web proxy server</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Using-NET-SDK-C-to-connect-to-QlikSense-using-a-web-proxy-server/m-p/1858942#M15890</link>
      <description>&lt;P&gt;&lt;a href="https://community.qlik.com/t5/user/viewprofilepage/user-id/127321"&gt;@UmeshC&lt;/a&gt;If you use .NET Core 3.0 or later, then I believe you can use the default proxy setting of the HttpClient class to achieve this:&lt;/P&gt;&lt;P&gt;&lt;A href="https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient.defaultproxy?view=netcore-3.0" target="_blank"&gt;https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient.defaultproxy?view=netcore-3.0&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 13 Nov 2021 09:32:54 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Using-NET-SDK-C-to-connect-to-QlikSense-using-a-web-proxy-server/m-p/1858942#M15890</guid>
      <dc:creator>Øystein_Kolsrud</dc:creator>
      <dc:date>2021-11-13T09:32:54Z</dc:date>
    </item>
    <item>
      <title>Re: Using .NET SDK (C#) to connect to QlikSense using a web proxy server</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Using-NET-SDK-C-to-connect-to-QlikSense-using-a-web-proxy-server/m-p/1861835#M15921</link>
      <description>&lt;P&gt;Have you tested&amp;nbsp;HttpClient.DefaultProxy Property with ClientWebSocket class?&lt;/P&gt;</description>
      <pubDate>Mon, 22 Nov 2021 01:09:05 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Using-NET-SDK-C-to-connect-to-QlikSense-using-a-web-proxy-server/m-p/1861835#M15921</guid>
      <dc:creator>tts</dc:creator>
      <dc:date>2021-11-22T01:09:05Z</dc:date>
    </item>
    <item>
      <title>Re: Using .NET SDK (C#) to connect to QlikSense using a web proxy server</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Using-NET-SDK-C-to-connect-to-QlikSense-using-a-web-proxy-server/m-p/1875419#M16079</link>
      <description>&lt;P&gt;Qlik Sense .NET SDK v15.6.1 was released 10 days ago.&lt;BR /&gt;&lt;A href="https://www.nuget.org/packages/QlikSense.NetSDK/15.6.1" target="_blank"&gt;https://www.nuget.org/packages/QlikSense.NetSDK/15.6.1&lt;/A&gt;&lt;BR /&gt;but, Release Notes(ChangeLog) page has not been updated yet.&lt;BR /&gt;&lt;A href="https://help.qlik.com/en-US/sense-developer/November2021/Subsystems/NetSDKAPIref/Content/ReleaseNotes.htm" target="_blank"&gt;https://help.qlik.com/en-US/sense-developer/November2021/Subsystems/NetSDKAPIref/Content/ReleaseNotes.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Please update online help site asap.&lt;/P&gt;</description>
      <pubDate>Tue, 28 Dec 2021 05:51:14 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Using-NET-SDK-C-to-connect-to-QlikSense-using-a-web-proxy-server/m-p/1875419#M16079</guid>
      <dc:creator>tts</dc:creator>
      <dc:date>2021-12-28T05:51:14Z</dc:date>
    </item>
  </channel>
</rss>

