Selasa, Mei 12, 2009

Memanggil Webservice Menggunakan Ms Visual Basic 6

STUDI KASUS: MEMANGGIL WEBSERVICE BC1.1 DI INSW

Kali ini saya akan menuliskan tentang cara memanggil sebuah method di webservice dengan menggunakan M$ Visual Basic 6. Agar lebih mantap dan aplikatif, maka saya juga menggunakan studi kasus untuk memanggil sebuah method yang telah tersedia di webservice di INSW.

Sekilas Info Tentang Data BC1.1
Data BC1.1 adalah salah satu contoh data pre-notification untuk pengiriman dokumen impor. Seringkali untuk mendapatkan data ini, importir/PPJK mengalami kesulitan. Data BC1.1 merupakan data respon dari KPBC untuk perusahaan pengangkutan (baca: shipping agent) terkait dengan pengiriman dokumen manifestnya tersebut. Setiap 1 pos di dokumen manifes biasanya terhubung dengan 1 dokumen PIB dengan menggunakan parameter data BC1.1 tersebut. Oleh karena demi peningkatan pengawasan arus barang masuk di pelabuhan, maka sejak diberlakukannya implementasi sistem PDE Manifes, Bea Cukai mewajibkan informasi data BC1.1 tercantum disetiap dokumen PIB yang di kirim ke KPBC oleh importir/PPJK.

Mulai melakukan pemrograman
Sebelum melakukan pemrograman pemanggilan service menggunakan VB6, maka terlebih dahulu kita harus melakukan instalasi SOAP Toolkit yang bisa didownload di website Micro$oft. Software ini merupakan software yang dapat diunduh gratis berisi library-library SOAP yang bisa digunakan oleh VB6.

Alamat webservice BC1.1 adalah di http://services.insw.go.id/BC11Services/Services mempunyai satu method yang bisa di invoke yaitu CekBC11. Informasi detail tentang method Cek BC11 bisa ditemukan di WSDL yang disertakan. Disana kita melihat terdapat 2 parameter input yaitu string dan string0. Penjelasan tentang method tersebut dapat diringkas menjadi tabel sebagai berikut.

Parameter yang digunakan pada saat pemanggilan adalah Nomor dan Tanggal Bill of lading. Data ini sangat spesifik dan biasanya sudah cukup dikenal oleh para importir mengingat data ini merupakan salah satu dokumen pendukung yang "wajib" ada saat mengirimkan PIB disamping invoice.

Selanjutnya, kita buka software M$ Visual Basic 6. Buat sebuah project baru (Standar exe) kemudian buat satu form yang terdiri dari textbox dan tombol-tombol seperti contoh dibawah ini dan berilah nama variabel di masing-masing obyek tersebut.

Jangan lupa, kita juga harus membuat referensi ke library SOAP Toolkit yang telah kita instal tadi. Langkahnya:
- Buka menu Projects | References
- Cari library Micro$oft SOAP Type Library v3.0

- Kemudian klik tombol OK.

Kita mulai men-coding!
Pada form yang telah kita buat tadi, klik di tombol cmdInvoke ("Get BC1.1") ikut isikan baris sebagai berikut.
Private Sub cmdInvoke_Click()
Dim wsClient As SoapClient30
Dim strWSDL As String
Dim strResult As String
Dim noBL As String
Dim tgBL As String

Set wsClient = New SoapClient30
strWSDL = "http://services.insw.go.id/BC11Services/Services?WSDL"

noBL = txtNoBL.Text
tgBL = Format(txtTgBL.Value, "DD-MM-YYYY")

wsClient.MSSoapInit strWSDL
strResult = wsClient.cekBC11(noBL, tgBL)

Text2.Text = strResult
End Sub

Selanjutnya jalankan (Run) program yang kita buat ini. Masukan paramater Nomor BL dan Tanggal BL yang valid. Contoh response yang kita dapatkan akan keluar string sbb:
001476|22/04/2009|0001.0000.0000|040000|MT. LAUREN|04|PT INDORAMA SYNTHETICS TBK,
Langkah selanjutnya kita bisa lakukan parsing data tersebut untuk digunakan lebih lanjut.
Mudah, bukan? Selamat mencoba!