0% found this document useful (0 votes)
193 views86 pages

Viaduct Runtime Management - Management REST Web Services

This document describes the REST web services provided by the Viaduct runtime management component. It details the various operations available to view and manage processes, listeners, connectors and other runtime artifacts. The operations allow viewing statuses and configurations, as well as deploying, undeploying and modifying the runtime entities.

Uploaded by

Nishanthi V
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
193 views86 pages

Viaduct Runtime Management - Management REST Web Services

This document describes the REST web services provided by the Viaduct runtime management component. It details the various operations available to view and manage processes, listeners, connectors and other runtime artifacts. The operations allow viewing statuses and configurations, as well as deploying, undeploying and modifying the runtime entities.

Uploaded by

Nishanthi V
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 86

VIADUCT RUNTIME

MANAGEMENT
Management REST
Web Services

Dedalus Group © Copyright 2021


INDEX

Contents
INDEX.......................................................................................................................................................... 2
1 Introduction ................................................................................................................................6
1.1 REST Web Services .......................................................................................................... 6
2 Viaduct Management REST Web Services Overview .................................... 7
3 Using the Viaduct Management REST Web Services ...................................9
3.1 HTTP Methods ..................................................................................................................... 9
3.2 URL ............................................................................................................................................... 9
3.3 Data ............................................................................................................................................. 9
3.4 HTTP Response Codes ................................................................................................ 10
4 Security ......................................................................................................................................... 11
5 Base URL ..................................................................................................................................... 12
5.1 Protocol ...................................................................................................................................12
5.2 Server Name/IP Address ............................................................................................12
5.3 Port Number .......................................................................................................................12
5.4 Management Path .........................................................................................................12
5.5 Examples ................................................................................................................................12
6 Browser Compatibility .......................................................................................................14
7 Viaduct Management REST Web Service Operations ................................ 15
7.1 View Runtime Overview .............................................................................................15
7.1.1 Runtime Information ........................................................................................................... 15
7.1.2 Example Output...................................................................................................................... 18

7.2 View Process List ............................................................................................................. 19


7.2.1 Process Information ..............................................................................................................19
7.2.2 Example Output..................................................................................................................... 20

7.3 View Process Details.................................................................................................... 22


7.3.1 Runtime Information .......................................................................................................... 22
7.3.2 Example Output...................................................................................................................... 25

Confidential Document Pag. 2


Viaduct
7.4 View Process Diagram............................................................................................... 26
7.4.1 Process Diagram Information ......................................................................................26
7.4.2 Example Output......................................................................................................................27

7.5 View Listener Configuration Properties....................................................... 28


7.5.1 Listener Configuration Properties Information .............................................. 28
7.5.2 Example Output..................................................................................................................... 28

7.6 Test Connection of a Listener (File and FTP) .............................................31


7.6.1 Example Output....................................................................................................................... 31

7.7 View Connector Configuration Properties .................................................32


7.7.1 Connector Configuration Properties Information ......................................... 32
7.7.2 Example Output...................................................................................................................... 32

7.8 Test Connection of a Connector (File and FTP) ..................................... 34


7.8.1 Example Output..................................................................................................................... 34

7.9 Start Listener ......................................................................................................................35


7.10 Stop Listener...................................................................................................................... 36
7.11 Edit Listener Configuration Properties......................................................... 37
7.11.1 Listener Configuration Properties Information ...............................................37
7.11.2 Example Input ......................................................................................................................... 38

7.12 Edit Connector Configuration Properties ..................................................40


7.12.1 Connector Configuration Properties Information ........................................ 40
7.12.2 Example Input .......................................................................................................................... 41

7.13 Add Listener ....................................................................................................................... 42


7.13.1 Listener Configuration Properties Information .............................................. 42
7.13.2 Example Input ......................................................................................................................... 43

7.14 View Listener Status .................................................................................................... 45


7.14.1 Example Output for all listeners................................................................................. 45
7.14.2 Example Output for specific listener ...................................................................... 46

7.15 Deploy Process ................................................................................................................ 47


7.16 Undeploy Process .......................................................................................................... 49
7.17 Flush Process .................................................................................................................... 50
7.18 End Process ..........................................................................................................................51
7.19 Set Maximum instances for a Process ...........................................................52
7.20 View Lookup data ...........................................................................................................53

Confidential Document Pag. 3


Viaduct
7.20.1 Example Output...................................................................................................................... 53

7.21 Import Lookup data......................................................................................................55


7.21.1 Example Input .......................................................................................................................... 55

7.22 Update Lookup Data .................................................................................................. 57


7.22.1 Example Input ......................................................................................................................... 58

7.23 Delete Lookup data ..................................................................................................... 59


7.24 View Process cache ...................................................................................................... 60
7.24.1 Example Output..................................................................................................................... 60

7.25 Export Derby database ............................................................................................. 62


7.25.1 Example Output from Lookup database .............................................................62
7.25.2 Example Output from Sequence database .......................................................63

7.26 View Queue ........................................................................................................................ 64


7.26.1 Example output ...................................................................................................................... 64

7.27 Browse Queue.................................................................................................................. 65


7.27.1 Example output .......................................................................................................................65

7.28 Flush Queue....................................................................................................................... 67


7.29 Remove Queue................................................................................................................ 68
7.30 View Topic............................................................................................................................ 69
7.30.1 Example output ...................................................................................................................... 69

7.31 Remove ActiveMQ Topic.......................................................................................... 70


7.32 View Credentials .............................................................................................................. 71
7.32.1 Example output ........................................................................................................................71

7.33 Edit Credentials ............................................................................................................... 72


7.33.1 Example Input ..........................................................................................................................72

7.34 View LDAP users and groups ............................................................................... 73


7.34.1 Example output for all users ..........................................................................................73
7.34.2 Example output for a specific user .......................................................................... 74

7.35 Assign a Permission to LDAP user and group........................................ 75


7.36 Unassign a Permission from LDAP user and group .......................... 76
7.37 View Sequence data.................................................................................................... 77
7.37.1 Example output .......................................................................................................................77

7.38 Insert and Update Sequence data ................................................................... 78

Confidential Document Pag. 4


Viaduct
7.38.1 Example output ...................................................................................................................... 78

8 Appendix A: REST Web Service Tools .................................................................... 80


8.1 Configuration ..................................................................................................................... 81
8.2 URL ............................................................................................................................................. 81
8.3 Method .................................................................................................................................... 81
8.4 Body .......................................................................................................................................... 81
8.5 Auth .......................................................................................................................................... 82
8.6 SSL ............................................................................................................................................. 82
8.7 Executing a command.............................................................................................. 83
9 Revision History .................................................................................................................... 86

Confidential Document Pag. 5


Viaduct
1 Introduction
Viaduct provides several mechanisms to enable the management of Runtimes, for
example, Viaduct Studio, Web Manager and Command line utility. Viaduct also offers the
ability to perform basic management functions via REST web services. This document
details how to use these REST web services to manage a Viaduct runtime.

1.1 REST Web Services


REST Web Services are web services that use the HTTP protocol with one of the HTTP
methods (for example, GET, POST, PUT or DELETE) to return data from, or perform
operations with, a web server. This is in contrast with SOAP web services which have a
specific wrapper format around the data and which operate on a different basis.

REST web services, due to the fact they can use the standard HTTP GET method, can, in
many cases, be accessed from a browser. Several of the Viaduct runtime management
functions are accessible in this way, although some will require an HTTP client that
supports other methods. For a basic introduction to REST web services, see
http://www.xfront.com/REST-Web-Services.html.

Confidential Document Pag. 6


Viaduct
2 Viaduct Management REST Web Services Overview
The Viaduct Management REST Web Services offer the ability to perform the following
operations:

• View Runtime Overview

• View Process List

• View Process Details

• View Process Diagram

• View Listener Configuration Properties

• Test Connection of a Listener (File and FTP)

• View Connector Configuration Properties

• Test Connection of a Connector (File and FTP)

• Start Listener

• Stop Listener

• Edit Listener Configuration Properties

• Edit Connector Configuration Properties

• Add Listener

• View Listener Status

• Deploy Process

• Undeploy Process

• Flush Process

• End Process

• Set Maximum Instances for a Process

• View Lookup data

• Import Lookup data

Confidential Document Pag. 7


Viaduct
• Update Lookup data

• Delete Lookup data

• View Process Cache

• Export Derby Database

• View Queue

• Browse Queue

• Flush Queue

• Remove Queue

• View Topic

• Remove ActiveMQ Topic

• View Credentials

• Edit Credentials

• View LDAP users and groups

• Assign a permission to LDAP user and group

• Unassign a permission from LDAP user and group

• View Sequence data

• Insert and Update Sequence data

Confidential Document Pag. 8


Viaduct
3 Using the Viaduct Management REST Web Services
All the Viaduct Management REST Web Services use the same basic elements to create a
command for the runtime. These are:

 HTTP Method

 URL

 Data

3.1 HTTP Methods


The HTTP Method will be one of the following four options:

 GET

 POST

 PUT

 DELETE

These are standard HTTP methods as defined by W3C (see


http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html). The GET method can be executed
by a web browser using the URL alone. POST methods require a form to be submitted
which for a browser is usually an HTML page or similar. The PUT and DELETE methods are
not generally available from browsers.

3.2 URL
The URL is constructed to define the target runtime, the required operation and provide
any information that might be required for the specific operation.

3.3 Data
For some operations, the data is provided as part of the URL. For others it is sent as part of
the body of the request.

Each operation listed in this document will detail which HTTP method is required, whether
it can be executed from a browser with no additional work (e.g. generating a web page)
and whether data is required to be sent in the body of the request.

Confidential Document Pag. 9


Viaduct
3.4 HTTP Response Codes
For every request sent to the server, a response code is returned by the server. These
status codes are issued by the server in response to the client’s request made to the
server.

Below are the Response codes that are likely to be received for each of the Rest command
described in this document

Scenario HTTP Response code and description

Incorrect Rest command or Missing


400 Bad Request
input

Incorrect Input 404 Not Found

Invalid username or Password 401 Unauthorised

