CallWebService Script Examples: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 28: | Line 28: | ||
2015-09-14T13:59:49.7230130+03:00 Notification 85 <!doctype html><html itemscope="" itemtype="http:/ | 2015-09-14T13:59:49.7230130+03:00 Notification 85 <!doctype html><html itemscope="" itemtype="http:/ | ||
</nowiki> | </nowiki> | ||
</pre> | |||
== A ProcessAnalyzer script example to authenticate user, make a simple query into the server and logoff == | |||
<pre> | |||
------------------------------ | |||
--Example (Authenticate + QueryObjectProperties + LogOff): | |||
------------------------------ | |||
-- Authenticate | |||
(SELECT 'Method', 'POST') UNION ALL | |||
(SELECT 'Address', 'http://<server IP address>/qprpa/MainService.svc/webHttp/Authenticate') UNION ALL | |||
(SELECT 'Body', '{"logOnName":"GlobalAdmin","password":"demo", "parameters":{}}') UNION ALL | |||
(SELECT 'ContentType', 'application/json') UNION ALL | |||
(SELECT 'ExecuteInClientSide', '1') UNION ALL | |||
(SELECT 'Accept', '*/*') | |||
--#CallWebService | |||
PRINT 'Authentication result: ' + COALESCE(@_ResponseText, '<none>') + ' StatusCode: ' + CAST(@_ResponseStatusCode AS NVARCHAR(MAX)) + ' Success: ' + CAST(@_ResponseSuccess AS NVARCHAR(MAX)); | |||
DECLARE @sessionId NVARCHAR(MAX); | |||
DECLARE @pos INT; | |||
-- Extract session id | |||
SET @pos = PATINDEX('%""SessionId"",""Value"":""%',@_ResponseText); | |||
IF @pos > 0 | |||
BEGIN | |||
SET @sessionId = SUBSTRING(@_ResponseText, @pos + 21, LEN(@_ResponseText)) | |||
SET @pos = PATINDEX('%""%',@sessionId); | |||
IF @pos > 0 | |||
BEGIN | |||
SET @sessionId = SUBSTRING(@sessionId, 0, @pos) | |||
PRINT 'Session id: ' + @sessionId; | |||
END; | |||
END; | |||
SELECT @sessionId AS SES_ID INTO #SessionData; | |||
-- QueryObjectProperties | |||
(SELECT 'Method', 'POST') UNION ALL | |||
(SELECT 'Address', 'http://<server IP address>/qprpa/QueryObjectProperties') UNION ALL | |||
(SELECT 'Body', '{"sessionId": "' + @sessionId + '","uniqueObjectIds": ["PA.1.1"],"properties": [{ "Name": "name" }, { "Name": "typename" }],"parameters": []}') UNION ALL | |||
(SELECT 'ContentType', 'application/json') UNION ALL | |||
(SELECT 'ExecuteInClientSide', '1') UNION ALL | |||
(SELECT 'Accept', '*/*') | |||
--#CallWebService | |||
PRINT 'QueryObjectProperties result: ' + COALESCE(@_ResponseText, '<none>') + ' StatusCode: ' + CAST(@_ResponseStatusCode AS NVARCHAR(MAX)) + ' Success: ' + CAST(@_ResponseSuccess AS NVARCHAR(MAX)); | |||
DECLARE @sessionId NVARCHAR(MAX); | |||
SELECT @sessionId = SES_ID FROM #SessionData; | |||
-- LogOff | |||
(SELECT 'Method', 'POST') UNION ALL | |||
(SELECT 'Address', 'http://<server IP address>/qprpa/LogOff') UNION ALL | |||
(SELECT 'Body', '{"sessionId": "' + @sessionId + '"}') UNION ALL | |||
(SELECT 'ContentType', 'application/json') UNION ALL | |||
(SELECT 'ExecuteInClientSide', '1') UNION ALL | |||
(SELECT 'Accept', '*/*') | |||
--#CallWebService | |||
PRINT 'LogOff result: ' + COALESCE(@_ResponseText, '<none>') + ' StatusCode: ' + CAST(@_ResponseStatusCode AS NVARCHAR(MAX)) + ' Success: ' + CAST(@_ResponseSuccess AS NVARCHAR(MAX)); | |||
</pre> | </pre> | ||
[[Category:Examples]] | [[Category:Examples]] |
Revision as of 08:21, 21 May 2018
This page contains script examples for the CallWebService script command.
(SELECT 'Method', 'GET') UNION ALL (SELECT 'Address', 'http://google.com') UNION ALL (SELECT 'ContentType', 'application/json') UNION ALL (SELECT 'Accept', '*/*') --#CallWebService PRINT SUBSTRING(@_ResponseText, 1, 50);
When the script is run, entries similar to the following will be shown in the script log:
Execution duration: 0,753 seconds Execution Log: 2015-09-14T13:59:49.2838661+03:00 Notification 85 Script operation: "--#CallWebService" started 2015-09-14T13:59:49.3468813+03:00 Notification 85 Address: http://google.com Method: GET ContentType: application/json Encoding: Unicode (UTF-8) Body content length: 0 Timeout: 60000 ExecuteInClientSide: 0 Additional headers: Accept(3) 2015-09-14T13:59:49.6579900+03:00 Notification 85 Script operation: "--#CallWebService" completed: Result: OK, text length: 53019, status code: 200 2015-09-14T13:59:49.7230130+03:00 Notification 85 <!doctype html><html itemscope="" itemtype="http:/
A ProcessAnalyzer script example to authenticate user, make a simple query into the server and logoff
------------------------------ --Example (Authenticate + QueryObjectProperties + LogOff): ------------------------------ -- Authenticate (SELECT 'Method', 'POST') UNION ALL (SELECT 'Address', 'http://<server IP address>/qprpa/MainService.svc/webHttp/Authenticate') UNION ALL (SELECT 'Body', '{"logOnName":"GlobalAdmin","password":"demo", "parameters":{}}') UNION ALL (SELECT 'ContentType', 'application/json') UNION ALL (SELECT 'ExecuteInClientSide', '1') UNION ALL (SELECT 'Accept', '*/*') --#CallWebService PRINT 'Authentication result: ' + COALESCE(@_ResponseText, '<none>') + ' StatusCode: ' + CAST(@_ResponseStatusCode AS NVARCHAR(MAX)) + ' Success: ' + CAST(@_ResponseSuccess AS NVARCHAR(MAX)); DECLARE @sessionId NVARCHAR(MAX); DECLARE @pos INT; -- Extract session id SET @pos = PATINDEX('%""SessionId"",""Value"":""%',@_ResponseText); IF @pos > 0 BEGIN SET @sessionId = SUBSTRING(@_ResponseText, @pos + 21, LEN(@_ResponseText)) SET @pos = PATINDEX('%""%',@sessionId); IF @pos > 0 BEGIN SET @sessionId = SUBSTRING(@sessionId, 0, @pos) PRINT 'Session id: ' + @sessionId; END; END; SELECT @sessionId AS SES_ID INTO #SessionData; -- QueryObjectProperties (SELECT 'Method', 'POST') UNION ALL (SELECT 'Address', 'http://<server IP address>/qprpa/QueryObjectProperties') UNION ALL (SELECT 'Body', '{"sessionId": "' + @sessionId + '","uniqueObjectIds": ["PA.1.1"],"properties": [{ "Name": "name" }, { "Name": "typename" }],"parameters": []}') UNION ALL (SELECT 'ContentType', 'application/json') UNION ALL (SELECT 'ExecuteInClientSide', '1') UNION ALL (SELECT 'Accept', '*/*') --#CallWebService PRINT 'QueryObjectProperties result: ' + COALESCE(@_ResponseText, '<none>') + ' StatusCode: ' + CAST(@_ResponseStatusCode AS NVARCHAR(MAX)) + ' Success: ' + CAST(@_ResponseSuccess AS NVARCHAR(MAX)); DECLARE @sessionId NVARCHAR(MAX); SELECT @sessionId = SES_ID FROM #SessionData; -- LogOff (SELECT 'Method', 'POST') UNION ALL (SELECT 'Address', 'http://<server IP address>/qprpa/LogOff') UNION ALL (SELECT 'Body', '{"sessionId": "' + @sessionId + '"}') UNION ALL (SELECT 'ContentType', 'application/json') UNION ALL (SELECT 'ExecuteInClientSide', '1') UNION ALL (SELECT 'Accept', '*/*') --#CallWebService PRINT 'LogOff result: ' + COALESCE(@_ResponseText, '<none>') + ' StatusCode: ' + CAST(@_ResponseStatusCode AS NVARCHAR(MAX)) + ' Success: ' + CAST(@_ResponseSuccess AS NVARCHAR(MAX));