To implement an ISO8583 client, follow these steps:
- Create a
J8583MessageFactory specifying the ISO8583Version and MessageOrigin (e.g., ACQUIRER, ISSUER, or OTHER). - Instantiate
Iso8583Client with the factory. - Register an
IsoMessageListener to handle incoming IsoMessage objects. - Configure the client (optional) using
client.getConfiguration(). - Call
client.init() to prepare the client. - Call
client.connect(host, port) to establish the connection. Automatic reconnection is enabled by default. - Use
sendAsync(message), send(message), or send(message, timeout, unit) to transmit messages. - Call
client.shutdown() when finished.
var messageFactory = new J8583MessageFactory<>(ISO8583Version.V1987, MessageOrigin.OTHER);
Iso8583Client<IsoMessage> client = new Iso8583Client<>(messageFactory);
client.addMessageListener(new IsoMessageListener<IsoMessage>() {
@Override
public void onMessage(IsoMessage message) {
// Handle incoming message
}
});
client.getConfiguration().replyOnError(true);
client.init();
client.connect(host, port);
if (client.isConnected()) {
IsoMessage message = messageFactory.newMessage(...);
client.sendAsync(message);
// or
client.send(message);
// or
client.send(message, 1, TimeUnit.SECONDS);
}
client.shutdown();