Updated: 2012/Feb/24 - Added screenshots
Updated: 2015/May/27 - Added download link: https://middleware.codeplex.com/downloads/get/1458927
Motivation
While interacting with middleware, or other similar software, there comes a need of a highly customizable simulator that should work handy, for the developers as well as testers. Based upon ISO8583’s financial transaction messages.
Requirement
- Shall work as a client
- Multiple client-instances shall also be supported
- Shall work as a server
- Shall connect multiple client at a time
- Shall respond to each client accordingly
- Shall provide a user interface to configure the format.

FIG 1: MySim9 Simulator
Options- Generate Sample
- Edit
- Reload
- Help, this help.
- Browse data file button
- List of simulations available
- List of Transactions available for a simulation
- Start button
- Send button
- Generate Sample
Generates sample simulator file, contains specific simulations.
FIG 1.1: Generate sample xml option
- Edit
- Reload
- Help
- Browse data file button
- List of simulations available
- List of Transactions available for a simulation
- Start button
- Send button
- In case of server, it sends the message to all of the clients
- In case of client, it sends the message to server.
- Double click to run the application
- Prerequisites,
- MySim9.exe must be having the simulator file (.xml) with it in the same directory
- MySim9.exe must be having the Avanza.Networker.Dll in the same directory.
- Choose the browse button to select the a valid simulator file (.xml)
- Click reload button to load the contents of the xml file
- Click on start button to run the process.
FIG2: MySim9, on the run
How to configure simulator fileData Types
Type.D

Works for 8(yyyyMMdd) and 14(yyyyMMddhhmmss) and the formatting defined as the field value. For instance,
Type.Time
Works for 6(hhmmss)
Type.Number
Adds the number
Type.AutoNumber
Creates an auto number of the provided length
Type.String
Text based data
Simulator Attributes
- Simulator name
- Server
- IP
- Port
- Meta length
- Meta Type
- Separator
- Delimited
- Request code
- Response code
Header Field Attributes
- Name
- Name of the transaction
- Data type
- Type of data being provided
- Length
- Length of field
- AutoPad
- Pads automatically depending upon the length of the field
- PadRight
- If false then pad left, otherwise pads right
- PadChar
- Char to be padded
- Field value
- Value of the field.
- Transaction name
- Transaction code
- The name of transaction code field in the header attribute, must be “Transaction Code”, otherwise system will not be able to work properly.
- No schema validation upon selecting the xml file.
- Workaround: Use specified format, for now.
- Can’t handle linear talking sessions, for instance, IVR requests to Middleware requests to Core banking requests to HOST and then HOST responds to core banking responds to middleware responds to IVR.
- Workaround: Future development, volunteer help.
- Button text doesn’t change when in client mode, when the client is forcefully stopped.
- Workaround: Restart app.
- Add complete ISO8583 message base (including network messages)
- Support all versions, ISO 8583-1-1987, ISO 8583-2-1993, ISO 8583-3-2003
- Support all origins, Aquirer, Aquirer Repeat, Issuer, Issuer Repeat, Other, Other Repeat.
- Support all functions, Request, Response, Advice, Advice Response, Notification., Response Acknowledgement, Negative Acknowledgement.
- And support all classes/types of messages, Authorization, Reserved by ISO, Fee Collection, Administrative, File Actions, Financial, Reversal, Reconciliation, Network Management.
Can you share your application or source code?
ReplyDeleteSince I am still learning the web blogging, I am still looking for a solution to post files online; So, for now, would need the email ID for the source/binaries to be sent to you.
ReplyDeleteSrc file size is 209 KB and installer file size is 758 KB.
Incase you do not want to post your email id here, you can always request me one at KAMRANHK_AT_GMAIL.
Thanks.
Maslov, upon your request an email has been sent. Let me know if this works for you.
ReplyDeleteKman,
ReplyDeleteCould you also send me the files at qisoon@gmail.com
Many thanks
i am doing some connectivity test so requires this simulator to test both ends..
Thanks for your comment.
ReplyDeleteJust sent you the solution files, let me know if you are hating it. The crux of application is the xml configuration file. The more configurable, the more complexity it would inherit. I hope this would give some hope (0:
I am currently updating the solution files, will send you updated one as soon as I am done.
Can u send the needed files to heatjnr@yahoo.com
ReplyDeleteThanks Jerry
@Unknown: Please download the solution from http://middleware.codeplex.com/
ReplyDeleteHi, I have tried to download Mysim9: Personal/customizable simulator from codeplex but no download link. can you send me a download link at tolokunfol@yahoo.com.
ReplyDeleteThanks
can you also send me the files at marlon_bardinas@yahoo.com. thanks in advance
ReplyDeletethe solution is great & I really like this, just lack of some documentation and there should be binary setup too, to be downloaded for instant go through. Anyway, great effort, let me know if I can contribute too anything.
ReplyDeleteHi KMan, can you send me the executable to caraven90@gmail.com. I have already downloaded and compiled the source code, but when I configure the program as a server, it doesn't send any response. So I don't know if I'm compiling in a wrong way the code, or I am configuring wrong the .xml file.
ReplyDeleteFinally, I would like to know if you can supply me a better documentation which explain better how work out the program. and how configure it.
pls send me the download link for mysim9
ReplyDeletecan anyone pls explain me how ISO 8583 simulators are used for payment transactions and also send me download link for that
ReplyDeleteplease make the ready-touse binaries available somewhere (codeplex or dropbox)
ReplyDeleteas I do not have the tools to compile your source code.
http://middleware.codeplex.com/downloads/get/1458927
ReplyDeleteThank you for providing the link.could you please explain me how it is used?
Delete