Invalid HTTP verb selected 405 Method Not Allowed

Confidential Document Pag. 10


Viaduct
4 Security
The Viaduct Management REST Web Services are secured using runtime authentication.
This means that when a user connects to the Web Services, they will be prompted to
authenticate using credentials for that runtime that have appropriate permissions. In
combination with the use of SSL to secure the communications between client and
Runtime, this means the Viaduct Management REST Web Services are a secure method of
managing a Runtime.

Users for this authentication are managed using Viaduct Studio and the Credentials option
on the runtime. See the Viaduct Studio online help for more information on this topic.

Confidential Document Pag. 11


Viaduct
5 Base URL
Each Viaduct Management REST Web Service operation shares the same base URL.
Therefore, this document will define the base URL in this section and the individual
operations will define only the specific extensions to this URL.

The base URL is comprised of 4 parts:

 Protocol

 Server Name/IP address

 Port Number

 Management path

5.1 Protocol
The Viaduct Management REST Web Services are secured via SSL using the default
Viaduct runtime certificate. Therefore, the protocol used is HTTPS.

5.2 Server Name/IP Address


The URL must contain a server name or IP address that is accessible from the client. This
could be a fully qualified domain name, a NetBIOS server name or IP address.

5.3 Port Number


By default, the Viaduct Management REST Web Services are accessible on port 8181.
However, if multiple runtimes co-exist on the same server, this number will need to change
for the 2nd and subsequent runtimes. The port number is mandatory when creating the
base URL.

This port can be defined in the runtime start up configuration file with the following
parameter:

-Dviaduct.management.rest.port=XXXX

where XXXX is the required port number. If this parameter is not present the default port
number of 8181 will apply.

5.4 Management Path


The path to the Viaduct Management REST web services is ‘’/management’

5.5 Examples
Examples of possible base URLs are given below:

Confidential Document Pag. 12


Viaduct
https://my.viaduct.server.com:8181/management
https://viaductserver:8181/management
https://192.168.1.21:8181/management

Confidential Document Pag. 13


Viaduct
6 Browser Compatibility
For operations that are browser compatible, these functions have been tested on the
following browsers:

• Internet Explorer

• Firefox

• Chrome

• Safari

• Opera

Other browsers may be compatible but have not been tested with the Viaduct
Management REST Web Services. DXC strives to ensure the Web Services are compatible
with a range of browsers but cannot guarantee compatibility with any specific browser
other than those listed above.

Note that all browsers will warn if the self-signed certificate from the Viaduct runtime is
used as they are unable to validate the certificate chain of authenticity.

* Safari must have the “Show Develop menu in menu bar” option in Preferences |
Advanced selected to view the output of the functions that return XML data. Otherwise, a
blank page will be displayed. In this instance the XML is visible through the context option
of “View Source”

Confidential Document Pag. 14


Viaduct
7 Viaduct Management REST Web Service Operations

7.1 View Runtime Overview


HTTP Action GET

URL /viewprocess

Data None required

Browser
Yes
accessible

XML or JSON Document as configured in the


“Accept” header
Returns
Accept=application/xml

Accept=application/json

LDAP
viewprocess
Permission

Example URL https://viaductserver:8181/management/viewprocess

curl -X GET
Example CURL
"https://localhost:8181/management/viewprocess" --
command
basic --user admin:Abc123$$$ -k

The View Runtime Overview operation allows the user to view the details of the
Runtime.

7.1.1 Runtime Information


Element Attribute Description

Runtimestatus host The Host name and IP


address of the Viaduct server

logport The port on which external


logging is enabled

Confidential Document Pag. 15


Viaduct
Element Attribute Description

name The name of the runtime as


defined in the startup
parameter

-Dcom.csc.emms.runtime.
name

vendor The name of the runtime


vendor (DXC)

version The version number of the


runtime

Processes Container for process


elements. Each process has a
process element that
contains information
regarding that process

Process deployed The date and time the


process was deployed

enabled Whether the process is


enabled (i.e. listener is not
disabled but may be started
or stopped)

maximuminstances The maximum number of


instances configured for the
process in Runtime

name The name of the process

version The deployed version of the


process

Confidential Document Pag. 16


Viaduct
Element Attribute Description

Cachedprocesses cachedprocess The name of processes that


are currently cached and
whether they are currently
active (i.e. processing) These
processes have been
activated at least once. This
information is a string in the
format. This information will
repeat for every active
instance.

“name=<ProcessName>;active
= true|false;instanceId=<ID of
the active
Instance;age=<Duration of
the active instance in
milliseconds>”

Cachedmodels Models The name of models that


have been loaded into the
model cache. This
information is a comma
separated list in the format:

“ProcessName\ModelName”

SupportedListeners Listeners Comma-delimited list of


supported listener types

MemoryUsage committedJVM The amount of memory in


bytes currently committed to
the Java Virtual Machine

freedisk The amount of free space in


bytes available on the disk
where the Viaduct runtime is
located

maxjvm The maximum amount of


memory in bytes that can be
allocated to the Java Virtual
Machine

usedjvm The amount of memory in


bytes currently in use by the
Java Virtual Machine

Confidential Document Pag. 17


Viaduct
7.1.2 Example Output
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
- <runtimestatus host="192.168.1.23" logport="21210" name=”runtime1”
vendor="Dedalus" version="5.16.0.175">
- <processes>
<process deployed="Mon May 16 17:28:51 IST 2022" deployedby=“admin”
enabled=“true” maximuminstances="5" name="TestProj" version="1.0" />
<process deployed="Mon May 16 17:29:41 IST 2022" deployedby=“admin”
enabled=“true” maximuminstances="1" name="WebService Listener
Exercise Solution" version="1.0" />
<process deployed="Mon May 16 17:31:22 IST 2022" deployedby=“admin”
enabled=“true” maximuminstances="1" name="WebService Listener REST
Example" version="1.0" />
</processes>
<cachedprocesses cachedprocess=
"name=TestProj:active=true:instanceId=1091270735:age=1233600, name=Tes
tProj:active=false:instanceId=296691300:age=0"
/>
<cachedmodels models="TestProj\Input.parserecore" />
<supportedlisteners listeners="CASSANDRA, FILE, LOGFILE, FTP, JMS,
SCHEDULER, WEBSERVICE, TCP, HL7, ASTM, HTTP, DATABASE, MONGO, EMAIL,
CLINICOM, KAFKA, QUEUE"/>
< memoryusage committedjvm="204472320" freedisk="322934356"
maxjvm="477626368" usedjvm="144244440"/>
</runtimestatus>

Confidential Document Pag. 18


Project Title
7.2 View Process List
HTTP Action GET

URL /viewprocess/details

Data None required

Browser
Yes
accessible

XML or JSON Document as configured in the “Accept”


header
Returns
Accept=application/xml

Accept=application/json

LDAP
viewprocess
Permission

Example URL https://viaductserver:8181/management/viewprocess/details

Example curl -X GET


CURL "https://localhost:8181/management/viewprocess/details" --
command basic --user admin:Abc123$$$ -k

The View Process Details operation allows the user to view the details of the
processes.

7.2.1 Process Information


Element Attribute Description

Processstatus Container for process


elements

Process Active Indicates whether


process is executing at
the time the query is
made. Returns True or
False

activeinstances The number of instances


currently instantiated for
the process

Confidential Document Pag. 19


Viaduct
Element Attribute Description

Process deploydate The date and time the


process was deployed

Process deployedby The user who deployed


the process

Process enabled Whether the process is


enabled (i.e. listener is
not disabled but may be
started or stopped)

Process maximuminstances The maximum number


of instances configured
for the process

Process Invoked Whether the process has


been active at any point
since the runtime
started. Returns True or
False.

Process name The name of the process

Process version The version of the


process

7.2.2 Example Output


<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
- <processstatus>
<process active="false" activeinstances=”0” deploydate="Mon May 16
17:28:51 IST 2022" deployedby=”admin” enabled="true"
maximuminstances="1" invoked="false" name="WebService Connector
Exercise Solution" version="1.0" />
<process active="false" activeinstances=”0” deploydate="Mon May 16
17:30:20 IST 2022" deployedby=“admin” enabled=“true”
maximuminstances="1" invoked="false" name="WebService Listener
Exercise Solution" version="1.0" />
<process active="false" activeinstances=”0” deploydate="Mon May 16
17:32:11 IST 2022" deployedby=“admin” enabled=“true”
maximuminstances="1" invoked="false" name="WebService Listener REST
Example" version="1.0" />
<process active="false" activeinstances=”0” deploydate="Mon May 16
17:33:51 IST 2022" deployedby=“admin” enabled=“true”
maximuminstances="1" invoked="false" name="PatientResultAggregator"
version="1.0" />
<process active="false" activeinstances=”0” deploydate="Mon May 16
17:38:32 IST 2022" deployedby=“admin” enabled=“true”

Confidential Document Pag. 20


Viaduct
maximuminstances="1" invoked="false" name="TestDBListener"
version="1.0" />
<process active="false" activeinstances=”0” deploydate="Mon May 16
17:39:55 IST 2022" deployedby=“admin” enabled=“true”
maximuminstances="1" invoked="false" name="PICISDummy" version="1.0"
/>
</processstatus>

Confidential Document Pag. 21


Viaduct
7.3 View Process Details
HTTP
GET
Action

URL /viewprocess/details/<ProcessName>

Data None required

Browser
Yes
accessible

XML or JSON Document as configured in the “Accept” header

Returns Accept=application/xml

Accept=application/json

LDAP
viewprocess
Permission

Example
https://viaductserver:8181/management/viewprocess/details/MyProcess
URL

Example curl -X GET


CURL "https://localhost:8181/management/viewprocess/details/MyProcess" --
command basic --user admin:Abc123$$$ -k

The View Process Details operation allows the user to view the details of the specified
process.

7.3.1 Runtime Information


Element Attribute Description

Processdetails Container for process


information

Process Active Indicates whether


process is executing at
the time the query is
made. Returns True or
False

Activeinstances The number of instances


currently instantiated for
the process

Confidential Document Pag. 22


Viaduct
Element Attribute Description

