Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Qlikview 11 EDX

There was a discussion about how to get EDX remote task execution feature in Qlikview 11.

http://community.qlik.com/docs/DOC-2650

Author did include a lot of artifacts which explained the entire new procedure. Unfortunately some of the users were not familiar with Microsoft C# projects and they were having confusion how to make use of these tools. I tried to reply there , but the thread was closed. Intension of this post is to help users who are struggling to replace their old EDX task.

In the abovementioned post you can find an attachment called_CommandLine_v1.exe. Extract this exe to any location of your choice. You will get following files after the extraction

QMSEDX.exe.config & QMSEDX.exe.

Both of these files are essential for executing the task

Following is the syntax for using the exe file

    /// Commandline call:

    ///     qmsedx -task=name [-qms=qmsaddress] [-password=pwd] [-variablename=vname] [-variablevalues=vvalues] [-timeout=timeout] [-pollinterval=interval] [-verbosity=verbosity]          

    /// Arguments:

    ///     -task [REQUIRED]: The name or id of the task to execute.

    ///     -qms [OPTIONAL]: The address of the qms. Default is the local host.

    ///     -password (-pwd) [OPTIONAL]: The password required to execute the task, if set.

    ///     -variablename (-vn) [OPTIONAL]: The name of the variable to pass on to the task, if set.

    ///     -variablevalues (-vv) [OPTIONAL]: A semicolon separated list of values of the variable to pass on to the task.

    ///     -timeout (-to) [OPTIONAL]: How many seconds to wait for the task to finish. Default value is one minute.

    ///     -pollinterval (-pi) [OPTIONAL]: How often to check the status of the task. Default value is every five seconds.

    ///     -verbosity [OPTIONAL]: The level of output, 0-5. 0 will not produce any output and 5 is the most verbose.  

Example

I copied both these files to a server and created a .bat file with following code

C:\Users\Username\Desktop\qmsedx -task="DEV SAP BW ScriptBuilder" -password=123.

(In order to create a bat file, just write your argument in the notepad and save it with extn .bat)

Then i executed it using command line and  the task executed in my publisher. Read the whitepaper that is attached in the previous post for more information

Although the EDX task execution feature went away with 11, it is still easy to execute the task from an external system.

56 Replies
Not applicable
Author

RESOLVED: The issue was that the port# in EDX command line which should be 4799 always and I gave it using -qms=xxxxxxxx:4799/QMS/SERVICE. I had given the QEMC port# (which is different than 4799) in the EDX command line which caused the issue.

I would like to know what is the significance of 4799, though.

Not applicable
Author

Hi Jacob,

We have a similar kind of situation to reload the dashboard using an EDX Trigger.

