Reloading QlikView Documents using the Ajax-/Mobile-Client (Triggering EDX Tasks by using a QlikView Extension) (QlikTip #47)

It is quite easy to reload a current QlikView document if you are using the IE-Plugin or QlikView Desktop. But achieving the same result if you are using the Ajax-/Web-/Mobile-Client is a bit more demaning.

The solution described here closes the gap using a combined approach of misc. QlikView integration techniques:

  • The QMS API (QlikView Management Services API)
  • A new QlikView Object Extension called “CallEdxFromAjax”

Screenshot using CallEdxFromAjax QlikView Extension:

Architecture Overview:

You can find the source-code, detailed documentation, install-files on a dedicated project site on CodePlex.com.

Bookmark and Share

and tagged , , , , , . Bookmark the permalink. Both comments and trackbacks are currently closed.

33 Comments

  1. Hari
    Posted March 27, 2013 at 12:06 | Permalink

    Nice one. SO you mean to say users can do the Reload ? Is it adviceable to give control to the end users ? will this macro will work in Ajax ?

    • Posted March 27, 2013 at 22:40 | Permalink

      Hi,

      this is not a macro, it is a QlikView object extension, so sure, it will work in Ajax.
      No, it is not advisable to give control to the end users in every situation, this solution should be used with caution, but in some cases it makes sense and it is necessary.

      Regards
      Stefan

  2. Posted March 29, 2013 at 14:10 | Permalink

    Nice approach! I like the feedback-loop you realized in your extension object!

    In my ticketing/edx webservice I did a while ago, it was possible to configure HTTP-GET/POST-Requests to the webservice through the following settings in web.config:

    
    <webServices>
    
    <protocols>
    <add name=”HttpGet”/>
    <add name=”HttpPost”/>
    </protocols>
    </webServices>
    
    

    I always liked this possiblity, as then the user can simple bookmark an URL to trigger the reload (I agree that the JSON-Call in your extension is more elegant, but HTTPGET enables supersimple solutions for IEPlugin, DWH, Schedulers as well)!

    Have you tried these settings with your webservice as well, Stefan?

    • Posted April 23, 2013 at 20:12 | Permalink

      Hi,

      yes, it does exactly work this way. Just add the following section to between

      <system.web> and </system.web>
      
      <webServices>
         <protocols>
            <add name="HttpGet"/>
            <add name="HttpPost"/>
            <add name="HttpSoap"/>
         </protocols>
      </webServices>
      

      This will enable calling the webservice in either Http-Post or Http-Get mode …

      Regards
      Stefan

    • Posted April 23, 2013 at 20:14 | Permalink

      I’ll add that show case to the documentation … 😉

      Regards
      Stefan

  3. Posted March 30, 2013 at 02:39 | Permalink

    Hi there,

    Incase anyone is wondering what the IE plugin is I have written a brief description of what its for check it out:
    http://webofwork.com/index.php/19-qlikview-tips-and-tutorials/75-qlikview-ie-plugin-introduction

  4. Ans
    Posted April 12, 2013 at 15:24 | Permalink

    Hi All,

    Is someone able to install it?

    I’m stuck on the IIS application pool conf.

    regards

  5. Mark
    Posted May 29, 2013 at 13:44 | Permalink

    Hi. I have 2 questions.

    1) Is there a way to have this done under the Qlikview Webserver? Or is IIS mandatory?

    2) My users, for 95%, use the IE Plugin. Will your method also work with the IE plugin or is the Ajax Client mandatory?

    Thanks!

    • Posted June 6, 2013 at 00:13 | Permalink

      Hi Mark,

      for the wrapper web service you’ll need a web server (for my example IIS) but QlikView does can still run on QVWS.

      The suggested solution will only work in the Ajax-client, but you could simple call the same web service by using some macro code in the IE-Plugin …

      Regards
      Stefan

  6. jayaprakash
    Posted June 24, 2013 at 12:03 | Permalink

    Hi,

    when you say drag the extension to web view ? which file are you referring to ?

    appreciate if some one can explain the steps to add extension in QV document.

    Thanks in advance

  7. kasdo
    Posted July 2, 2013 at 09:35 | Permalink

    Hi All,
    i’ll like to use this extension, but i’m facing an issue :
    “https://myqlikviewportal is not allowed by Access-Control-Allow-Origin.” ??

    My QlikView architecture, is split into two servers:
    03B: QoS & QMS
    05B: QVS, DSC & QVWS

    every time I get this message.

    someone has an idea?

    regards

  8. Sandip
    Posted July 12, 2013 at 01:19 | Permalink

    Hello Stefan,

    Thanks for sharing this excellent code and functionality for all the people like me who don’t know much more about .NET or C#.

    I did download and installed this on our QV Server.

    Though this document of yours doesn’t show any reload buttion as i can see in the above image (Green “Reload Document” button). I can open the .asmx page and it’s showing me the same message as your documentation shows.

    Please, any idea what settings should I check or do to make it work?

    Thanks & Regards,

    Sandip.

    • Posted December 5, 2013 at 17:58 | Permalink

      Hi Sandip,

      did you add the QlikView “CallEDXFromAjax” extension to your document?

      Regards
      Stefan

      • Prabhu
        Posted December 31, 2013 at 08:07 | Permalink

        Same problem with me too. After installing the extension, it is blank. There are no buttons in it.
        Web service part working perfectly. Currently using this solution to trigger the job by browsing the web service url and input the job name.
        Is there any updated version of this extension.

        Thanks,
        Prabhu

        • Posted May 7, 2014 at 10:22 | Permalink

          My family every time sayy that I am wsting my
          time here at net, buut I know I am getting familiarity daily by reading hes good content.

          My site … envoi sms

  9. Posted December 7, 2013 at 21:30 | Permalink

    Hi! Do you use Twitter? I’d like to follow you if that would be okay.
    I’m absolutely enjoying your blog and look forward to
    new posts.

  10. Ken
    Posted December 17, 2013 at 23:32 | Permalink

    Hi Stefan,
    Do you have instructions on configuring the web service in IIS? Or at least point me in the direction of documentation? I continuously get HTTP 404 The resource cannot be found. I’m sure I’m not configuring something correctly.
    Thanks,
    -ken-

    • Ken
      Posted December 19, 2013 at 18:56 | Permalink

      Got the web service configured. It was the App pool setting and CGI/ISAPI restrictions that needed updated. Once updated, can browse asmx and get the page shown in the screen shot.
      Now, the problem is that the button on the Extension is not showing. I’m in Web View, add the extension to the form, and the container is showing on the qvw form. But not the “Load Document” button. I can change properties, such as give it a Caption, and that works. But no button to launch the web service. What am I missing?
      -ken-

      • Ken
        Posted January 14, 2014 at 22:56 | Permalink

        Just giving an update. In AccessPoint, I can get the “Reload Document” button to appear using Firefox, but not IE. When the Reload Document button is clicked from AccessPoint, an error is returned: “Error posting the data to the webservice: Error Status: 0 Error Status: error”.
        A few points:
        IIS/Webserver/Web service is located on one server, Distribution service is on another;
        – A domain service account is used by the webservice for impersonation;
        – That same account is a member of the QlikView EDX and QlikView Management API local groups;
        – Above mentioned groups are created on both servers. The domain account has admin on both servers;
        – Webservice works from local desktop browser and browser from either server (via URL). Webservice is good;
        – Just can’t get button to properly call webservice. Not sure if problem lies with permissions, double-hop, or what.
        – What would be needed to get button to appear in IE? Would a jqueryui button work? Not sure how to do that.
        This approach has potential. Just can’t get the stars and planets aligned right.
        -ken-

        • pat
          Posted July 11, 2014 at 23:55 | Permalink

          Hi Ken,

          I am getting the same error (“Error posting the data to the webservice: Error Status: 0 Error Status: error”). Did you find a solution for this?

          Much appreciated,

          Pat

          • Ken
            Posted July 12, 2014 at 02:48 | Permalink

            Hi Pat,
            I did not get that error resolved. I ended up ditching this solution and instead I’m using the command line EDX executable. I think I got that from the Qlik Community website. The upside is that the command line EDX version works well. The downside is that it’s not “on demand” like this solution has potential for. Instead, I use the Windows Task Scheduler to schedule the EDX task every 15 minutes.
            This solution still has potential, I just don’t have the time to mess with it.
            -ken-

  11. Posted January 29, 2014 at 07:32 | Permalink

    Hi Stefan,

    Is there any further documentation on how to setup the webservice on IIS? I’m keep getting 407 error message when trying to access the asmx via a URL.

    Regards
    Kefu

  12. Posted February 5, 2014 at 03:52 | Permalink

    Excellent article. I’m experiencing some of these issues as well..

  13. Posted May 8, 2014 at 12:38 | Permalink

    Great extension and as I was reading through teh documentation on http://qvextcalledxfromajax.codeplex.com/wikipage?title=Configuration&referringTitle=Documentation
    I noticed that it referes to setting parameters in QlikView Publisher.

    Does it mean that this extension can´t be used without QlikView Publisher.

    Thanks for confirming.

    Fede.

    • Lorna
      Posted June 18, 2014 at 14:43 | Permalink

      Hi Fede,
      Did you get an answer to your question as this is exactly where I’m at. We have Enterprise, but not Publisher and I have a real need to add this functionality.

      Thanks,
      Lorna

      • Fede
        Posted June 19, 2014 at 10:10 | Permalink

        HI Lorna,

        I haven’t received a direct answer to this, but I have the impression that EDX tasks are set under the Publisher component.

        Fede.

        • Lorna
          Posted June 19, 2014 at 14:22 | Permalink

          Hi Fede,
          I’m still working on this and will let you know what I find but so far I believe that we can do it without Publisher but the document will only be able to loaded via EDX OR on a reload schedule, not both. Not ideal for my purposes as I would like a daily reload that my user could then supplement by refreshing on demand but we’ll see.

          Lorna

          • Lorna
            Posted June 27, 2014 at 16:37 | Permalink

            Hi Fede,
            I found this patch at the download site, and after recompiling with it I was able to get the reload to work via the button click in my Desktop version!
            http://qvextcalledxfromajax.codeplex.com/SourceControl/list/patches

            However, once I put the document on the Access point the button is not visible at all. The journey continues.

            Lorna

  14. Stefano
    Posted May 13, 2014 at 15:57 | Permalink

    Hi Stefan,

    with IE9 i get this error message: “Error Status: Error: Could not complete the operation due to error c00ce56e”
    How can I solve the issue? I’ve got some users that can’t upgrade IE

    Thanks
    S

  15. DARWIN
    Posted June 4, 2014 at 18:12 | Permalink

    I am getting this when cliking the reload button

    Error Status: 500
    Error Status: Internal Service Error

  16. Lorna
    Posted June 24, 2014 at 15:04 | Permalink

    Hi Stefan,
    I was wondering if you had any insight into the ‘No Distribution service found’ issue that some users are experiencing? There is a good description of it on this thread:
    http://community.qlik.com/thread/108444

    I am trying to use the extension in an environment without Publisher, and I can launch the EDX task from another executable utility that I found, so I think that confirms that the webservice etc. is set up properly. However the extension within my qvw throws the ‘No Distribution Service found’ error.

    Thanks,
    Lorna