deploydate The date and time the


process was deployed

enabled Whether the process is


enabled (i.e. listener is
not disabled but may be
started or stopped)

maximuminstances The maximum number


of instances configured
for the process

Invoked Whether the process has


been active at any point
since the runtime
started. Returns True or
False.

name The name of the process

version The version of the


process

Listeners Container for listener


element

Listener Connected Indicates whether a


client is currently
connected to the
listener. Returns True or
False

Failed Indicates the number of


failed messages
processed by this listener

Lastmessage The epoch time value (in


milliseconds) when the
last message was
processed. The epoch
date is 1 Jan 1970 so this
value represents the
number of milliseconds
since that time at which
the last message was
processed.

Confidential Document Pag. 23


Viaduct
Element Attribute Description

Name The name of the listener

Running Indicates whether the


listener is currently
enabled and ready to
receive data

Success Indicates the number of


successful messages
processed by this listener

Throughput Indicates the number of


messages per second
currently being
processed by this
process

Type Indicates the type of


listener (e.g. TCP, File,
Web service)

Connectors Container for connector


element

Connector Lastmessage The epoch time value (in


milliseconds) when the
last message was
processed. The epoch
date is 1 Jan 1970 so this
value represents the
number of milliseconds
since that time at which
the last message was
processed.

Messages The number of messages


that have passed
through this connector

Name The name of the


connector

Processid The unique identifier of


the process within the
runtime

Confidential Document Pag. 24


Viaduct
Element Attribute Description

Type The type of connector


(e.g. File, TCP, Web
service)

7.3.2 Example Output


<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
- <processdetails>
<process active="true" activeinstances=”0” deploydate="Mon May 16
17:28:51 IST 2022" deployedby=“admin” enabled=“true”
maximuminstances="1" invoked="true" name="HashValues" version="1.0" />
- <listeners>
<listener connected="true" failed="0" lastmessage="1347383777372"
name="HashServiceListener" running="true" success="214"
throughput="28" type="TCP" />
</listeners>
- <connectors>
<connector lastmessage="1347383777367" messages="215" name="connector"
processid="241356298" type="UserService" />
</connectors>
</processdetails>

Confidential Document Pag. 25


Viaduct
7.4 View Process Diagram
HTTP
GET
Action

URL /viewprocess/diagram/<ProcessName>

Data None required

Browser
Yes
accessible

Returns PNG image

LDAP
Permissio viewprocess
n

Example https://viaductserver:8181/management/viewprocess/diagram/ProcessN
URL ame

Example curl -X GET


CURL "https://localhost:8181/management/viewprocess/diagram/ProcessNam
command e" --basic --user admin:Abc123$$$ -k -o diagram.png

The View Process Diagram operation allows the user to view the image of the Process
Diagram.

When using CURL command, the output diagram is saved as a png file in the path
and file name specified in the command.

7.4.1 Process Diagram Information


File Format

Process Diagram file Portable Network


Graphics (PNG)

Confidential Document Pag. 26


Viaduct
7.4.2 Example Output

Confidential Document Pag. 27


Viaduct
7.5 View Listener Configuration Properties
HTTP
GET
Action

URL /editlistener/<ListenerName>

Data None required

Browser
Yes
accessible

Returns Listener properties in plain text format

LDAP
editlistener
Permission

Example
https://viaductserver:8181/management/editlistener/MyListener
URL

Example curl -X GET


CURL "https://localhost:8181/management/editlistener/MyListener" --
command basic --user admin:Abc123$$$ -k

The View Listener Configuration Properties operation allows the user to view the
properties of the specified Listener.

7.5.1 Listener Configuration Properties Information


Property Name Property Value Comments

The name of the property The value of the property


for the listener for the listener

The properties for each listener type vary significantly. Therefore, this document will
not attempt to detail each specific listener property. For this information see other
documentation.

7.5.2 Example Output


listener.base.loglevel=DEBUG
listener.base.trace.beforerule=500
listener.base.logmaxbackups=100
listener.base.trace.beforerule.sdo=false
listener.base.trace.terminatingmessage=false
listener.base.systemalert.stop=false
listener.base.trace.beforeserialize.sdo=false

Confidential Document Pag. 28


Viaduct
listener.base.trace.beforemap.sdo=false
listener.base.trace.afterconnector.sdo=false
listener.base.trace.afterparse.sdo=false
listener.base.trace.afterconnector.raw=false
listener.base.trace.afterconnector=false
listener.base.systemalert.start=false
advancedtimer.cronexpression=0 0 8 1/1 * ? *
listener.base.systemalert.slowmsgprocessingtext=300
listener.base.trace.afterserialize=false
listener.base.systemalert.configchanged=false
name=SchedulerTest
listener.base.trace.initialmessage=false
listener.base.trace.beforemap=false
listener.base.trace.initialmessage.raw=false
listener.base.trace.beforeconnector.sdo=false
listener.base.trace.beforeconnector.raw=false
listener.base.trace.afterparse=false
listener.base.trace.beforeparse=false
listener.base.trace.beforeconnector=false
listener.base.trace.beforeparse.raw=false
listener.base.startmode=manual
listener.base.trace.beforeserialize=false
listener.base.systemalert.msgprocessfailed=false
listener.base.enabletrace=false
advancedtimer.type=2
listener.base.systemalert.enabled=false
listener.base.systemalert.notreceived=false
timer.intitialinterval=0
listener.base.trace.beforerule.trace=false
listener.base.enabledumpinitialmessage=false
listener.base.logrolloverinterval=daily
listener.base.trace.afterrule.sdo=false
listener.base.trace.beforeserialize.trace=false
advancedtimer.cronexpressiontext=At 8\:0\:0 every 1 day
listener.base.sendretryinterval=200
listener.base.systemalert.slowmsgprocessing=false
listener.base.trace.afterrule=false
timer.subsequentinterval=86400
listener.base.trace.afterconnector.trace=false
listener.base.trace.beforeparse.trace=false
listener.base.trace.aftermap=false
listener.base.sendretries=5
listener.base.processname=SchedulerTest
timer.type=3
listener.base.stoponexception=false
listener.base.trace.beforeconnector.trace=false
listener.base.listenerretryinterval=2000
timer.startdateandtime=8/28/2012 8\:0\:0
listener.base.systemalert.notreceivedtext=60
listener.base.trace.beforemap.trace=false
listener.base.transactiontimeout=300
advancedtimer.selection=true
listener.base.trace.afterserialize.raw=false
listener.base.trace.terminatingmessage.raw=false

Confidential Document Pag. 29


Viaduct
listener.base.trace.aftermap.sdo=false
listener.base.listenerretries=5
listener.base.enabletransactions=false

Confidential Document Pag. 30


Viaduct
7.6 Test Connection of a Listener (File and FTP)
HTTP
GET
Action

URL /editlistener/<ListenerName>/test

Data None required

Browser
Yes
accessible

Returns Null

LDAP
editlistener
Permission

Example
https://viaductserver:8181/management/editlistener/MyListener/test
URL

Example curl -X GET


CURL "https://localhost:8181/management/editlistener/MyListener/test" --
command basic --user admin:Abc123$$$ -k

The connection to the endpoint configured in the listener can be tested by adding
the parameter ‘test’ to the url. The output would return a success for an available
endpoint and would return a failure with appropriate error message for an
unavailable endpoint. This is applicable for File and FTP listeners only.

7.6.1 Example Output


Success message:

<testconnection>
<status>success</status>
</testconnection>

When the endpoint is invalid:

<testconnection>
<message>D:\Viaduct\ - is not a directory</message>
<status>failed</status>
</testconnection>

When the endpoint does not contain the files searched for:

<testconnection>
<message>No file(s) found</message>
<status>failed</status>
</testconnection>

Confidential Document Pag. 31


Viaduct
7.7 View Connector Configuration Properties
HTTP Action GET

URL /editconnector/<ProcessName>/<ConnectorName>

Data None required

Browser
Yes
accessible

Returns Connector properties in plain text format

LDAP
editconnector
Permission

https://viaductserver:8181/management/editconnector/MyProcess/
Example URL
MyConnector

Example curl -X GET


CURL "https://localhost:8181/management/editconnector/MyProcess/My
command Connector" --basic --user admin:Abc123$$$ -k

The View Connector Configuration Properties operation allows the user to view the
properties of the specified Connector.

7.7.1 Connector Configuration Properties Information


Property Name Property Value Comments

The name of the property The value of the property


for the connector for the connector

The properties for each connector type vary significantly. Therefore, this document
will not attempt to detail each specific connector property. For this information see
other documentation.

7.7.2 Example Output


connector.base.connector.type.mode=twoway
connector.base.systemalert.retryfailed=false
connector.userservice.classname=com.csc.viaduct.hash.HashService
connector.base.systemalert.enabled=false
connector.base.isiterable=false
connector.base.connectretryinterval=10000
connector.base.outputschema
connector.base.connectmode=session

Confidential Document Pag. 32


Viaduct
connector.base.enforceconstraints=false
connector.userservice.jarfile=D\:\\Viaduct
Software\\v2.3.2\\runtime\\com.csc.viaduct.hashservice_1.0.0.jar
connector.base.inputschema
connector.base.connectretries=5
connector.base.sendretryinterval=30000
connector.base.sendretries=1

Confidential Document Pag. 33


Viaduct
7.8 Test Connection of a Connector (File and FTP)
HTTP
GET
Action

URL /editconnector/<ProcessName>/<ConnectorName>/test

Data None

Browser
accessibl No
e

Returns Null

LDAP
Permissio editconnector
n

Example https://viaductserver:8181/management/editconnector/
URL MyProcess/MyConnector/test

Example
curl -X GET
CURL
"https://localhost:8181/management/editconnector/MyProcess/MyConne
comman
ctor/test" --basic --user admin:Abc123$$$ -k
d

The connection to the endpoint configured in the connector can be tested by adding
the parameter ‘test’ to the url. The output would return a success for an available
endpoint and would return a failure with appropriate error message for an
unavailable endpoint. This is applicable for File and FTP connectors only.

7.8.1 Example Output


Success message:

