JAX-WS SOAP client dengan Eclipse dan Java

Di tulisan sebelumnya saya sudah membahas cara membuat Web Service menggunakan Java dengan Apache CXF. Agar Web Service yang telah kita buat dapat digunakan maka diperlukan sebuah client untuk mengaksesnya.

Pada tulisan ini saya akan membahas cara mengakses dan membuat client Web Service dengan protokol SOAP dari Eclipse dan juga dengan class Java.

1. Membuat Project
Klik File -> New -> Project -> Web -> Dynamic Web Project


Buat Project dengan nama client_jaxwshelloworld


Sehingga terbentuk susunan project sebagai berikut



2. Eclipse Web Service Client
Klik kanan pada project client_jaxwshelloworld lalu klik New -> Other -> Web Services -> Web Service Client


Klik Next dan akan tampil jendela Web Service Client. Tekan tombol Browse dan masukkan url WSDL dari Web Service yang telah kita buat sebelumnya yaitu:

http://localhost:8080/jaxwshelloworld/services/HelloServiceImplPort?wsdl


Tekan tombol OK untuk menyimpan


Pada jendela Web Service Client set menjadi Test Client dan kemudian klik Finish. Selanjutnya akan terdapat proses dan akhirnya membuka sebuah tab baru di dalam Eclipse yang berisi Web Service Client seperti gambar berikut


Untuk mencoba apakah client yang kita siapkan telah terhubung dengan Web Service, klik HelloServiceSoapBinding yang berada di sisi kiri Navigator dan kemudian klik dua kali pada hello.

Nanti akan tampil disisi kanan pada Action untuk memasukkan parameter pada Operation "hello". Dari gambar dibawah saya klik tulisan Add dan memasukkan Values: Rizky dan kemudian menekan tombol Go.

Akan tampil response dari Web Service di kotak Status dari helloResponse dengan pesan
Hello Rizky!


Cara yang sama juga dapat dilakukan untuk Operation "getVersion"


3. Membuat client dengan class Java
Jika diperhatikan pada project terdapat package yang berisi class java dari Web Service yang bernama com.rizupz.ws. Dimana package ini merupakan susunan class yang kita peroleh dari WSDL web service jaxwshelloworld


Dengan adanya package tsb kita dapat membuat sebuah aplikasi client dari class yang kita definisikan untuk keperluan sendiri.

Buat Package dengan nama com.rizupz.client dan class dengan nama HelloClient.java. Dimana class ini kita buat untuk memperoleh response dari Web Service dengan Operation "hello"

public class HelloClient {

 public static void main(String[] args) {
  
  HelloServiceImplService helloService = new HelloServiceImplService();
  HelloServiceImpl hello = helloService.getHelloServiceImplPort();
  
  System.out.println(hello.hello("Rizky"));

 }

}

Lalu buat class kembali dengan nama GetVersionClient.java

public class GetVersionClient {

 public static void main(String[] args) {
  // TODO Auto-generated method stub
  HelloServiceImplService getversionService = new HelloServiceImplService();
  HelloServiceImpl getversion = getversionService.getHelloServiceImplPort();
  
  System.out.println(getversion.getVersion());

 }

}

Sehingga susunan Project menjadi


Untuk menjalankan class klik kanan di HelloClient.java -> Run As -> Java Application.
Akan di dapat output: Hello Rizky

Untuk menjalankan class klik kanan di GetVersionClient.java -> Run As -> Java Application.
Akan di dapat output: 1.0

Output tersebut diperoleh dari response yang diberikan oleh Web Service.

Source Code lengkap dapat download disini

Referensi:
Eclipse
Mkyong - JAX-WS Hello World Example
JAX-WS SOAP client dengan Eclipse dan Java JAX-WS SOAP client dengan Eclipse dan Java Reviewed by rizupz on Minggu, Juli 20, 2014 Rating: 5

Tidak ada komentar:

Diberdayakan oleh Blogger.