Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
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

Hi all,

Many thanks for all the extensive explanations above. I have got the EDX running -> it does trigger the event required. However after the task has succesfully been started, an error occurs 'when checking the task status':

Successfully started task with id/name=TestEDX/TestEDX.qvw

Checking the status of task TestEDX/TestEDX.qvw (id=cf4ff049-509e-4aaf-9fa3-81b5

069cd22a execId=49ddf6ea-3c9c-43ec-87ef-212d3903a495)

The task execution ended.

    Checking triggered task:

Unhandled Exception: System.ServiceModel.FaultException: System.Exception: Could

not find a result for the specified execution ID "c7222527-7a64-4a73-ba2d-e5938

9f303bb"

Server stack trace:

   at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRunt

ime operation, ProxyRpc& rpc)

   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean on

eway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan tim

eout)

   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCall

Message methodCall, ProxyOperationRuntime operation)

   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]:

   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage req

Msg, IMessage retMsg)

   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgDa

ta, Int32 type)

   at QMSEDX.QMSAPI.IQMS.GetEDXTaskStatus(Guid qdsID, Guid executionID)

   at QMSEDX.QMSAPI.QMSClient.GetEDXTaskStatus(Guid qdsID, Guid executionID)

   at QMSEDX.Program.<>c__DisplayClasse.<PollSingleTask>b__d()

   at System.Threading.SpinWait.SpinUntil(Func`1 condition, Int32 millisecondsTi

meout)

   at QMSEDX.Program.PollSingleTask(IQMS client, Guid execId, Int32 pollInterval

, Int32 timeout)

   at QMSEDX.Program.<>c__DisplayClassb.<MonitorTriggeredTasks>b__a(TaskExecutio

nItem item)

   at System.Collections.Generic.List`1.ForEach(Action`1 action)

   at QMSEDX.Program.MonitorTriggeredTasks(IQMS client, List`1 executionItems)

   at QMSEDX.Program.TriggerAndMonitorTask()

   at QMSEDX.Program.Main(String[] args)

Could anyone help me how to solve this?

jfkinspari
Partner - Specialist
Partner - Specialist

Hi Koen,

Have you, or others, been able to find a solution for this error?

stefano_marson
Partner - Contributor III
Partner - Contributor III

Hi to everybody,

is it possible to invoke a batch file with:

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


from a UNIX server? I would like that batch file were executed on QV Server. Is it possible?

Batch file reside in QV Server (vers. 11 SR6) file system.

Thanks in advance

Regards

stefano

Not applicable
Author

You might want to try using Windows Task Scheduler to run your qmsedx.exe

You can remotly trigger these tasks from other Windows machines with

schtasks /run /s <machine name> /tn <task name>

C:\>schtasks /?

SCHTASKS /parameter [arguments]

Description:
  Enables an administrator to create, delete, query, change, run and
  end scheduled tasks on a local or remote system. Replaces AT.exe.

Parameter List:
  /Create Creates a new scheduled task.
  /Delete Deletes the scheduled task(s).
  /Query Displays all scheduled tasks.
  /Change Changes the properties of scheduled task.
  /Run Runs the scheduled task immediately.
  /End Stops the currently running scheduled task.
  /? Displays this help message.

The question is, how you can trigger these tasks from your UNIX-Server...

Alternative:

Maybe you can compile QMSEDX for UNIX and run it directly on your UNIX machine???

aldo-tgh
Partner - Creator II
Partner - Creator II

@Hi Guys,

Running the batch file triggers the task, but the error below.

Using QMSEDX Enhanced with the following syntax (No Publisher):

C:\QlikView\11.EDX-Enhanced\QMSEDX -task="App-Reload-Apps/App-Start_Reload.qvw" -password="123"

Pause

EXIT /B %errorlevel%

Having the error below.

Any ideas?

Thanks in advance,

Aldo.

C:\BI-QlikView\7.Batch_Files>\\172.17.0.24\c$\BI-QlikView\11.EDX-Enhanced\QMSEDX

-task="App-Reload-Apps/App-Start_Reload.qvw" -password="123"

Successfully started task with id/name=App-Reload-Apps/App-Start_Reload.qvw

Checking the status of task App-Reload-Apps/App-Start_Reload.qvw (id=9f87040f-eb

be-4a40-959f-0a7f384cebc4 execId=92357024-60ae-48f6-bd94-9345d012cd63)

The task execution ended.

    Checking triggered task:

Unhandled Exception: System.NullReferenceException: Object reference not set to

an instance of an object.

   at QMSEDX.Program.<>c__DisplayClasse.<PollSingleTask>b__d()

   at System.Threading.SpinWait.SpinUntil(Func`1 condition, Int32 millisecondsTi

meout)

   at QMSEDX.Program.PollSingleTask(IQMS client, Guid execId, Int32 pollInterval

, Int32 timeout)

   at QMSEDX.Program.<>c__DisplayClassb.<MonitorTriggeredTasks>b__a(TaskExecutio

nItem item)

   at System.Collections.Generic.List`1.ForEach(Action`1 action)

   at QMSEDX.Program.MonitorTriggeredTasks(IQMS client, List`1 executionItems)

   at QMSEDX.Program.TriggerAndMonitorTask()

   at QMSEDX.Program.Main(String[] args)

C:\BI-QlikView\7.Batch_Files>Pause

Press any key to continue . . .

filippo
Partner - Contributor III
Partner - Contributor III

I'm finally managed to use qlikview edx command line tool.

This is an example to run this in client machine:

"C:\QMSEDX_CommandLine\qmsedx" -task="Magazzino/Locazioni.qvw" -qms=http://192.168.64.174:4799/QMS/Service -password=123

To find the name of the task go to qmc under Status--> Tasks --> Select the Task and click on "Show task detail", in the "Document" section you find the name.

Cheers!!

Not applicable
Author

Hi Jens and others,

Unfortunately I haven't. Has anyone found a solution to the problem I described above, or to trigger a windows task from a unix server as suggested below?