<testconnection>
<status>success</status>
</testconnection>

When the endpoint is invalid:

<testconnection>
<message>The system cannot find the directory specified
[D:\VIADUCT\Workspace\Queue_Process2\Output]</message>
<status>failed</status>
</testconnection>

Confidential Document Pag. 34


Viaduct
7.9 Start Listener
HTTP Action POST

URL /start/<ListenerName>

Data None required

Browser
No
accessible

Returns Null

LDAP
start
Permission

Example URL https://viaductserver:8181/management/start/MyListener

curl -H "Content-Type: application/json" -X POST


Example CURL
"https://localhost:8181/management/start/MyListener" -u
command
admin:Abc123$$$ -k -d '{json}'

The Start Listener operation allows the user to start the specified Listener. This
operation requires no input data and returns no data other than an HTTP/200 response
code.

Confidential Document Pag. 35


Viaduct
7.10 Stop Listener
HTTP Action POST

URL /stop/<ListenerName>

Data None required

Browser
No
accessible

Returns Null

LDAP
stop
Permission

Example URL https://viaductserver:8181/management/stop/MyListener

curl -H "Content-Type: application/json" -X POST


Example CURL
"https://localhost:8181/management/stop/MyListener" -u
command
admin:Abc123$$$ -k -d '{json}'

The Stop Listener operation allows the user to stop the specified Listener. This
operation requires no input data and returns no data other than a HTTP/200 response
code.

Confidential Document Pag. 36


Viaduct
7.11 Edit Listener Configuration Properties
HTTP
POST
Action

URL /editlistener/<ListenerName>

Data Listener configuration properties

Browser
No
accessible

Returns Null

LDAP
editlistener
Permission

Example
https://viaductserver:8181/management/editlistener/MyListener
URL

For changing the value of a single property:

curl -H "Content-Type: text/plain" -H "Content-Type:


application/json" -X POST
"https://localhost:8181/management/editlistener/MyListener" -u
admin:Abc123$$$ -k --data-raw
Example
"listener.base.sendretryinterval=200"
CURL
command
For replacing the entire content in the listener’s properties file:

curl -H "Content-Type: text/plain" -H "Content-Type:


application/json" -X POST
"https://localhost:8181/management/editlistener/MyListener" -u
admin:Abc123$$$ -k --data-binary @"C:\Files\FileListen.txt"

The Edit Listener Configuration Properties operation allows the user to change the
properties of the specified Listener.

7.11.1 Listener Configuration Properties Information


Property Name Property Value Comments

The name of the property The value of the property


for the listener for the listener

Confidential Document Pag. 37


Viaduct
The properties for each listener type vary significantly. Therefore, this document will
not attempt to detail each specific listener property. For this information see other
documentation.

It is suggested that the properties file is retrieved using the View Listener
Configuration Properties operation first, the returned properties edited as required,
and then the Edit Listener Configuration Properties operation executed.

The value of a single property or multiple properties of the listener can be edited by
passing the specific property and its value in the body of the request.

A specific property and its value when not found in the list of listener properties, it will
be added to the corresponding listener file.

7.11.2 Example Input


listener.base.loglevel=DEBUG
listener.base.trace.beforerule=500
listener.base.logmaxbackups=100
listener.base.trace.beforerule.sdo=false
listener.base.trace.terminatingmessage=false
listener.base.systemalert.stop=false
listener.base.trace.beforeserialize.sdo=false
listener.base.trace.beforemap.sdo=false
listener.base.trace.afterconnector.sdo=false
listener.base.trace.afterparse.sdo=false
listener.base.trace.afterconnector.raw=false
listener.base.trace.afterconnector=false
listener.base.systemalert.start=false
advancedtimer.cronexpression=0 0 8 1/1 * ? *
listener.base.systemalert.slowmsgprocessingtext=300
listener.base.trace.afterserialize=false
listener.base.systemalert.configchanged=false
name=SchedulerTest
listener.base.trace.initialmessage=false
listener.base.trace.beforemap=false
listener.base.trace.initialmessage.raw=false
listener.base.trace.beforeconnector.sdo=false
listener.base.trace.beforeconnector.raw=false
listener.base.trace.afterparse=false
listener.base.trace.beforeparse=false
listener.base.trace.beforeconnector=false
listener.base.trace.beforeparse.raw=false
listener.base.startmode=manual
listener.base.trace.beforeserialize=false
listener.base.systemalert.msgprocessfailed=false
listener.base.enabletrace=false
advancedtimer.type=2
listener.base.systemalert.enabled=false
listener.base.systemalert.notreceived=false
timer.intitialinterval=0
listener.base.trace.beforerule.trace=false
listener.base.enabledumpinitialmessage=false

Confidential Document Pag. 38


Viaduct
listener.base.logrolloverinterval=daily
listener.base.trace.afterrule.sdo=false
listener.base.trace.beforeserialize.trace=false
advancedtimer.cronexpressiontext=At 8\:0\:0 every 1 day
listener.base.sendretryinterval=200
listener.base.systemalert.slowmsgprocessing=false
listener.base.trace.afterrule=false
timer.subsequentinterval=86400
listener.base.trace.afterconnector.trace=false
listener.base.trace.beforeparse.trace=false
listener.base.trace.aftermap=false
listener.base.sendretries=5
listener.base.processname=SchedulerTest
timer.type=3
listener.base.stoponexception=false
listener.base.trace.beforeconnector.trace=false
listener.base.listenerretryinterval=2000
timer.startdateandtime=8/28/2012 8\:0\:0
listener.base.systemalert.notreceivedtext=60
listener.base.trace.beforemap.trace=false
listener.base.transactiontimeout=300
advancedtimer.selection=true
listener.base.trace.afterserialize.raw=false
listener.base.trace.terminatingmessage.raw=false
listener.base.trace.aftermap.sdo=false
listener.base.listenerretries=5
listener.base.enabletransactions=false

Confidential Document Pag. 39


Viaduct
7.12 Edit Connector Configuration Properties
HTTP
POST
Action

URL /editconnector/<ProcessName>/<ConnectorName>

Data Connector configuration properties

Browser
No
accessible

Returns Null

LDAP
Permissio editconnector
n

Example https://viaductserver:8181/management/editconnector/
URL MyProcess/MyConnector

For changing the value of a single property:

curl -H "Content-Type: text/plain" -H "Content-Type: application/json" -X


POST
"https://localhost:8181/management/editconnector/MyProcess/MyConn
Example ector" -u admin:Abc123$$$ -k --data-raw
CURL "connector.base.connectretryinterval=30000"
comman
d For replacing the entire content in the connector’s properties file:

curl -H "Content-Type: text/plain" -H "Content-Type: application/json" -X


POST
"https://localhost:8181/management/editconnector/MyProcess/MyConn
ector" -u admin:Abc123$$$ -k --data-binary @"C:\Files\FileConn.txt"

The Edit Connector Configuration Properties operation allows the user to change the
properties of the specified Connector.

7.12.1 Connector Configuration Properties Information


Property Name Property Value Comments

The name of the property The value of the property


for the connector for the connector

Confidential Document Pag. 40


Viaduct
The properties for each connector type vary significantly. Therefore this document will
not attempt to detail each specific connector property. For this information see other
documentation.

It is suggested that the properties file is retrieved using the View Connector
Configuration Properties operation first, the returned properties edited as required,
and then the Edit Connector Configuration Properties operation executed.

The value of a single property or multiple properties of the connector can be edited
by passing the specific property and its value in the body of the request.

A specific property and its value when not found in the list of connector properties, it
will be added to the corresponding connector file.

7.12.2 Example Input


connector.base.connector.type.mode=twoway
connector.base.systemalert.retryfailed=false
connector.userservice.classname=com.csc.viaduct.hash.HashService
connector.base.systemalert.enabled=false
connector.base.isiterable=false
connector.base.connectretryinterval=10000
connector.base.outputschema
connector.base.connectmode=session
connector.base.enforceconstraints=false
connector.userservice.jarfile=D\:\\Viaduct
Software\\v2.3.2\\runtime\\com.csc.viaduct.hashservice_1.0.0.jar
connector.base.inputschema
connector.base.connectretries=5
connector.base.sendretryinterval=30000
connector.base.sendretries=1

Confidential Document Pag. 41


Viaduct
7.13 Add Listener
HTTP Action PUT

URL /newlistener/<ProcessName>/<ListenerType>

Data Listener configuration properties

Browser
No
accessible

Returns Null

LDAP
newlistener
Permission

Example https://viaductserver:8181/management/newlistener/MyProcess
URL /scheduler

curl -H "Content-Type: text/plain" -H "Content-Type:


Example application/json" -X PUT
CURL "https://localhost:8181/management/newlistener/MyProcess/sch
command eduler" -u admin:Abc123$$$ -k --data-binary
@"C:\Files\scheduler.txt"

The Edit Listener Configuration Properties operation allows the user to change the
properties of the specified Listener.

7.13.1 Listener Configuration Properties Information


Property Name Property Value Comments

The name of the property The value of the property


for the listener for the listener

The properties for each listener type vary significantly. Therefore this document will
not attempt to detail each specific listener property. For this information see other
documentation.

Note that a COMPLETE properties file is required when creating a listener. The
listener name is defined in the properties file as the value of the name property. For
example:

name=SchedulerTest
listener.base.processname=MyProcess

Confidential Document Pag. 42


Viaduct
The listener type must match that which is defined in the configuration properties.

7.13.2 Example Input