We are trying to use WsHttpBinding and using the QMSAPIURL in appsettings (https://server:4799/QMS/Service)

But we are getting an error:

The remote certificate is invalid according to the validation procedure.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure

Can you please help us by posting the sample web.config.

Thanks

Sai

Not applicable
Author

Hi Bestin,

Below is the code we used in our Web.Config. Please look into the code and let me know if i need to change any settings.

<bindings>

      <wsHttpBinding>

        <binding name="WSHttpBinding_IQMS" closeTimeout="00:01:00" openTimeout="00:01:00"

          receiveTimeout="00:10:00" sendTimeout="00:01:00" bypassProxyOnLocal="false"

          transactionFlow="false" hostNameComparisonMode="StrongWildcard"

          maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text"

          textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">

          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"

            maxBytesPerRead="4096" maxNameTableCharCount="16384" />

          <reliableSession ordered="true" inactivityTimeout="00:10:00"

            enabled="false" />

          <security mode="Transport">

            <!--<transport clientCredentialType="Ntlm" proxyCredentialType="None" realm=""/>-->

            <transport clientCredentialType="Certificate" proxyCredentialType="None"

              realm="" /> <message clientCredentialType="UserName" algorithmSuite="Default"/><!--

            <message clientCredentialType="Windows" negotiateServiceCredential="true" />-->

          </security>

        </binding>

        <binding name="WSHttpBinding_IQTService" closeTimeout="00:01:00"

          openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"

          bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"

          maxBufferPoolSize="524288" maxReceivedMessageSize="65536" messageEncoding="Text"

          textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">

          <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"

            maxBytesPerRead="4096" maxNameTableCharCount="16384" />

          <reliableSession ordered="true" inactivityTimeout="00:10:00"

            enabled="false" />

          <security mode="Transport">

           <transport clientCredentialType="Certificate" proxyCredentialType="None"

              realm="" /> <message clientCredentialType="UserName" algorithmSuite="Default"/>

            <!--  <transport clientCredentialType="Ntlm" proxyCredentialType="None" realm=""/><message clientCredentialType="Windows" negotiateServiceCredential="true" />-->

          </security>

        </binding>

      </wsHttpBinding>

    </bindings>

    <client>

      <endpoint address="https://server:4799/QMS/Service" binding="wsHttpBinding" behaviorConfiguration="ServiceKeyEndpointBehavior"

        bindingConfiguration="WSHttpBinding_IQMS" contract="QMSBackendService.IQMS"

        name="WSHttpBinding_IQMS" />

      <endpoint address="https://server:4799/ANY/Service" binding="wsHttpBinding" behaviorConfiguration="ServiceKeyEndpointBehavior"

        bindingConfiguration="WSHttpBinding_IQTService" contract="QMSBackendService.IQTService"

        name="WSHttpBinding_IQTService" />

    </client>

Thanks

Sai

Not applicable
Author

Hi

has anone managed to get this working (triggering reloads via EDX using QMSEDX.exe) while passing variables in from command line?

example:

\\MyFileLoc\QMSEDX.exe -task="DevMount/test_EDX.qvw" -qms=http://MyQVServer:4799/QMS/Service -password=password -variablename=vDateTime -variablevalues=201211231000 -verbosity=3

For me, the variable alwas show up as as empty/null and I dont seem to be able to use it in within the the qlikview document.

Any advice or pointers world be appreciated.

thanks,

Alex.

Not applicable
Author

Hi,

has anone managed to get this working (triggering reloads via EDX using QMSEDX.exe) while passing variables in from command line?

example:

\\MyFileLoc\QMSEDX.exe -task="DevMount/test_EDX.qvw" -qms=http://MyQVServer:4799/QMS/Service -password=password -variablename=vDateTime -variablevalues=201211231000 -verbosity=3

For me, the variable always show up as as empty/null and I dont seem to be able to use it within the the qlikview document.

Any advice or pointers world be appreciated.

thanks,

Alex.

Not applicable
Author

Hi Alex,

Try this:

\\MyFileLoc\QMSEDX.exe -task="DevMount/test_EDX.qvw" -qms="http://MyQVServer:4799/QMS/Service" -password=password -variablename="vDateTime" -variablevalues=201211231000 -verbosity=3

att.,

Not applicable
Author

Hi Tiago,

Many Thanks - that worked!

Bit puzzling as I was pretty sure that I tried the double quotes around the variable, amogst all of the other permutations and combinations!

Cheers,

Alex.

Not applicable
Author

Thanks all, specially

jolivares
Specialist
Specialist

Hi everyone, I'm late in this conversation, but I still having some problem with the qmsedx tool.  I try every sentence, every comments to do this work, but i receive the same error: "Task no found".

If someone can help me please feel free and send me an email: jolivares@e-diesco.com

I would apreciate you cooperation.  Thanks in advance.

Not applicable
Author

Hello everyone,

I am new to EDX and API though I did go through all these posts but still not getting the clear picture and ideas about how to set up EDX for reload functionality.

I did create the .bat file,task in the publisher and set up the password and load on external even trigger.

Also add the button into qvd which allows to run the macro and call this event.

though I am not sure what's the use of .bat file then?

I am really confuse and don't know where to check if whatever have done is working or not.specially the .bat file and my macro code is also giving me an error.

we have Qlikview 11 SR1 and publisher.

Step by step guide to set up EDX event in Qlikview 11 with publisher would be appreciated. I don't know .Net or c# but do have some knoweldge about VBA.

Thanks for the help in advance.

Thanks,

Sandip.