Tutorial ini membahas cara membuat web service dan client menggunakan Spring Web Services. Langkah-langkahnya meliputi pembuatan project, konfigurasi Spring, pendefinisian endpoint dan interface, serta pengujian client. Web service dibuat untuk melakukan login dengan merespons username tertentu.
2. Tutorial Web Service (Service & Client) with Spring Web Services
Pendahuluan
Alhamdulillah, tanggal 22 mei 2013 penulis berhasil menambahkan tutorial gratis dengan judul Tutorial Web Service
(Service & client) with Spring Web Services. Kenapa saya menggunakan framework Spring ? karena dari semua
framework JAVA yang ada, Spring merupakan salah satu framework yang terkenal dan lengkap dokumentasinya
sehingga semoga ketika pembaca sudah bisa membuat basic web services, detail penggunaan framework bisa dibantu
dokumentasi dari spring secara langsung. Selain itu, tutorial ini dibuat karena penulis merasa salah satu teori ataupun
framework tersulit untuk dipelajari adalah mengenai web service yang mana teknologi ke depan secara global akan
berbasis web.
Web service pada tutorial ini untuk melakukan proses seperti login dan merespon sesuai dengan username yang dikirim,
apabila username sama dengan arif, maka akan merespon guntank dan selain username tersebut service akan
merespon failed.
Pada tutorial ini, setidaknya yang harus dikuasai oleh pembaca adalah dasar-dasar algoritma, pemrograman JAVA dan
penggunaan IDE Eclipse. Adapun teknologi dipakai :
Eclipse-jee-indigo-SR2-win32-x86_64
JDK 1.7.0_10
Apache Tomcat 6.0.35
Spring Framework 3.1.3
Spring Web Services 2.1.1
Tutorial ini terdiri dari :
Pembuatan Web Service
Pembuatan Web Service Client
Beberapa saran dari saya untuk mengikuti tutorial ini :
Sudah memiliki semua jar Spring Framework & Spring Web Services (bisa di download di website resmi).
Sudah memiliki jar common logging & wsdl4j (bisa di download di website resmi).
Dimana web service maupun web service client dibuat dalam satu project.
Akhir kata, tutorial ini masih banyak kekurangan dan dibuat hanya berdasarkan iseng dan mencoba berbagi sedikit ilmu
yang dimiliki. Oleh karena itu, apabila ada saran maupun kritik bisa melalui email arifnasution@ymail.com.
Marifnst, 2013-05-22
3. Service
1. Buat dynamic web project, “New” – “Dynamic Web Project”.
2. Berikan “Project Name” & klik next.
4. 3. Klik next.
4. Klik finish, pastikan generate web.xml dalam kondisi di cek.
5. 5. Ambil file jar dari file spring ws seperti di gambar.
6. Copy jar tersebut ke dalam project, WebContent – WEB-INF - lib.
7. 9. Masuk ke folder lib dari jar, pilih ok.
10. Jar akan bertambah, pilih ok.
8. 11. Masuk ke web.xml & tambahkan baris seperti di gambar (code bisa dilihat di lampiran).
12. Klik kanan WebContent – WEB-INF, “New” – “File” & beri nama login.xsd.
9. 13. Isi login.xsd (code bisa dilihat di lampiran).
14. Buat file baru pada WebContent – WEB-INF, beri nama spring-ws-servlet.xml (code bisa dilihat di lampiran).
10. 15. Klik kanan folder src pada “Java Resources”, buat package baru dengan nama terserah anda (disini saya beri
nama sample.springws).
16. Klik kanan package yang sudah dibuat, “New” – “Class”.
11. 17. Beri nama class tersebut terserah anda (disini saya beri nama OrderEndPoint).
18. Isi OrderEndPoint.java (code bisa dilihat di Lampiran).
12. 19. Copy semua jar dari spring framework, untuk mencegah kekurangan dependency.
20. Paste jar tersebut ke dalam folder WebContent – WEB-INF – lib.
13. 21. Tambahkan jar tersebut ke dalam java build path seperti poin 8 - 10.
22. Tambahkan jar commons-loggin-<versi> & wsdl4j yang merupakan dependency jar yang dibutuhkan spring web
services. Jangan lupa menambahkan jar tersebut pada “Java Build Path”.
14. 23. Klik kanan folder project, “Run As” – “Run on Server”.
24. Pilih server yang digunakan (disini saya menggunakan Apache Tomcat 6) kemudian klik next.
15. 25. Pilih project yang akan di deploy ke server & klik finish.
26. Eclipse akan menampilkan status 405.
16. 27. Masuk ke url http://localhost:8080/<nama_project>/loginservices/login.wsdl, apabila berhasil maka xml wsdl
akan dimunculkan browser.
17. Client
1. Klik kanan package yang sudah dibuat (dalam tutorial ini sample.springws), “New” – “Class”.
2. Saya beri nama SampleClient.java (code bisa dilihat di lampiran).
18. 3. Copy semua jar dari spring ws, <folder spring ws> - dist – modules.
4. Copy ke folder lib dan jangan lupa tambahkan pada “Java Build Path” (caranya bisa dilihat pada poin
sebelumnya).
19. 5. Klik kanan class tersebut, “Run As” – “Java Application”.
6. Apabila berhasil, maka aplikasi java akan melakukan print pada console seperti gambar di bawah. Itu berarti
client sudah berhasil melakukan request service dan mendapat respon dari web service yang sudah dibuat.
21. spring-ws-servlet.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:sws="http://www.springframework.org/schema/web-services"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/web-services
http://www.springframework.org/schema/web-services/web-services-2.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
<description>
This web application context contains Spring-WS beans. The
beans defined
in this context are automatically
detected by Spring-WS,
similar to the way Controllers are picked up in Spring
Web MVC.
</description>
<context:component-scan base-package="sample.springws" />
<sws:annotation-driven />
<sws:dynamic-wsdl id="login" portTypeName="login"
locationUri="loginservices">
<sws:xsd location="/WEB-INF/login.xsd" />
</sws:dynamic-wsdl>
</beans>