listener.base.loglevel=DEBUG
listener.base.trace.beforerule=500
listener.base.logmaxbackups=100
listener.base.trace.beforerule.sdo=false
listener.base.trace.terminatingmessage=false
listener.base.systemalert.stop=false
listener.base.trace.beforeserialize.sdo=false
listener.base.trace.beforemap.sdo=false
listener.base.trace.afterconnector.sdo=false
listener.base.trace.afterparse.sdo=false
listener.base.trace.afterconnector.raw=false
listener.base.trace.afterconnector=false
listener.base.systemalert.start=false
advancedtimer.cronexpression=0 0 8 1/1 * ? *
listener.base.systemalert.slowmsgprocessingtext=300
listener.base.trace.afterserialize=false
listener.base.systemalert.configchanged=false
name=SchedulerTest
listener.base.trace.initialmessage=false
listener.base.trace.beforemap=false
listener.base.trace.initialmessage.raw=false
listener.base.trace.beforeconnector.sdo=false
listener.base.trace.beforeconnector.raw=false
listener.base.trace.afterparse=false
listener.base.trace.beforeparse=false
listener.base.trace.beforeconnector=false
listener.base.trace.beforeparse.raw=false
listener.base.startmode=manual
listener.base.trace.beforeserialize=false
listener.base.systemalert.msgprocessfailed=false
listener.base.enabletrace=false
advancedtimer.type=2
listener.base.systemalert.enabled=false
listener.base.systemalert.notreceived=false
timer.intitialinterval=0
listener.base.trace.beforerule.trace=false
listener.base.enabledumpinitialmessage=false
listener.base.logrolloverinterval=daily
listener.base.trace.afterrule.sdo=false
listener.base.trace.beforeserialize.trace=false
advancedtimer.cronexpressiontext=At 8\:0\:0 every 1 day
listener.base.sendretryinterval=200
listener.base.systemalert.slowmsgprocessing=false
listener.base.trace.afterrule=false
timer.subsequentinterval=86400
listener.base.trace.afterconnector.trace=false
listener.base.trace.beforeparse.trace=false
listener.base.trace.aftermap=false
listener.base.sendretries=5
listener.base.processname=SchedulerTest

Confidential Document Pag. 43


Viaduct
timer.type=3
listener.base.stoponexception=false
listener.base.trace.beforeconnector.trace=false
listener.base.listenerretryinterval=2000
timer.startdateandtime=8/28/2012 8\:0\:0
listener.base.systemalert.notreceivedtext=60
listener.base.trace.beforemap.trace=false
listener.base.transactiontimeout=300
advancedtimer.selection=true
listener.base.trace.afterserialize.raw=false
listener.base.trace.terminatingmessage.raw=false
listener.base.trace.aftermap.sdo=false
listener.base.listenerretries=5
listener.base.enabletransactions=false

Confidential Document Pag. 44


Viaduct
7.14 View Listener Status
HTTP Action GET

URL /listenerstatus

Data None required

Browser
Yes
accessible

XML or JSON Document as configured in the


“Accept” header
Returns
Accept=application/xml

Accept=application/json

LDAP
viewprocess
Permission

Example URL https://viaductserver:8181/management/listenerstatus

curl -X GET
Example CURL
"https://localhost:8181/management/listenerstatus" --
command
basic --user admin:Abc123$$$ -k

The Listener Status operation allows the user to view the current status of all the
listeners in the Runtime that are mapped to the deployed processes. The status will
be one of the following – Starting, Running, Stopping, Stopped.

By passing the listener name in the request, the status of a specific listener can be
retrieved.

Example:

https://viaductserver:8181/management/listenerstatus/<listenername>

7.14.1 Example Output for all listeners


<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<listenerstatus>
<listener name="TestProj_NewFileListener" status="Running"
type="FILE"/>
<listener name="TestProj_FileListener" status="Stopping"
type="FILE"/>
<listener name="File2HL7_FileListener" status="Stopped"
type="FILE"/>

Confidential Document Pag. 45


Viaduct
<listener name="HL7_Process1_File Listener" status="Stopped"
type="FILE"/>
<listener name="HL7_Process2_HL7Listener" status="Starting"
type="HL7"/>
</listenerstatus>

7.14.2 Example Output for specific listener


<listenerstatus>
<listener name="DICOMSchedulerListener" status="Stopped" type="SC
HEDULER"/>
</listenerstatus>

Confidential Document Pag. 46


Viaduct
7.15 Deploy Process
HTTP Action PUT

URL /deploy/<ProcessName>/<MaxInstance>/<flush>/<overwrite>

Data VPKG file as Base64 encoded string

Browser
No
accessible

Body
Content-Type=Application/octet-stream; Accept-charset=UTF-8
Encoding

Returns Null

LDAP
deploy
Permission

Example
https://viaductserver:8181/management/deploy/MyProcess/5/true/true
URL

curl -H "Content-Type: application/octet-stream" -H "Content-Type:


Example
application/json" -X PUT
CURL
"https://localhost:8181/management/deploy/MyProcess/5/true/true" -u
command
admin:Abc123$$$ -k --data-binary @"C:\Files\MyProcess.vpkg"

The Deploy Process operation allows the user to deploy the specified Process along
with setting a Maximum number of instances in which the process should be
deployed in Runtime.

The deployment package must be a VPKG file produced from the Deployment
Process in Viaduct Studio. This file must be Base64 encoded before transmission to
the REST management web service.

Viaduct contains functions to Base64 encode files such that a process to encode the
VPKG files can be created.

Alternatively, the VPKG file can be opened in an editor (Example – Notepad++) and
converted to Base64 Encoding. Select the contents of the file and click on the menu
<<Plugins -> MIME Tools – Base64 Encode>>.

Save the contents of the VPKG file after encoding and attach the file in the body of
the request.

Confidential Document Pag. 47


Viaduct
Additional options to Flush and overwrite the process at the time of deployment has
been included in the deploy command. The default values for flush and overwrite are
false. And these parameters are optional in the deploy command. Hence for fresh
deployment, when these parameters to flush and overwrite are not added in the Rest
URL, they are considered false.

Following are some of the deployment scenarios:

Deployment scenario Outcome


Fresh deployment of a process where Process will be deployed onto Runtime
overwrite is set to false
Re-deployment of the process with Process will be re-deployed onto the
overwrite set to true and an updated vpkg Runtime with the user updates
is attached
Re-deployment of the process with No changes will be done to the already
overwrite set to false and an updated deployed process in Runtime
vpkg is attached
Re-deployment of the process with No changes will be done to the already
overwrite set to true but there are no deployed process in Runtime
changes done to the attached vpkg

Confidential Document Pag. 48


Viaduct
7.16 Undeploy Process
HTTP Action DELETE

URL /undeploy/<ProcessName>

Data None required

Browser
No
accessible

Returns Null

LDAP
undeploy
Permission

Example
https://viaductserver:8181/management/undeploy/MyProcess
URL

Example curl -H "Content-Type: application/json" -X DELETE


CURL "https://localhost:8181/management/undeploy/MyProcess" -u
command admin:Abc123$$$ -k

The Undeploy Process operation allows the user to undeploy the specified Process.
This operation requires no input data and returns no data other than an HTTP/200
response code.

Confidential Document Pag. 49


Viaduct
7.17 Flush Process
HTTP
POST
Action

URL /flushprocess/<ProcessName>

Data None required

Browser
No
accessible

Returns Null

LDAP
flushprocess
Permission

Example
https://viaductserver:8181/management/flushprocess/MyProcess
URL

Example curl -H "Content-Type: application/json" -X POST


CURL "https://localhost:8181/management/flushprocess/MyProcess" -u
command admin:Abc123$$$ -k -d '{json}'

The Flush Process operation allows the user to flush the specified Process. This
operation requires no input data and returns no data other than an HTTP/200
response code

“Flushing” a process performs a number of tasks. It resets the counts for listeners and
connectors and clears the process from the Process Cache.

Confidential Document Pag. 50


Viaduct
7.18 End Process
HTTP
POST
Action

URL /endprocess/<ProcessName>

Data None required

Browser
No
accessible

Returns Null

LDAP
admin
Permission

Example
https://viaductserver:8181/management/endprocess/MyProcess
URL

Example curl -H "Content-Type: application/json" -X POST


CURL "https://localhost:8181/management/endprocess/MyProcess" -u
command admin:Abc123$$$ -k -d '{json}'

The End Process operation allows the user to stop the process execution and stop the
listener in one action. This action results in an error in the process as “Process aborted
by the user”. This operation requires no input data and returns no data other than an
HTTP/200 response code.

Confidential Document Pag. 51


Viaduct
7.19 Set Maximum instances for a Process
HTTP
PUT
Action

URL /setprocessinstances/<ProcessName>/<InstanceNumber>

Data None required

Browser
No
accessible

Returns Null

LDAP
Permissio viewprocess + flushprocess
n

Example https://viaductserver:8181/management/setprocessinstances/MyProcess
URL /5

Example curl -H "Content-Type: application/json" -X PUT


CURL "https://localhost:8181/management/setprocessinstances/MyProcess/5"
command -u admin:Abc123$$$ -k -d '{json}'

Setting Maximum instances for a Process operation allows the user to set the
maximum instance number for an already deployed process. This operation requires
no input data and returns no data other than an HTTP/200 response code.

Confidential Document Pag. 52


Viaduct
7.20 View Lookup data
HTTP Action GET

URL /viewlookup

Data None required

Browser
Yes
accessible

Lookup data as XML or JSON Document as


configured in the “Accept” header
Returns
Accept=application/xml

Accept=application/json

LDAP
lookupmanagement
Permission

Example URL https://viaductserver:8181/management/viewlookup

curl -X GET
Example CURL
"https://localhost:8181/management/viewlookup" --
command
basic --user admin:Abc123$$$ -k

The View Lookup data operation allows the user to view all the lookup data from the
Runtime. This command also allows the user to retrieve specific information when
used in the following formats

• Retrieve the value of a specific key that is associated with a specific config
code in the lookup database for the current Runtime

o https://viaductserver:8181/management/viewlookup/<Configcode>/<key>

• Retrieve the values of all keys associated with a specific config code in the
lookup database for the current Runtime

o https://viaductserver:8181/management/viewlookup/<Configcode>

7.20.1 Example Output


<lookupdata>
<lookupvalues lookupcode="TIE_IN_ADT_A52" lookupdescription="Internal"
>
<configkeys key="PID_A52" value="TIE_IN_MSG_SEG_TER_REF_PID"/>
<configkeys key="OBX_A52" value="TIE_IN_MSG_SEG_TER_REF_OBX"/>
<configkeys key="PD1_A52" value="TIE_IN_MSG_SEG_TER_REF_PD1"/>

