-
Notifications
You must be signed in to change notification settings - Fork 44
Home
Isosim is ISO8583 simulator developed using Go programming language. The simulator is accessed using a web interface. _The web interface is currently only tested on chrome browser. _
Isosim provides the ability to -
- Define an ISO8583 specification (layout of messages including field definitions)
- Define ISO8583 servers (listeners)
- Ability to define behaviour of such servers i.e behaviour to respond to incoming ISO8583 Messages
- Start and Stop servers
- Build and send transactions to ISO servers
The ISO8583 specifications are currently defined in a text file manually (Please see an example here - specs/isoSpecs.spec )
Servers are managed by using the url - http://host:port/iso/v0/server -
- Start by providing a server name, port (for listening), a mli type, a predefined spec
- Add a message selector (+ Msg Selector). Here you select what message to use based on how a message starts (Example - MTI - 1100 for Auth, 1420 for reversal etc). Please note that the field value should be hex bytes (Example - 31313030 for 1100 if the encoding used is ASCII or 1100 if BINARY/BCD)
- Within a message selector, add processing conditions that will define a "field to value condition" which will determine how the message will be responded to - Example - If amount equals 100 then set action code= 100
- Comparison conditions as of date include 'Equals' which is the comparison of raw string value of field i.e string comparison for ASCII/EDCDIC or raw binary strings for BINARY/BCD fields
- Other comparisons are useful for integer fields like amount (Equals,GreaterThan,LessThan) etc
- Save the spec with a name which will then appear under the "Server Def" when you later want to load and start a server
Example Below -
Tip: You can use the 'Any' comparator as a default condition which can appear last in the list of processing conditions. Processing conditions are processed in the order they appear and so, if 'Any' appears at the start then all other processing conditions are ignored.
To start a server -
- Select a spec from the drop down
- Use the 'Fetch All' button to load all the available definitions
- Use 'Load Definition' to load the definition
- Use the 'Start' button to start the server
Note: You can optionally change the 'Server Port' incase you want to use a different port than the one you used when defining the server
You can use the 'Show Active Servers' button to bring up a list of all listeners. You can then use the 'Stop' button to stop the server (Please note that this will not stop any previously connected clients)
- Introduction
- Building
- Up and Running
- Specs
- Servers
- Using the UI
- Test Case Management
- Miscellenous