Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

WebTicket - DMS Failed open document

Hi all.... I Recently installed QV11.2 in 3 machines. machine1 QVS, machine2 QVP and machine3 IIS7.5...... I tried to use QMS API... to open a document, but I have a problem using webTickets.... with DMS

Apparently I get the webticket... but when the docoment is open I get two errors message:

***When I try to open with  QvAjaxZfc: "You do not have permission to view this directory or page" 

url : 

http://tcb-web/qvajaxzfc/authenticate.aspx?type=html&try=tcb-web/qvajaxzfc/opendoc.htm?document=pr.q...

 

****when i try to open with QvPlugin: "Failed to open document, You don't have access to this document" (QlikOcx)

url:  http://tcb-web/QvPlugin/opendoc.htm?document=pr.qvw&webticket=HFO+b8ZTGg8X0K1SuHmOJnztub6y3PxXneijFz...

.I have my IIS server with anonymous account , the default web site with anonymus auth, also the app QvAjaxZfc with anonymous and the webticket.aspx with windows auth ....

I think my C # code gets in a wrong way the webticket. Because when I concatenate into a url i get that errors. Also... when I use the GetTicket.aspx file instead GetWebticked.aspx the value of the ticket is empty.

p.s. when I configure the document with "All users" permission QvPlugin opens the document correctly, but this isn't that I want.

QVS: tca-qvs

QVP: tca-qvp

QVWS: tcb-web (iis 7.5)

public static string getTicket(string User)

        {

            string usergroups=@"";

            string QlikViewServerURL = "http://tcb-web/QVAJAXZFC/GetWebTicket.aspx";

            StringBuilder groups = new StringBuilder();

            if (!string.IsNullOrEmpty(usergroups))

            {

                groups.Append("<GroupList>");

                foreach (string group in usergroups.Split(new char[] { ',' }))

                {

                    groups.Append("<string>");

                    groups.Append(group);

                    groups.Append("</string>");

                }

                groups.Append("</GroupList>");

                groups.Append("<GroupsIsNames>");

                groups.Append("true");

                groups.Append("</GroupsIsNames>");

            }

            string webTicketXml = string.Format("<Global method='GetWebTicket'><UserId>{0}</UserId></Global>", User);

            HttpWebRequest client = (HttpWebRequest)WebRequest.Create(new Uri(QlikViewServerURL));

            string uri = client.RequestUri.ToString();

            client.PreAuthenticate = true;

            client.Method = "POST";

            client.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;

            NetworkCredential myCred = new NetworkCredential("user", "pwd", "domain");

            CredentialCache myCache = new CredentialCache();

            myCache.Add(new Uri(uri), "NTLM", myCred);

            client.Credentials = myCache;

          

            var writer = new StreamWriter(client.GetRequestStream());

            writer.Write(webTicketXml);

            writer.Flush();

            var reader = new StreamReader(client.GetResponse().GetResponseStream());

            var xmlDocument = new XmlDocument();

            xmlDocument.LoadXml(reader.ReadToEnd());

            return xmlDocument.InnerText;

         

        }

Any clue?

Thanks a lot!

0 Replies