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

Announcements
Posting on Qlik Community is temporarily paused for some users. Thank you for patience and we'll update you soon!
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!

Labels (1)
0 Replies