Confidential Document Pag. 53


Viaduct
<configkeys key="PV1_A52" value="TIE_IN_MSG_SEG_TER_REF_PV1"/>
<configkeys key="PV2_A52" value="TIE_IN_MSG_SEG_TER_REF_PV2"/>
</lookupvalues>
<lookupvalues lookupcode="THEATRES_OUT_ADT_A05" lookupdescription="Int
ernal">
<configkeys key="PV1_A05" value="THEATRES_OUT_PV1"/>
<configkeys key="PV2_A05" value="THEATRES_OUT_PV2"/>
<configkeys key="ZWL_A05" value="THEATRES_OUT_ZWL"/>
<configkeys key="NK1_A05" value="THEATRES_OUT_NK1"/>
<configkeys key="PID_A05" value="THEATRES_OUT_PID"/>
</lookupvalues>
</lookupdata>

Confidential Document Pag. 54


Viaduct
7.21 Import Lookup data
HTTP Action POST

URL /importlookupdata

Data Text file with Import data

Browser
No
accessible

Body Encoding Application/text/plain; charset=UTF-8

Returns Null

LDAP
lookupmanagement
Permission

Example URL https://viaductserver:8181/management/importlookupdata

curl -H "Content-Type: text/plain" -H "Content-Type:


Example CURL application/json" -X POST
command "https://localhost:8181/management/importlookupdata" -u
admin:Abc123$$$ -k --data-binary @"C:\Files\global.txt"

This operation allows the user to import lookup data from the attached text file into
the Runtime. When using CURL command, the path to the text file containing the
data to be imported should be passed as a parameter.

It is recommended to use the lookup data text file exported from the source Runtime
to be used for importing so that the format is not changed.

7.21.1 Example Input


To insert a config code along with key values, the entry consists of 5 fields enclosed
within double quotes and separated by comma

1. Config code
2. Key
3. Value
4. Config description
5. Process name for External config codes

Below is an example to insert an internal config code along with its associated key
value pairs.

Confidential Document Pag. 55


Viaduct
"GLOBALS","MONGO_HOSTNAME","10.2.192.4",”Internal”,
"GLOBALS","MONGO_PORT","27011",”Internal”,

Below is an example to insert an external config code associated with a Process


name.

"OUT_RY1_ENTYP",,,"External","TerminologyEngine"

Below is an example to insert an internal config code without any key-values


associated with it.

"GLOBALS",,,”Internal”,

Import lookup data follows incremental update. Hence, when a key in the text file
already exist in the lookup database for the same associated config code, it will be
exempted from importing again. Updating a value for a key should be done using
the ‘Update Lookup Data’ operation.

Confidential Document Pag. 56


Viaduct
7.22 Update Lookup Data
HTTP
PUT
Action

URL /updatelookupdata

Data Lookup Data in the import format

Browser
No
accessible

Example
https://viaductserver:8181/management/updatelookupdata
URL

Returns Null

LDAP
Lookupmanagement
Permission

curl -H "Content-Type: application/x-www-form-urlencoded" -H


"Content-Type: application/json" -X PUT
Example
"https://localhost:8181/management/updatelookupdata" -u
CURL
admin:Abc123$$$ -k --data-urlencode
command
""OUT_RY1_ENTYP",,,"External","TerminologyEngine"
"

The Update Lookup Data operation allows the user to insert or update a config code
as well as Key and Value for an existing config code in Runtime Lookup database.

Input should be given in the body of the request in the format similar to the input
data for the importlookupdata command.

When a specified config code already exists, the description can be modified using
this Rest call. If its an external config code, the Process name can also be modified.

When the specified config code does not exist in the lookup database, it will be
inserted as new.

Similarly, when the key in the input already exist for the config code, the value will be
updated. When the key does not exist for the config code, the key-value pair will be
added to the config code.

When value is not provided, it will be inserted as blank for the key specified.

Note: In case of any of the content containing special characters, the input data
should be enclosed within double quotes.

Confidential Document Pag. 57


Viaduct
7.22.1 Example Input
To insert a config code along with key values, the entry consists of 5 fields enclosed
within double quotes and separated by comma

1. Config code
2. Key
3. Value
4. Config description
5. Process name for External config codes

Below is an example to insert an internal config code along with its associated key
value pairs.

"GLOBALS","MONGO_HOSTNAME","10.2.192.4",”Internal”,
"GLOBALS","MONGO_PORT","27011",”Internal”,

Below is an example to insert an external config code associated with a Process


name.

"OUT_RY1_ENTYP",,,"External","TerminologyEngine"

Below is an example to insert an internal config code without any key-values


associated with it.

"GLOBALS",,,”Internal”,

Confidential Document Pag. 58


Viaduct
7.23 Delete Lookup data
HTTP
DELETE
Action

URL /deletelookupdata/<ConfigCode>/<Key>

Data None required

Browser
No
accessible

https://viaductserver:8181/management/deletelookupdata/GENDER/Ma
Example le
URL
https://viaductserver:8181/management/deletelookupdata/GENDER

Returns Null

LDAP
Permissio Lookupmanagement
n

Example curl -H "Content-Type: application/json" -X DELETE


CURL "https://localhost:8181/management/deletelookupdata/GENDER/Male" -
command u admin:Abc123$$$ -k

The Delete lookup data operation allows the user to remove a config code as well as
key-value pair for a specific config code from Lookup Database of Runtime. This
operation requires no input data and returns no data other than a HTTP/200 response
code.

The below URL would delete an existing config code along with their respective Key-
Values from the lookup database.

https://viaductserver:8181/management/deletelookupdata/<ConfigCode>

The below URL would delete an existing Key-Value pair for the specified config code
from the lookup database.

https://viaductserver:8181/management/deletelookupdata/<ConfigCode>/<Key>

Note: The existing “deletelookup” Rest API command has been modified as
“deletelookupdata”.

Confidential Document Pag. 59


Viaduct
7.24 View Process cache
HTTP Action GET

URL /viewprocesscache

Data None required

Browser
Yes
accessible

Process cache as XML or JSON Document as configured


in the “Accept” header
Returns
Accept=application/xml

Accept=application/json

LDAP
lookupmanagement
Permission

Example URL https://viaductserver:8181/management/viewprocesscache

curl -X GET
Example CURL
"https://localhost:8181/management/viewprocesscache" --
command
basic --user admin:Abc123$$$ -k

The View Process Cache operation allows the user to view the process cache from the
Runtime.

7.24.1 Example Output


<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<processcache>
<cachecontents complete="false" creationTime="2022-07-15
02:20:54" deleteOnTimeout="true" key="IN_RY1_KBCRLATERALITY"
lastTouch="2022-07-15 02:20:54"
modelName="LOOKUPDATA_MODEL.parserecore#lookupValues" timeout="-1"/>
<cachecontents complete="false" creationTime="2022-07-15
02:20:54" deleteOnTimeout="true" key="$$TIE_IN_PV1_15$$"
lastTouch="2022-07-15 02:21:09"
modelName="LOOKUPDATA_MODEL.parserecore#lookupValues" timeout="-1"/>
<cachecontents complete="false" creationTime="2022-07-15
02:20:54" deleteOnTimeout="true" key="DEPTLOOKUP_MAT_IN"
lastTouch="2022-07-15 02:21:09"
modelName="LOOKUPDATA_MODEL.parserecore#lookupValues" timeout="-1"/>
<cachecontents complete="false" creationTime="2022-07-15
02:20:54" deleteOnTimeout="true" key="IN_RY1_ECPATGRP"

Confidential Document Pag. 60


Viaduct
lastTouch="2022-07-15 02:20:54"
modelName="LOOKUPDATA_MODEL.parserecore#lookupValues" timeout="-1"/>
</processcache>

Confidential Document Pag. 61


Viaduct
7.25 Export Derby database
HTTP Action GET

URL /exportfromdb

Data None required

Browser
Yes
accessible

Data from the derby database as XML or JSON


Document as configured in the “Accept” header
Returns
Accept=application/xml

Accept=application/json

LDAP
lookupmanagement
Permission

Example URL https://viaductserver:8181/management/exportfromdb

curl -X GET
Example CURL
"https://localhost:8181/management/exportfromdb" --
command
basic --user admin:Abc123$$$ -k

The export from DB operation allows the user to export data from the specified derby
database in Runtime.

The data from the two derby databases (LookupDataDB and SequenceDB) used in
Runtime can be exported using this Rest call.

The output of the lookupdb export should be in the format that will be compatible to
import into Runtime.

7.25.1 Example Output from Lookup database


"GLOBALS",,,"",
"OUT_RY1_ENTYP",,,"External","TerminologyEngine"
"OUT_RY1_TITLE",,,"External","TerminologyEngine"
"OUT_RY1_ADMSRC",,,"External","TerminologyEngine"
"OUT_RY1_ADMTYP",,,"External","TerminologyEngine"
"OUT_RY1_ALIASTYPE",,,"External","TerminologyEngine"
"OUT_RY1_ANCSY",,,"External","TerminologyEngine"
"OUT_RY1_APCLOSEREASON",,,"External","TerminologyEngine"

Confidential Document Pag. 62


Viaduct
"IN_RY1_ENTYP",,,"External","TerminologyEngine"
"IN_RY1_TITLE",,,"External","TerminologyEngine"
"IN_RY1_ADMSRC",,,"External","TerminologyEngine"
"IN_RY1_ADMTYP",,,"External","TerminologyEngine"
"Security_Config_Data","MachineID","NHSAPPCHNE8061","Internal",
"Security_Config_Data","ServiceID","CSCIDP\zSUP-
SVCLorenz339","Internal",
"IPM_IN_MSG_SEG_TER_REF_MRG","/MRG/Prior_Patient_Identifier_List.$LOOP
INDEX/Identifier_Type_Code","IDMIDTYPE","Internal",
"MATERNITY_OUT_MSG_SEG_TER_REF_PV1_A03","/PV1/Admit_Source","$$MATERNI
TY_OUT_PV1_14$$","Internal",
"MATERNITY_OUT_MSG_SEG_TER_REF_PV1_A03","/PV1/Patient_Type","PATCAT","
Internal",
"MATERNITY_OUT_MSG_SEG_TER_REF_PV1_A03","/PV1/Patient_Class","ENTYP","
Internal",
"MATERNITY_OUT_MSG_SEG_TER_REF_PV1_A03","/PV1/Discharge_Disposition","
$$MATERNITY_OUT_PV1_36$$","Internal",
"DEPTLOOKUP_MAT_OUT","/QUERY/PATIENT_DETAIL.$LOOPINDEX/PID/Ethnic_Grou
p.$LOOPINDEX/Identifier","$$MAT_V1_Out_EthnicGroup$$","Internal",

