Membuat Jax WS Menggunakan Intellij IDE Ultimate
Jax WS adalah salah satu library untuk membuat SOAP Web Service menggunakan Java. Tutorial kali ini akan membahas mengenai bagaimana cara membuat web service sederhana menggunakan Intellij IDE Ultimate. IDE ini bisa didapatkan secara gratis menggunakan email dari universitas melalui link di sini.
Hal pertama yang harus dilakukan adalah membuat web service itu sendiri.
Klik File -> New -> Project
Klik Java Enterprise -> Web Services. Pada bagian version, pilihlah Glassfish/JAX-WS 2.X RI/Metro 1.X/JWSDP 2.0, dan kemudian klik next. Perhatikan gambar berikut.
Pada tampilan berikutnya, beri nama pada project yang kita buat. Misalkan namanya SOAP Hello, kemudian klik finish. Pada langkah ini, Intellij akan melakukan download beberapa .jar yang merupakan dependensi dari JaxWS. Tunggulah sampai proses download selesai.
Setelah download selesai, akan muncul seperti berikut. Klik 2 kali pada Project Name (perhatikan kursor pada gambar) untuk memunculkan project files.
Tampilan project file kurang lebih seperti berikut
Ketika file HelloWorld kita klik 2x, akan muncul source code seperti berikut.
Penjelasan dari source code adalah seperti berikut:
public String sayHelloWorldFrom(String from)
Fungsi di atas adalah fungsi yang nantinya dipanggil oleh SOAP client. Di dalam fungsi ini, web service dapat kita program untuk melakukan apapun, misalnya seperti koneksi ke database, melakukan perhitungan, dan sebagainya.
String address = "http://localhost:9000/HelloWorld";
Code di atas adalah alamat dari web service yang akan diakses oleh SOAP client, terutama bagian port (9000) dan /HelloWorld
Untuk menjalankan web service, tekan Ctrl + Shift + F10
Wsdl dapat terlihat melalui url http://localhost:9000/HelloWorld?wsdl
Pada bagian ini, pembuatan web service telah selesai. Selanjutnya adalah membuat web service client untuk melakukan tes.
Web Service Client
Untuk mmbuat web service client, buatlah project baru di Intellij. File -> New -> Project
Pilih Java Enterprise -> WebService Client Glassfish/JAX-WS 2.X RI/Metro 1.X/JWSDP 2.0. Kemudian klik next. Perhatikan gambar berikut.
Berikutnya adalah memberi nama project. Misalkan SOAP Hello Client
Setelah download lib untuk projectnya selesai, maka akan tampil kotak dialog Generate Java Code From WSDL. Editlah Web Service wsdl uri sesuai dengan yang sudah didefinisikan sebelumnya, yaitu http://localhost:9000/HelloWorld?wsdl. Kemudian klik ok
Apabila terjadi error Failed to read schema document ‘HelloWorld?xsd=1’, because ‘http’ access is not allowed, ikuti referensi di sini. Apabila error terjadi di Ubuntu yang melakukan instalasi JDK menggunakan ppa semacam ini, silahkan mengikuti tutorial di sini.
Setelah berhasil, source code yang dihasilkan akan terjadi errror di beberapa tempat. Secara default tampilannya akan seperti ini
Error terjadi pada line berikut
test.HelloWorld service = new HelloWorldService().getPort();
service.sayHelloWorldFrom();
Pertama, letakkan kursor diantara test.HelloWorld, dan tekan alt + enter untuk import package yang dibutuhkan secara otomatis.
Kedua, method getPort() tidak dapat dipanggil. Solusinya adalah mengganti getPort() dengan getHelloWorldPort()
Ketiga, pada service.sayHelloWorldFrom(); , fungsi yang dipanggil mengacu pada fungsi yang telah dibuat sebelumnya. Fungsi tersebut adalah fungsi public String sayHelloWorldFrom(String from) . Oleh karena itu, service.sayHelloWorldFrom(); membutuhkan parameter berupa string, misalnya kita ubah menjadi service.sayHelloWorldFrom(“akhfa”); .
Hasil akhir dari source code yang di ubah adalah seperti berikut
Sama seperti saat menjalankan web service, untuk menjalankan client juga menggunakan Ctrl + Shift + F10.
Untuk menjalankan client, pastikan project SOAP Hello sudah berjalan terlebih dulu agar client dapat mengakses port 9000. Ketika client dijalankan, misalkan dengan cara menekan Ctrl + Shift + F10 sebanyak 2x, maka akan muncul Hello, world, from akhfa sebanyak 2x pada bagian kiri bawah Intellij sebagai hasil dari pemanggilan client.
Sekian tutorial kali ini. Semoga dapat memberi inspirasi untuk membuat SOAP service yang lebih kompleks lagi.
Muhammad Husain Jakfari
untuk yang bermasalah dengan proxy
Masuk ke
File -> Setting
Cari Maven
Lalu masuk ke menu importing
ada opsi “VM Options for Importer”
tambahkan “-DproxySet=true -DproxyHost=<> -DproxyPort=<>” tanpa tanda petik
setelah itu restart IntelliJanda