Qlik Community

QlikView Integrations

Discussion Board for collaboration on QlikView Integration.

cancel
Showing results for 
Search instead for 
Did you mean: 
sandrok15
Creator
Creator

CallEDXFromAjax extension problems

Hello!


We are trying to use the CallEDXFromAjax extension from Stefan Walther in cooperation with the respective webservice.


The extension is installed, the webservice is configured (as far as we could) and we are now trying to get the sample app to work. This is where we are stuck:


Environment: Windows Server 2012, QVS SBE 11.2 SR2, IIS 7.5


For installing the webservice we have:

- put the EDX_Wrapper directory into the C:\ProgramData\QlikTech\WebServer directory

- created a virtual directory under the QvAjaxZfc site in IIS (we have tried the QlikView site as well)

- converted that virtual directory to an app

- assigned an application pool to that app (we tried DefaultAppPool and QlikView IIS)

- put the username and password under which the server runs into the web.config file

- added the QVS user to the "QlikView Management API" and "QlikView EDX" group

- restarted the QlikViewDistributionService, QlikViewDirectoryServiceConnector and QlikViewManagementService services


Configuration of the extension in the app:

Webservice URL: http://servername/QvAjaxZfc/EDXWrapper/QlikViewTasks.asmx

Task Name: CallEDXFromAjax_QvApp_v1.0.qvw (we have put it into the root of the primarily mounted folder)

Task Password: 1234

No variable names or values


QlikViewServer configuration:

For CallEDXFromAjax_QvApp_v1.0.qvw application

Reload: On external event, Password as above


What works:

http://servername/QvAjaxZfc/EDXWrapper/QlikViewTasks.asmx shows the result page according to the extensions documentation

(http://qvextcalledxfromajax.codeplex.com/wikipage?title=Installation&referringTitle=Documentation)


What doesn't work:

Reloading from the sample app. Current error:

EDX task could not be started... (No distribution service found)

According to our research this error is encountered in the webservice in the QlikViewTasks.asmx.cs file, when the DistributionService is retrieved, but then seems to be null.

QlikViewTasks.asmx.cs:

// get the default distribution service

ServiceInfo qvsService = apiClient.GetServices(ServiceTypes.QlikViewDistributionService).FirstOrDefault();

if (qvsService != null) {

...

Can anyone enlighten us as to how this can be resolved or where the problems stems from?

Regards,

Sandro

10 Replies
Not applicable

Hi Sandro,

What kind of license do you have for your QlikView server? The distribution service is only available with an enterprise license. Not for the small and medium business edition license. The distribution service is also not available on a test server.

regards,

Petra Bloem

sandrok15
Creator
Creator
Author

Hello Petra!

Thank you for the answer. Where can we find such information? All "differences between server versions" we have found so far have been way more superficial and led to some frustrating development attempts like this one.

And also: is there any way to accomplish the on-demand document loading by button press of the user, that we are after, with the Small Business Edition? I know that we had it working with the EDX commandline tool from But only from the commandline on the Server machine itself. Does that work differently?

Thank you!

Regards,

Sandro

Not applicable

Is it works using Qlikview Web Server?

sandrok15
Creator
Creator
Author

Yes, we are trying to get it to work on a QlikView Server SBE 11.2 SR2 with IIS 7.5

sandrok15
Creator
Creator
Author

I have gained new insights on this:

I noticed, that in this article Using EDX in QlikView 11 it is mentioned, that to obtain a QlikView Distribution Service instance higher privileges than the "QlikView EDX" group are necessary. So my current theorie is, that it's not that the Distribution Service isn't there, it's just that the Webservice isn't allowed to find it. The source code of the Webservice tells me, that it is only looking for it to then use its ID for the TriggerEDXTask call. As is also mentioned in above article, if there only is one instance we can also use an empty Guid.

I have tried the commandline tool from QMSEDX Enhanced and it works. Underneath I basically found the same QlikView Management Service calls, but it simply hands over the default GUID. That tells me that it is NOT a missing Distribution Service in itself...

Solution 1 might be to recompile the Webservice code and take out the search for the QlikView Distribution Service.

Questions:

1. Do any of you have experience with configuring the webservice to allow for proper authorization? We have activated ASP.NET Impersonation on the webservice application to switch to an QlikView Administrator and created an additional Application pool, which is configured to run in classical pipeline mode. If only ASP.NET Impersonation is activated for authentication, we get a 401 Error (unauthorized). If we also switch on the Windows-Authentication we get the "No distribution service found" error message, which should be explained by the above privilege problem. Are we missing something here?

2. In "However, higher-level privileges than membership in “QlikView EDX” are required to get a QDS ID."
Does higher-level privileges mean, that "QlikView Management API" group privileges are higher than "QlikView Administrators" group privileges? Quite frankly, we haven't tried that lately. Maybe in the beginning, but then other things have been off. The user, which is currently impersonated simply is a QlikView Administrator

Thank you!

Sandro

Not applicable

Hi Sandro,

Just wondering if you had been able to move forward with out re-compiling the web service.  I basically got to the same point and was able to use the QMSEDX Enhanced exe that you pointed us towards to verify that the task is accessible and working.  It just is having that distribution service not found from the EDX Ajax extension.

I don't have the means to recompile the dll here so if there is another work around it would be much appreciated.

Thanks,

Lorna

Not applicable

Hi Sandro,

I found this patch on codeplex that sounded like it would resolve the issue and it did!  After I recompiled the dll with the new .cs file I was able to get the reload to kick off when working in my document in the Desktop version.  However, when I saved it to the access point the button is not visible at all. 😞  So close.....

http://qvextcalledxfromajax.codeplex.com/SourceControl/list/patches

Any thoughts on the invisible button?  Same when launching the access point via IE or Chrome.

Thanks,

Lorna

Not applicable

Lorna, can you post de dll after recompiled??

I have the problem "EDX task could not be started... (No distribution service found)"

Is possible run this webservice in Test Server? Is possible in Enterprise Server?

Thanks.

Not applicable

Hi Daniel,

I don't see a way to attach it here but the .cs file is available on Codeplex, just not the compiled dll.

I don't have a test server so can't answer that question.

When I got it going it only worked in Desktop though.  On the access point the button isn't shown.

Lorna