7.25.2 Example Output from Sequence database


1,"OUT","Trust1|FBT|FBT_PAS|MRP|",2
2,"OUT","Trust1|FBT|FBT_PAS|MRP|ADT",1

Confidential Document Pag. 63


Viaduct
7.26 View Queue
HTTP Action GET

URL /viewqueue

Data None required

Browser
Yes
accessible

Example URL https://viaductserver:8181/management/viewqueue

XML or JSON Document as configured in the


“Accept” header
Returns
Accept=application/xml

Accept=application/json

LDAP
Viewqueue
Permission

curl -X GET
Example CURL
"https://localhost:8181/management/viewqueue" --
command
basic --user admin:Abc123$$$ -k

The View Queue operation allows the user to view all the Queue names with the
count of each queue in the Runtime.

7.26.1 Example output


<queues>
<queuedetails count="10" name="Queue_Process1"/>
<queuedetails count="100" name="Queue1"/>
</queues>

Confidential Document Pag. 64


Viaduct
7.27 Browse Queue
HTTP
GET
Action

URL /viewqueue/<queue name>/browse

Data None required

Browser
Yes
accessible

Example
https://viaductserver:8181/management/viewqueue/ADTQueue/browse
URL

XML or JSON Document as configured in the “Accept” header

Returns Accept=application/xml

Accept=application/json

LDAP
Viewqueue
Permission

Example curl -X GET


CURL "https://localhost:8181/management/viewqueue/ADTQueue/browse" --
command basic --user admin:Abc123$$$ -k

The Browse Queue operation allows the user to view the contents of a specific Queue
in the Runtime.

The maximum number of messages returned by the Rest call is governed by the
ActiveMQ configuration in the runtime\metadata\activemq.xml

<policyEntry queue=”>” maxBrowsePageSize=”400”> </policyEntry>

7.27.1 Example output


<queuecontent>
<queue FullMessage="MSH|^~\&|FBT|FBT_PAS|MRP||200909151400||ADT^
A04|374496|P|2.5|6| EVN|A04|20090915||||
PID|1||002834461~PM498551||ANDERSON^MARTIN^J^^^||19860314|M|^^^^
^||59 WEST MAIN ST^^SUMMER HARBOR^ME^03902^^H~95 EAST MAIN
ST^^SPRING HARBOR^ME^03911^^B||921 335 6580~920 265 9147|0121
043387||M||88352231|20034298 NK1|1|ANDERSON^THOMAS^G|FATHER|18
GLOUCESTER ROAD^^WINDY HARBOR^ME^03487|672 897 1499~01982
387672||||||||||M|19540723 NK1|2|ANDERSON^MIRIAM|GRANDMOTHER|104
CUMBERLAND ROAD^^NEWRY^ME^03867|683 445 1094~01982
363381||||||||||M|19321129 PV1|1|E|EBA-

Confidential Document Pag. 65


Viaduct
X^^|1||||||||||ER||||ER||S|||||||||||||||||||BUP||STD|||20090915
093000 GT1|1||BARKER^GEORGE^N||15 BERWICK DRIVE^^SQUIRREL
ISLAND^ME^03452|329 987 2837|||||T|933445736||||WHITE|4
THOMASTON ROAD^^SPRUCE HEAD^ME^03092|957 844 5684
IN1|1|P7|003928|PRUDENT INSURANCE|PO BOX
436^^STACYVILLE^ME^03867|||34098||||||||ANDERSON^MARTIN^J|K|||||
||||||||||||||TW00923234538" MessageId="ID:DXCINDAI690633-61894-
1618917317334-
4:1:1:1:1" Persistance="PERSISTENT" Timestamp="2021-04-20
16:47:48.421"/>
<queue FullMessage="MSH|^~\&|FBT|FBT_PAS|MRP||200909151400||ADT^
A04|374496|P|2.5|6| EVN|A04|20090915||||
PID|1||002834461~PM498551||ANDERSON^MARTIN^J^^^||19860314|M|^^^^
^||59 WEST MAIN ST^^SUMMER HARBOR^ME^03902^^H~95 EAST MAIN
ST^^SPRING HARBOR^ME^03911^^B||921 335 6580~920 265 9147|0121
043387||M||88352231|20034298 NK1|1|ANDERSON^THOMAS^G|FATHER|18
GLOUCESTER ROAD^^WINDY HARBOR^ME^03487|672 897 1499~01982
387672||||||||||M|19540723 NK1|2|ANDERSON^MIRIAM|GRANDMOTHER|104
CUMBERLAND ROAD^^NEWRY^ME^03867|683 445 1094~01982
363381||||||||||M|19321129 PV1|1|E|EBA-
X^^|1||||||||||ER||||ER||S|||||||||||||||||||BUP||STD|||20090915
093000 GT1|1||BARKER^GEORGE^N||15 BERWICK DRIVE^^SQUIRREL
ISLAND^ME^03452|329 987 2837|||||T|933445736||||WHITE|4
THOMASTON ROAD^^SPRUCE HEAD^ME^03092|957 844 5684
IN1|1|P7|003928|PRUDENT INSURANCE|PO BOX
436^^STACYVILLE^ME^03867|||34098||||||||ANDERSON^MARTIN^J|K|||||
||||||||||||||TW00923234538" MessageId="ID:DXCINDAI690633-61894-
1618917317334-
4:1:1:1:2" Persistance="PERSISTENT" Timestamp="2021-04-20
16:48:38.475"/>
</queuecontent>

Confidential Document Pag. 66


Viaduct
7.28 Flush Queue
HTTP
POST
Action

URL /flushqueue/<QueueName>

Data None required

Browser
No
accessible

Example
https://viaductserver:8181/management/flushqueue/MyQueue
URL

Returns Null

LDAP
Viewqueue
Permission

Example curl -H "Content-Type: application/json" -X POST


CURL "https://localhost:8181/management/flushqueue/MyQueue" -u
command admin:Abc123$$$ -k -d '{json}'

The Flush Queue operation allows the user to flush the specified Queue. This
operation returns no data other than a HTTP/200 response code

“Flushing” a Queue clears the contents of the Queue permanently.

Confidential Document Pag. 67


Viaduct
7.29 Remove Queue
HTTP
DELETE
Action

URL /removequeue/<QueueName>

Data None required

Browser
No
accessible

Example
https://viaductserver:8181/management/removequeue/MyQueue
URL

Returns Null

LDAP
Viewqueue
Permission

Example curl -H "Content-Type: application/json" -X DELETE


CURL "https://localhost:8181/management/removequeue/MyQueue" -u
command admin:Abc123$$$ -k

The Remove Queue operation allows the user to remove the specified Queue from
Runtime. This operation returns no data other than a HTTP/200 response code

“Removing” a Queue removes the queue along with the contents of the Queue
permanently.

Confidential Document Pag. 68


Viaduct
7.30 View Topic
HTTP Action GET

URL /viewtopic

Data None required

Browser
Yes
accessible

Example URL https://viaductserver:8181/management/viewtopic

XML or JSON Document as configured in the


“Accept” header
Returns
Accept=application/xml

Accept=application/json

curl -X GET
Example CURL
"https://localhost:8181/management/viewtopic" --
command
basic --user admin:Abc123$$$ -k

The View Topic operation allows the user to view all the Topic names with the count
of each topic in the Runtime.

7.30.1 Example output


<topics>
<topicdetails count="10" name="Virtualtopic.QueueData"/>
</topics>

Confidential Document Pag. 69


Viaduct
7.31 Remove ActiveMQ Topic
HTTP
DELETE
Action

URL /removetopic/<TopicName>

Data None required

Browser
No
accessible

Example
https://viaductserver:8181/management/removetopic/MyTopic
URL

Returns Null

LDAP
Viewtopic
Permission

Example curl -H "Content-Type: application/json" -X DELETE


CURL "https://localhost:8181/management/removetopic/MyTopic" -u
command admin:Abc123$$$ -k

The Remove Topic operation allows the user to remove the specified ActiveMQ topic
from Runtime. This operation returns no data other than a HTTP/200 response code

“Removing” a Topic deletes the topic and the contents of the Topic permanently.

Confidential Document Pag. 70


Viaduct
7.32 View Credentials
HTTP Action GET

URL /viewcredentials

Data None required

Browser
Yes
accessible

Example URL https://viaductserver:8181/management/viewcredentials

XML or JSON Document as configured in the “Accept”


header
Returns
Accept=application/xml

Accept=application/json

LDAP
admin
Permission

curl -X GET
Example CURL
"https://localhost:8181/management/viewcredentials" --
command
basic --user admin:Abc123$$$ -k

The View Credentials operation allows the user to view all the Clients configured in
the Runtime along with the Process name, user login and user name associated with
the Client.

This command allows the user to retrieve the following:

• Retrieve the value of a specific client and its details from the current Runtime

o https://viaductserver:8181/management/viewcredentials/<username>

7.32.1 Example output


<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<ClientDetails>
<client processname="" userlogin="viaduct.keystore" username="Viad
uct Keystore"/>
<client processname="" userlogin="viaductcert" username="viaductce
rt"/>
<client processname="testprocess,KeyStore" userlogin="user" userna
me="user"/>
</ClientDetails>

Confidential Document Pag. 71


Viaduct
7.33 Edit Credentials
HTTP Action PUT

URL /editcredentials

Data csv file with clients data

Browser
No
accessible

Returns Null

LDAP
admin
Permission

Example URL https://viaductserver:8181/management/editcredentials

