Design Studio
Pre-requisites
Archetype-catalog.xml file
Create Maven Project for Service
Open the Design Studio and Click on File -> New -> Maven Project
Configure > Add Local Catalog
Create Service Container Project
Open the Design Studio and Click on File -> New -> Maven Project
Workbench
Workshop 1 – Process FundsTransfer - POST
Artifacts generated
Add the generated artifacts to src/main/resources folder
Remove existing files.
Right-click IRIS-Demo > Run As > Maven Install
Maven Clean if Error
Inside the jar go to the below path as shown in the image and open pom.xml
Copy groupId, artifactId and version as highlighted below in pom.xml
Right Click Container project > Run As > Maven Build
This will create .war file in target
In the IRIS-DemoContainer.war file , open pom.xml as shown below
Add a section called dependency and paste the copied groupId, artefactId and version in pom.xml as
shown below
Copy the IRIS-Demo-0.0.1-SNAPSHOT.jar and place it in this path inside the IRIS-DemoContainer.war
file “C:\Temenos\R20\Products\DesignStudioT24-R20.21\workspace\IRIS-Demo\IRIS-
DemoContainer\target\IRIS-DemoContainer.war\WEB-INF\lib\”
Update standalone-comms.properties file
C:\Temenos\R20\Products\DesignStudioT24-R20.21\workspace\IRIS-Demo\IRIS-
DemoContainer\target\IRIS-DemoContainer.war\WEB-INF\classes\irf-config\
To Post request use:
http://localhost:9089/IRIS-DemoContainer/api/v1.0.0/party/payments/generic
If Credentials are needed then can be inserted like this:
http://localhost:9089/IRIS-DemoContainer/api/v1.0.0/party/payments/generic?validate_only=true
validate_only=true shall be removed as this will only validate
File > Import > Browse Swagger File
Construct base URL
Request:
{
"header": {
},
"body": {
"debitAccountId": "10995",
"debitCurrencyId": "USD",
"creditAccountId": "11193",
"creditCurrencyId": "USD",
"creditAmount": 500,
"transactionType": "AC"
}
}
Response:
{
"header": {
"transactionStatus": "Live",
"audit": {
"T24_time": 5023,
"responseParse_time": 1,
"requestParse_time": 2,
"versionNumber": "1"
},
"id": "FT201087ZPVV",
"status": "success"
},
"body": {
"transactionType": "AC",
"debitCurrencyId": "USD",
"processingDate": "2020-04-17",
"creditCurrencyId": "USD",
"debitAccountId": "10995",
"creditAccountId": "11193",
"creditAmount": 500
}
}
Workshop 2 – Create Lending - POST
Create AA Lending using API.
Version to be copied.
AA.ARRANGEMENT.ACTIVITY,AA.NEW
API > Create Provider API
File > New > Maven Project > irf-service-archetype
Remove file from src/main/resources and place newly generated ones
Run As > Maven Clean
Run As > Maven Install
Got error:
Errors in swagger file demo-api-v1.0.0-
swagger.json:[INVALID_DESCRIPTION:Description is mandatory and should be in same
line:payload, INVALID_DESCRIPTION:Description is mandatory and should be in same
line:credentials, INVALID_DESCRIPTION:Description is mandatory and should be in
same line:companyId]
Fix error by updating swagger file
Now it is time to deploy in the container file.
Open the jar file. And go to the directory and open pom.xml file to get groupId, VersionId, artifact id.
<groupId>com.temenos.demo</groupId>
<artifactId>IRIS-Demo-ConsumerLoan</artifactId>
<version>0.0.1-SNAPSHOT</version>
In the container file, add dependency for this
Place jar file in the web-inf/libs
Deploy in deployments folder
Import swagger file in Postman
File > Import > Browse Swagger File
http://localhost:9089/IRIS-DemoContainer/api/v1.0.0/party/products
Request:
{
"header": {
"override": {
"overrideDetails": [
{
"id": "DM.CONFIRM.DOC",
"description": "Have you received Loan Agreement/AAA*203 from 100100}RECEIVED_NO
T RECEIVED",
"responseCode": "RECEIVED"
}
]
}
},
"body": {
"customerId": "100100",
"productId": "CONSUMER.LOAN",
"currencyId": "USD",
"commitment": {
"amount": 5000,
"term": "3M"
}
}
}
Reponse:
{
"header": {
"transactionStatus": "Live",
"audit": {
"T24_time": 8024,
"responseParse_time": 18,
"requestParse_time": 1
},
"aaaId": "AAACT20108KNGQLYV5",
"status": "success"
},
"body": {
"arrangementActivity": {
"arrangementId": "AA201085TJ9W",
"productId": "CONSUMER.LOAN",
"activityRef": "LENDING-NEW-ARRANGEMENT",
"customerId": 100100,
"currencyId": "USD"
}
}
}
Workshop 3 – Create Customer - POST
CUSTOMER,TEST.API.V.1.0.0
Create Provider Api
Remove {id} from URL
File > New > Maven Project
Copy the file created from workbench to src/main/resources (remove existing)
Before:
After:
Run As > Maven Clean
Run As > Maven Install
Got Error:
Errors in swagger file demo-api-v1.0.0-
swagger.json:[INVALID_DESCRIPTION:Description is mandatory and should be in same
line:credentials, INVALID_DESCRIPTION:Description is mandatory and should be in
same line:companyId]
Add description field in credentials & companyId in swagger file.
Maven Clean
Maven Install
[INFO] BUILD SUCCESS
Target File Created.
Now it is time to deploy in the container file.
Open the jar file. And go to the directory and open pom.xml file to get groupId, VersionId, artifact id.
<groupId>com.temenos.demo</groupId>
<artifactId>IRIS-Demo-Customer</artifactId>
<version>0.0.1-SNAPSHOT</version>
In the container file, add dependency for this
Add the jar file to web-inf/lib
Update deployments file.
Time to test webservice.
URL:
http://localhost:9089/IRIS-DemoContainer/api/v1.0.0/party/customers/customer/testing
Headers:
Request:
{
"header": {
},
"body": {
"Name": [
{
"Name": "Ali Qazi"
}
],
"SecondName": [
{
"SecondName": "Sadan"
}
],
"Mnemonic": [
{
"Mnemonic": "C19990"
}
],
"ShortName": [
{
"ShortName": "Ali"
}
],
"Sector": [
{
"Sector": "1001"
}
],
"Language": [
{
"Language": "1"
}
]
}
}
Response:
{
"header": {
"transactionStatus": "Live",
"audit": {
"T24_time": 748,
"responseParse_time": 1,
"requestParse_time": 0,
"versionNumber": "1"
},
"id": "190298",
"status": "success"
},
"body": {
"Language": [
{
"Language": "1"
}
],
"Sector": [
{
"Sector": "1001"
}
],
"Mnemonic": [
{
"Mnemonic": "C19990"
}
],
"ShortName": [
{
"ShortName": "Ali"
}
],
"SecondName": [
{
"SecondName": "Sadan"
}
],
"Name": [
{
"Name": "Ali Qazi"
}
]
}
}
Workshop 4 – Create Customer with Multivalues – POST
Multi-value field:
Request:
{
"header": {
},
"body": {
"Name": [
{
"Name": "Ali Name 1"
},
{
"Name": "Ali Name 2"
}
],
"SecondName": [
{
"SecondName": "Ali ShortName 1"
},
{
"SecondName": "Ali ShortName 2"
}
],
"Mnemonic": [
{
"Mnemonic": "C19991"
}
],
"ShortName": [
{
"ShortName": "Ali"
}
],
"Sector": [
{
"Sector": "1001"
}
],
"Language": [
{
"Language": "1"
}
]
}
}
Response:
{
"header": {
"transactionStatus": "Live",
"audit": {
"T24_time": 2248,
"responseParse_time": 10,
"requestParse_time": 5,
"versionNumber": "1"
},
"id": "190299",
"status": "success"
},
"body": {
"Language": [
{
"Language": "1"
}
],
"Sector": [
{
"Sector": "1001"
}
],
"Mnemonic": [
{
"Mnemonic": "C19991"
}
],
"ShortName": [
{
"ShortName": "Ali"
}
],
"SecondName": [
{
"SecondName": "Ali ShortName 1"
},
{
"SecondName": "Ali ShortName 2"
}
],
"Name": [
{
"Name": "Ali Name 1"
},
{
"Name": "Ali Name 2"
}
]
}
}
Workshop 5 – Reverse FundsTransfer – DELETE
Reverse FT
Set function to reverse in …service…xml file in services folder of generated artifacts
Same steps:
Request:
http://localhost:9089/IRIS-DemoContainer/api/v1.0.0/party/payments/FT2009405KLT/generic
id mentioned in the URL
Response:
{
"header": {
"transactionStatus": "Reversed",
"audit": {
"T24_time": 5495,
"responseParse_time": 1,
"requestParse_time": 1844,
"versionNumber": "2"
},
"id": "FT2009405KLT",
"status": "success"
},
"body": {
"transactionType": "AC",
"debitCurrencyId": "CAD",
"processingDate": "2020-05-01",
"customerRate": "1.362924",
"creditCurrencyId": "USD",
"debitAccountId": "79607",
"creditAccountId": "20656",
"overrides": [
{
"override": "DATE.GT.14}DATE MORE THAN 14 DAYS AHEAD"
},
{
"override": "DR.GT.FWD}DEBIT VALUE EXCEEDS MAX FWD VALUE"
},
{
"override": "GT.CR.VAL}CREDIT VALUE EXCEEDS MAX FWD VALUE"
}
],
"creditAmount": 132
}
}
From T24:
General
This is used to list all the available services:
http://localhost:9089/IRIS-DemoContainer/api/v1.0.0/meta/apis
{
"services": [
{
"service": "party-payments-demo-api.service.v1.0.0",
"endPoints": [
{
"method": "DELETE",
"uri": "/v1.0.0/party/payments/{id}/generic"
}
]
},
{
"service": "party-products-demo-api.service.v1.0.0",
"endPoints": [
{
"method": "POST",
"uri": "/v1.0.0/party/products/"
}
]
},
{
"service": "party-customers-demo-api.service.v1.0.0",
"endPoints": [
{
"method": "POST",
"uri": "/v1.0.0/party/customers/customer/testing"
}
]
}
],
"key": "demo-api-v1.0.0-swagger"
}
Workshop 6 – Enquiry for Account Details – GET
Remove resources and replace with generated ones
Add dependency for this ws
<groupId>com.temenos.demo</groupId>
<artifactId>IRIS-Demo-getAccountList</artifactId>
<version>0.0.1-SNAPSHOT</version>
Add the jar file in web-inf/lib
Testing the webservice
http://localhost:9089/IRIS-DemoContainer/api/v1.0.0/party/accountlist?accountId=16837
Response:
{
"header": {
"audit": {
"T24_time": 902,
"responseParse_time": 0,
"requestParse_time": 1
},
"page_start": 1,
"page_token": "202004174800777782.01,99",
"total_size": 1,
"page_size": 99
},
"body": [
{
"accountId": "16837",
"customerId": "100391",
"mnemonic": "PACKERK",
"currency": "USD"
}
]
}
Go to:
C:\Temenos\java\jdk1.8.0_162\bin>keytool -genkey -alias temenos -keyalg RSA -keystore
temenos.keystore -validity 365
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.
C:\Temenos\java\jdk1.8.0_162\bin>keytool -genkey -alias temenos -keyalg RSA -keystore temenos.keystore -validity 365
Enter keystore password:
Re-enter new password:
What is your first and last name?
[Unknown]: localhost
What is the name of your organizational unit?
[Unknown]: IT
What is the name of your organization?
[Unknown]: temenos
What is the name of your City or Locality?
[Unknown]: Birmingham
What is the name of your State or Province?
[Unknown]: WestMidlands
What is the two-letter country code for this unit?
[Unknown]: GB
Is CN=localhost, OU=IT, O=temenos, L=Birmingham, ST=WestMidlands, C=GB correct?
[no]: yes
Enter key password for <temenos>
(RETURN if same as keystore password):
Re-enter new password:
Warning:
The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format
using "key
tool -importkeystore -srckeystore temenos.keystore -destkeystore temenos.keystore -deststoretype pkcs12".