Pembuatan aplikasi untuk client-nya pun tidak begitu susah , sekarang buatlah sebuah class baru dengan nama JPosClient dan simpan pada package id.web.martinusadyh.iso8583.jpos. Setelah itu, pastekan kode dibawah ini :
- id.web.martinusadyh.iso8583.jpos.JPosClient.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
| package id.web.martinusadyh.iso8583.jpos;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.jpos.iso.ISOException;
import org.jpos.iso.ISOMUX;
import org.jpos.iso.ISOMsg;
import org.jpos.iso.ISOPackager;
import org.jpos.iso.ISORequest;
import org.jpos.iso.channel.ASCIIChannel;
import org.jpos.iso.packager.GenericPackager;
/**
*
* @author Martinus Ady H <mrt.itnewbies@gmail.com>
*/
public class JPosClient {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws IOException, ISOException {
String hostname = "localhost";
int portNumber = 12345;
// membuat sebuah packager
ISOPackager packager = new GenericPackager("packager/iso93ascii.xml");
// membuat channel
ASCIIChannel channel = new ASCIIChannel(hostname, portNumber, packager);
ISOMUX isoMux = new ISOMUX(channel) {
@Override
protected String getKey(ISOMsg m) throws ISOException {
return super.getKey(m);
}
};
new Thread(isoMux).start();
// bikin network request
ISOMsg networkReq = new ISOMsg();
networkReq.setMTI("1800");
networkReq.set(3, "123456");
networkReq.set(7, new SimpleDateFormat("yyyyMMdd").format(new Date()));
networkReq.set(11, "000001");
networkReq.set(12, new SimpleDateFormat("HHmmss").format(new Date()));
networkReq.set(13, new SimpleDateFormat("MMdd").format(new Date()));
networkReq.set(48, "Tutorial ISO 8583 Dengan Java");
networkReq.set(70, "001");
ISORequest req = new ISORequest(networkReq);
isoMux.queue(req);
ISOMsg reply = req.getResponse(50*1000);
if (reply != null) {
System.out.println("Req ["+new String(networkReq.pack()) + "]");
System.out.println("Res ["+new String(reply.pack()) + "]");
}
}
}
|
Bagaimana tidak susah bukan ? Kode kita terlihat makin sederhana
Nah jika sudah, sekarang coba lakukan proses
Clean and Build dan jalankanlah
JPosServer hingga muncul tampilan seperti dibawah ini :
run:
Server siap menerima koneksi pada port [12345]
Jika sudah menjumpai tampilan seperti diatas, sekarang jalankanlah aplikasi client-nya yaitu
JPosClient. Jika tidak ada pesan kesalahan, maka kita akan melihat tampilan seperti dibawah ini pada sisi client :
run:
Req [1800A2380000000100000400000000000000123456201011090000010257411109029Tutorial ISO 8583 Dengan Java001]
Res [1810A2380000020100000400000000000000123456201011090000010257411109000029Tutorial ISO 8583 Dengan Java001]
Dan tampilan seperti ini pada sisi server :
run:
Server siap menerima koneksi pada port [12345]
Server menerima koneksi dari [127.0.0.1]
Accepting Network Management Request
Sekarang cobalah secara bergantian jalankan server yang menggunakan class
ServerSocket biasa dengan client yang menggunakan library
jPOS. Begitu juga sebaliknya, client dari class
Socket dan server yang menggunakan library
jPOS. Seharus-nya sudah tidak ada masalah lagi