curl -H "Content-Type: text/plain" -H "Content-Type:


Example CURL application/json" -X POST
command "https://localhost:8181/management/editcredentials" -u
admin:Abc123$$$ -k --data-binary @"C:\Files\clients.csv"

The edit Credentials operation allows the user to add new Clients in the Runtime with
the respective details.

When using CURL command, the path to the text file containing the data to be
updated should be passed as a parameter.

7.33.1 Example Input


To insert a client along with its details, the entry consists of 5 fields separated by
comma. Multiple clients should be added in a csv file to provide as input to the
request

1. User name
2. Password
3. Role
4. Process name
5. User login

Each client in the csv file should be in the below format


username,password,Role,Process,userlogin

Confidential Document Pag. 72


Viaduct
7.34 View LDAP users and groups
HTTP Action GET

URL /ldapuser

Data None required

Browser
Yes
accessible

Example URL https://viaductserver:8181/management/ldapuser

XML or JSON Document as configured in the


“Accept” header
Returns
Accept=application/xml

Accept=application/json

LDAP
admin
Permission

curl -X GET
Example CURL
"https://localhost:8181/management/ldapuser" --
command
basic --user admin:Abc123$$$ -k

The LDAP user operation allows to view all the users and groups configured in the
Runtime’s LDAP server along with the permissions assigned.

This command allows the user to retrieve the following:

• Retrieve the value of a specific user or group and the corresponding


permissions from the current Runtime

o https://viaductserver:8181/management/ldapuser/<DN of the user or group>

Example:
https://localhost:8181/management/ldapuser/cn=System%20Administrator,
ou=users,ou=system

7.34.1 Example output for all users


<ldapuser>
<users>
<name>cn=John,ou=users,ou=system</name>
</users>
<users>
<name>cn=System Administrator,ou=users,ou=system</name>

Confidential Document Pag. 73


Viaduct
</users>
</ldapuser>

7.34.2 Example output for a specific user


<ldapuser>
<users>
<name>cn=System Administrator,ou=users,ou=system</name>
<permission>admin, cleartrace, deploy, opentrace, resendmessages,
savechangedmessages, undeploy, viewmessages, viewqueue, viewtopic,
alertmanagement, deletelistener, editconnector, editlistener,
flushprocess, newlistener, remotemanagement, start, stop, viewprocess,
lookupmanagement</permission>
</users>
</ldapuser>

Confidential Document Pag. 74


Viaduct
7.35 Assign a Permission to LDAP user and group
HTTP Action PUT

/ldapuser/<DN of the user or


URL
group>/<Permission>

Data None required

Browser
No
accessible

https://viaductserver:8181/management/ldapuser/
Example URL
cn=John,ou=users,ou=system/start

Returns Null

LDAP
admin
Permission

curl -H "Content-Type: application/x-www-form-


urlencoded" -H "Content-Type: application/json" -
Example CURL X PUT
command "https://localhost:8181/management/ldapuser/
cn=John,ou=users,ou=system/start " -u
admin:Abc123$$$ -k

The LDAP user operation with PUT method allows to assign a specific permission to
the user or group. The full DN of the user or group along with the permission name
should be passed in the URL.

It is recommended that the DN of the user or group and the exact permission name
can be obtained from the output of the ldapuser GET command.

Confidential Document Pag. 75


Viaduct
7.36 Unassign a Permission from LDAP user and group
HTTP Action DELETE

/ldapuser/<DN of the user or


URL
group>/<Permission>

Data None required

Browser
No
accessible

https://viaductserver:8181/management/ldapuser/
Example URL
cn=John,ou=users,ou=system/start

Returns Null

LDAP
admin
Permission

curl -H "Content-Type: application/x-www-form-


urlencoded" -H "Content-Type: application/json" -
Example CURL X DELETE
command "https://localhost:8181/management/ldapuser/
cn=John,ou=users,ou=system/start " -u
admin:Abc123$$$ -k

The LDAP user operation with DELETE method allows to unassign a specific
permission from the user or group. The full DN of the user or group along with the
permission name should be passed in the URL.

It is recommended that the DN of the user or group and the exact permission name
can be obtained from the output of the ldapuser GET command.

Confidential Document Pag. 76


Viaduct
7.37 View Sequence data
HTTP Action GET

URL /viewsequencedata

Data None required

Browser
Yes
accessible

Example URL https://viaductserver:8181/management/viewsequencedata

XML or JSON Document as configured in the “Accept”


header
Returns
Accept=application/xml

Accept=application/json

LDAP
viewprocess
Permission

curl -X GET
Example CURL
"https://localhost:8181/management/viewsequencedata" --
command
basic --user admin:Abc123$$$ -k

The View sequence data operation allows the user to retrieve the sequence data from
the Runtime

7.37.1 Example output


<sequenceData>
<sequencedata lastsequencenumber="59779" messagedirection="OUT" sequencekey=
"FBT|FBT_PAS|MRP|ADT"/>
<sequencedata lastsequencenumber="125" messagedirection="OUT" sequencekey="F
BT|FBTPAS|MRP|MRPSAP"/>
<sequencedata lastsequencenumber="589" messagedirection="OUT" sequencekey="F
BT|FBT_PAS|MRP|"/>
</sequenceData>

Confidential Document Pag. 77


Viaduct
7.38 Insert and Update Sequence data
HTTP Action PUT

URL /sequenceupdate

Message Direction. Sequence Key and Last Sequence


Data
number

Browser
No
accessible

Example URL https://viaductserver:8181/management/sequenceupdate

Returns Null

LDAP
viewprocess
Permission

Example CURL curl -H "Content-Type: application/json" -X PUT


command "https://localhost:8181/management/sequenceupdate" -u
admin:Abc123$$$ -k --data “IN,PAP|ADT|NYP|LAB,23”

The Sequence update operation allows the user to update the last sequence number
for an existing combination of Message direction and Sequence key in Runtime.
When the combination does not exist in the Sequence database in Runtime, the
entry will be inserted into the database.

The input data should be in the below format separated by commas.

• Message Direction, Sequence Key, Last Sequence Number.

• Message Direction can be IN or OUT

• Sequence Key is the combination of MSH fields that are pipe separated

• Last Sequence number is the number that is required to be updated for the
Sequence key inorder to re-order the sequence of messages in Runtime.

Example - IN,PAP|ADT|NYP|LAB,23

7.38.1 Example output


<sequenceData>
<sequencedata lastsequencenumber="59779" messagedirection="OUT" sequencekey=
"FBT|FBT_PAS|MRP|ADT"/>
<sequencedata lastsequencenumber="125" messagedirection="OUT" sequencekey="F
BT|FBTPAS|MRP|MRPSAP"/>

Confidential Document Pag. 78


Viaduct
<sequencedata lastsequencenumber="589" messagedirection="OUT" sequencekey="F
BT|FBT_PAS|MRP|"/>
<sequencedata lastsequencenumber="23" messagedirection="IN" sequencekey="PAP
|ADT|NYP|LAB"/>
</sequenceData>

Confidential Document Pag. 79


Viaduct
8 Appendix A: REST Web Service Tools
To execute the Viaduct Management REST Web Services, it is useful to have available a
REST client. There are a number of clients available, both free and paid. For this
document, examples were tested using “REST Client” which is available from http://rest-
client.googlecode.com/. REST Client is a Java based program that does not require
installation or any software over and above the standard JRE.

Confidential Document Pag. 80


Viaduct
8.1 Configuration
In order to use a Viaduct runtime with REST Client, configure REST Client in the
following manner. Note, only elements that require configuration are detailed here.

8.2 URL
Enter the URL in the URL field.

8.3 Method
Select the method appropriate for the operation being performed (see the table for
each operation).

8.4 Body
Where the method is POST or PUT and input data is required, paste the appropriate
information in this field. Leave the encoding as text/xml and the charset as UTF-8
unless specified otherwise.

Confidential Document Pag. 81


Viaduct
8.5 Auth
Select BASIC as the Auth Type. Select the Preemptive checkbox. Enter the username
and password in the relevant boxes. For testing purposes it is simplest to use an admin
user.

8.6 SSL
On the Etc. tab, select the Trust self-signed certificate and set the Hostname Verifier to
“Allow All” if using the default built in Viaduct certificate. If using a valid certificate with
an appropriate chain of authenticity, these settings should not require changing.

Confidential Document Pag. 82


Viaduct
8.7 Executing a command
Select the appropriate operation and enter the appropriate URL. Click the double
green arrows to the right of the URL field. The response will appear in the box at the
bottom of the application. The Status field with provide the HTTP response code. The
Headers will provide basic header information. If the operation returns data, this will be
visible on the Body tab.

Confidential Document Pag. 83


Viaduct
Confidential Document Pag. 84
Viaduct
Confidential Document Pag. 85
Viaduct
9 Revision History

Date Version Description Author


11/09/2012 0.1 First Draft for Review Peter Murphy
01/10/2012 1.0 First version for release Peter Murphy
05/11/2013 1.1 Added Deploy Process function Peter Murphy
01/12/2015 1.2 Corrected several example URLs based on Peter Murphy
user feedback
24/06/2016 1.3 Updated for v5.6: added endprocess Peter Murphy
command
31/10/2018 1.4 Updated for v5.12; reformatted to DXC Peter Murphy
template
23/03/2019 1.5 Updated for v5.14 Anandavalli N
19/06/2019 1.6 Updated for v5.14.1 Anandavalli N
06/12/2019 1.7 Updated for v5.15. Added new commands. Anandavalli N
22/12/2020 2.0 Baselined for v5.15.2 Anandavalli N
22/04/2021 3.0 Updated for v5.15.3 Anandavalli N
Updated the command listenerstatus and
deletelookupdata
Added Browse Queue, Flush Queue, Remove
Queue, Remove Topic, Test connection
(listener and connector)
20/09/2021 4.0 Converted Document to Dedalus template for Anandavalli N
5.15.4
28/07/2022 5.0 Updated for v5.16 Anandavalli N
Added commands related to LDAP and
Sequence Manager

Confidential Document Pag. 86


Viaduct

You might also like