Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi,
I am trying to connect to some of the webservices offered in QlikView 9.
What I have done:
- First I have enabled the batch-mode in QlikViewDistributionService.exe.config
<add key="EnableBatchMode" value="true"/>
- I am trying to call http://localhost:4720/qtxs.asmx ==> OK, I get the hello world
- then I was trying to call http://localhost:4720/qtxs.asmx?WSDL ==> Error, not available
Any ideas? Do I have to wait for Service Release 1 or should this already work ...
BTW, I realised the same behaviour for all webservices offered ...
Best regards
Stefan
Hey guys, we were able to confirm that WSDL is no longer available in version 9, and here is a snippet from the Service Release 1 (SR1) release of version 9 QVS/Pub manual regarding the replacement functionality, which will give you a preview of what is coming.
Regards,
Brett
26.2 Triggering EDX Enabled Tasks
In order to start the tasks that have an external event as trigger, you must make two
POST type request calls to the QlikView Distribution Service that has been assigned
the task.
The body of the first request call must contain the following:
<Global method="GetTimeLimitedRequestKey" />
The reply will contain the following important entry:
<GetTimeLimitedRequestKey>
<GetTimeLimitedRequestKeyResult>
zLavfNlancWoyhACGlpaE5sWOy8kicLa</GetTimeLimitedRequest-
KeyResult>
</GetTimeLimitedRequestKey>
The value of the entry GetTimeLimitedRequestKey is then used for the next
request:
<Global method="RequestEDX"
key="zLavfNlancWoyhACGlpaE5sWOy8kicLa">
<i_TaskIDOrTaskName>MyTask</i_TaskIDOrTaskName>
<i_Password>MyPassword</i_Password>
<i_VariableName />
<i_VariableValueList />
</Global>
The status of the task is returned in xml format.
The attributes in the second request are:
TasIDOrTaskName - The name or ID of the task you want to start
i_Password - The password you set when you created the trigger. If no password
was set the attribute must still be included but can be left empty.
i_VariableName - The name of the variable you wish to change. The attribute may
be left empty.
238
i_VariableValueList - The values you want to assign the variable. The variables
are entered according to the same pattern as in QEMC. The attribute may be left
empty.
Is there anyone out there who managed to work with these webservices?
Best regards
Stefan WALTHER
Hi Stefan,
I did a clean install of QV 9 with the webserver to try it out. However, I get the same problems as you. The QV Server is running fine, but I cannot see any access any webservices. Have you had any success lately?
Thanks,
Magnus
Magnus Vesterberg wrote:
Hi Stefan,
I did a clean install of QV 9 with the webserver to try it out. However, I get the same problems as you. The QV Server is running fine, but I cannot see any access any webservices. Have you had any success lately?
Thanks,
Magnus<div></div>
No, unfortunately I did not succeed with the webservices ...
... waiting for SR1 ... I hope this will be fixed in SR1 ...
Best regards
Stefan
Hey guys, we were able to confirm that WSDL is no longer available in version 9, and here is a snippet from the Service Release 1 (SR1) release of version 9 QVS/Pub manual regarding the replacement functionality, which will give you a preview of what is coming.
Regards,
Brett
26.2 Triggering EDX Enabled Tasks
In order to start the tasks that have an external event as trigger, you must make two
POST type request calls to the QlikView Distribution Service that has been assigned
the task.
The body of the first request call must contain the following:
<Global method="GetTimeLimitedRequestKey" />
The reply will contain the following important entry:
<GetTimeLimitedRequestKey>
<GetTimeLimitedRequestKeyResult>
zLavfNlancWoyhACGlpaE5sWOy8kicLa</GetTimeLimitedRequest-
KeyResult>
</GetTimeLimitedRequestKey>
The value of the entry GetTimeLimitedRequestKey is then used for the next
request:
<Global method="RequestEDX"
key="zLavfNlancWoyhACGlpaE5sWOy8kicLa">
<i_TaskIDOrTaskName>MyTask</i_TaskIDOrTaskName>
<i_Password>MyPassword</i_Password>
<i_VariableName />
<i_VariableValueList />
</Global>
The status of the task is returned in xml format.
The attributes in the second request are:
TasIDOrTaskName - The name or ID of the task you want to start
i_Password - The password you set when you created the trigger. If no password
was set the attribute must still be included but can be left empty.
i_VariableName - The name of the variable you wish to change. The attribute may
be left empty.
238
i_VariableValueList - The values you want to assign the variable. The variables
are entered according to the same pattern as in QEMC. The attribute may be left
empty.
Thanks; yes I've already seen that in Beta of SR1 and I am now testing this ...
Best regards
Stefan WALTHER
Speaking of SR1 for 9.0. Does anyone know when it will be available for release?
Hi,
I did download the 9.0 SR1 QVS/Publisher ref manual, but it dident contain any section 26.2 and didnt mention EDX anywere in the doc?
/Hans
The QVS Reference manual is dated 06/08 in the http://www.qlik.com/download/ page, even though it is the SR1 release. The installer packages are dated between the 23 and 25 of September so my guess is that the documentation has not been updated.
Based on what's in section 26.2, I was able to make a quick little vbscript that I could run from my desktop to trigger a document reload. Here it is:
(Please pardon my VBScript. It's not my best language)
I put the following code in MyTestDoc.vbs. A normal person would, of course, want to enhance the error handling.
Dim url, doc, uid, pass
url = "http://myQVAppServer.MyDomain.edu:4720/qtxs.asmx"
doc = "MyTestDoc.qvw"
userID = "myuserid"
pass = "myPassword"
MsgBox ReloadEDX(url, doc, userID, pass)
Function ReloadEDX (dsURL, document, userID, password)
Dim requestKey, xmlhttp, requestData, httpResult
set xmlhttp = createobject("msxml2.xmlhttp.3.0")
xmlhttp.open "post", dsURL, false, userID, pass
requestData = "<Global method=""GetTimeLimitedRequestKey"" />" & vbCrLf
xmlhttp.send requestData
requestKey = xmlhttp.responseXML.selectSingleNode("//GetTimeLimitedRequestKeyResult").text
requestData = "<Global method=""RequestEDX"" key=""" & requestKey & """><i_TaskIDOrTaskName>" & document & "</i_TaskIDOrTaskName><i_Password /><i_VariableName /><i_VariableValueList /></Global>" & vbCrLf
xmlhttp.open "post", dsURL, false, userID, pass
xmlhttp.send requestData
httpResult = xmlhttp.responseXML.xml
If xmlhttp.responseXML.selectSingleNode("//TaskStartResult") Is Nothing Then
ReloadEDX = httpResult
Else
If xmlhttp.responseXML.selectSingleNode("//TaskStartResult").text = "Success" Then
ReloadEDX = "Reloading of " & document & " has been started"
Else
ReloadEDX = httpResult
End If
End If
End Function