Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Qlik Sense Session API (.Net) throws error "The remote server returned an error: (404) Not Found."

Hi,

       I have implemented the Qlik Sense session API . i have followed the instruction given in this video : https://www.youtube.com/watch?v=MpC2h5y2NRE .

1. Created the Virtual Proxy in my QlikSense Server .

2016-10-18_17-00-00.jpg

2. Created  certificate and imported in the Server.(in Personal).

3. I would like to paste my code here for your view .

       // First locate the Qlik Sense certificate

        X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine);

        store.Open(OpenFlags.ReadOnly);

        certificateFoo = store.Certificates.Cast<X509Certificate2>().FirstOrDefault(c => c.FriendlyName == "QlikClient");

        store.Close();

        //The following line is required because the root certificate for the above server certificate is self-signed.

        //Using a certificate from a trusted root certificate authority will allow this line to be removed.

        ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };

        //Create URL to REST endpoint for tickets

        string url = server + "/qps/session";   //" + virtualProxy + "/

        //Create the HTTP Request and add required headers and content in Xrfkey

        string Xrfkey = "0123456789abcdef";

        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url + "?Xrfkey=" + Xrfkey);

        request.ClientCertificates.Add(certificateFoo);

        request.Method = method;

        request.Accept = "application/json";

        request.Headers.Add("X-Qlik-Xrfkey", Xrfkey);

        request.CookieContainer = cookiesContainer;

        //The body message sent to the Qlik Sense Proxy api will add the session to Qlik Sense for authentication

        string body = "{ 'UserId':'" + user + "','UserDirectory':'" + userdirectory + "',";

        body += "'Attributes': [],";

        body += "'SessionId': '" + txtSession.Text + "'";

        body += "}";

        byte[] bodyBytes = Encoding.UTF8.GetBytes(body);

        if (!string.IsNullOrEmpty(body))

        {

            request.ContentType = "application/json";

            request.ContentLength = bodyBytes.Length;

            Stream requestStream = request.GetRequestStream();

            requestStream.Write(bodyBytes, 0, bodyBytes.Length);

            requestStream.Close();

        }

       // make the web request and return the content

        HttpWebResponse response = (HttpWebResponse)request.GetResponse();

        Stream stream = response.GetResponseStream();

        return stream != null ? new StreamReader(stream).ReadToEnd() : string.Empty;

I am facing issues like ,

     1. Certificate comes as Null , it throws Error .

     2. The remote server returned an error: (404) Not Found. I am not able to create a session in this .

I have hosted my application with the separate domain in my server , do i need to work with IIS for any configuration ??

Thanks for your support.

2 Replies
Not applicable
Author

Hello @Aro raj !

Have you solved your issue with 404 Error when trying to make request to Qlik Sense virtual proxy?

I got the same problem...

shahabquser
Partner - Contributor
Partner - Contributor

i am facing same problem since two days . i am trying to generate ticket through .net but when i call TicketRequest() function it returns "The remote server returned an error: (404) Not Found." .