SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
Tutorial Web Service
(Web & Client) with
Spring Web Service
arifnasution@ymailcom
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
Service
1. Buat dynamic web project, “New” – “Dynamic Web Project”.
2. Berikan “Project Name” & klik next.
3. Klik next.
4. Klik finish, pastikan generate web.xml dalam kondisi di cek.
5. Ambil file jar dari file spring ws seperti di gambar.
6. Copy jar tersebut ke dalam project, WebContent – WEB-INF - lib.
7. Klik kanan folder project, pilih “properties”.
8. Pilih java build path, klik add jar.
9. Masuk ke folder lib dari jar, pilih ok.
10. Jar akan bertambah, pilih ok.
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.
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).
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”.
17. Beri nama class tersebut terserah anda (disini saya beri nama OrderEndPoint).
18. Isi OrderEndPoint.java (code bisa dilihat di Lampiran).
19. Copy semua jar dari spring framework, untuk mencegah kekurangan dependency.
20. Paste jar tersebut ke dalam folder WebContent – WEB-INF – lib.
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”.
23. Klik kanan folder project, “Run As” – “Run on Server”.
24. Pilih server yang digunakan (disini saya menggunakan Apache Tomcat 6) kemudian klik next.
25. Pilih project yang akan di deploy ke server & klik finish.
26. Eclipse akan menampilkan status 405.
27. Masuk ke url http://localhost:8080/<nama_project>/loginservices/login.wsdl, apabila berhasil maka xml wsdl
akan dimunculkan browser.
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).
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).
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.
Source Code
Web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>TutorialWebService</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<display-name>My Service</display-name>
<servlet>
<servlet-name>spring-ws</servlet-name>
<servlet-
class>org.springframework.ws.transport.http.MessageDispatcherServlet</servlet-class>
<init-param>
<param-name>transformWsdlLocations</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>spring-ws</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>
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>
Login.xsd
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.springwssample.org/types"
xmlns:tns="http://www.springwssample.org/types" elementFormDefault="qualified">
<element name="loginRequest">
<complexType>
<sequence>
<element name="username" type="string" />
<element name="password" type="string" />
</sequence>
</complexType>
</element>
<element name="loginResponse">
<complexType>
<sequence>
<element name="message" type="string" />
</sequence>
</complexType>
</element>
</schema>
OrderEndPoint.java
package sample.springws;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.springframework.ws.server.endpoint.annotation.Endpoint;
import org.springframework.ws.server.endpoint.annotation.PayloadRoot;
import org.springframework.ws.server.endpoint.annotation.RequestPayload;
import org.springframework.ws.server.endpoint.annotation.ResponsePayload;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
@Endpoint
public class OrderEndpoint {
private static final String NAMESPACE = "http://www.springwssample.org/types";
@PayloadRoot(localPart = "loginRequest", namespace =
"http://www.springwssample.org/types")
@ResponsePayload
public Element loginServiceProcess(@RequestPayload Element request)
throws ParserConfigurationException, IOException {
// iterasi value xml request ke dalam map
Map<String, String> requestValue = new HashMap<>();
NodeList nl = request.getChildNodes();
for (int i=0;i < nl.getLength();i++) {
requestValue.put(nl.item(i).getNodeName(), nl.item(i).getTextContent());
}
String message = "Failed";
if (requestValue.get("username").equals("arif")) {
message = "guntank";
}
// membuat response xml
Document document = DocumentBuilderFactory.newInstance()
.newDocumentBuilder().newDocument();
Element response = document.createElementNS(NAMESPACE, "loginResponse");
response.appendChild(addElementWithValue(document, "message", message));
return response;
}
private Element addElementWithValue(Document document, String element,
String value) {
Element child = document.createElementNS(NAMESPACE, element);
child.appendChild(document.createTextNode(value));
return child;
}
}
SampleClient.java
package sample.springws;
import java.io.IOException;
import java.io.StringReader;
import java.io.StringWriter;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
import org.springframework.oxm.XmlMappingException;
import org.springframework.ws.client.core.WebServiceTemplate;
public class SampleClient {
public static void main(String[] args) throws XmlMappingException,
IOException {
String SAMPLE_MESSAGE_1 = "<loginRequest
xmlns="http://www.springwssample.org/types">"
+ "<username>arif</username>"
+ "<password>password</password>"
+ "</loginRequest>";
StreamSource source = new StreamSource(new StringReader(SAMPLE_MESSAGE_1));
StringWriter strwr = new StringWriter();
StreamResult result = new StreamResult(strwr);
WebServiceTemplate webServiceTemplate = new WebServiceTemplate();
webServiceTemplate.sendSourceAndReceiveToResult("http://localhost:8080/TutorialWebService
/loginservices", source, result);
System.out.println("response for first message : " + strwr);
String SAMPLE_MESSAGE_2 = "<loginRequest
xmlns="http://www.springwssample.org/types">"
+ "<username>other</username>"
+ "<password>password</password>"
+ "</loginRequest>";
source = new StreamSource(new StringReader(SAMPLE_MESSAGE_2));
strwr = new StringWriter();
result = new StreamResult(strwr);
webServiceTemplate.sendSourceAndReceiveToResult("http://localhost:8080/TutorialWebService
/loginservices", source, result);
System.out.println("response for second message : " + strwr);
}
}

Más contenido relacionado

La actualidad más candente

Membuat aplikasi-sederhana-menggunakan-java
Membuat aplikasi-sederhana-menggunakan-javaMembuat aplikasi-sederhana-menggunakan-java
Membuat aplikasi-sederhana-menggunakan-javaFarichah Riha
 
Membuat aplikasi chat menggunakan java
Membuat aplikasi chat menggunakan javaMembuat aplikasi chat menggunakan java
Membuat aplikasi chat menggunakan javaEko Kurniawan Khannedy
 
Aplikasi JSP dengan netbeans
Aplikasi JSP dengan netbeansAplikasi JSP dengan netbeans
Aplikasi JSP dengan netbeansJogal
 
Pocket book window builder eclipse
Pocket book window builder eclipsePocket book window builder eclipse
Pocket book window builder eclipseresarahadian
 
Menampilkan data pada Database MySQL di JSP(Java Server Page)
Menampilkan data pada Database MySQL di JSP(Java Server Page)Menampilkan data pada Database MySQL di JSP(Java Server Page)
Menampilkan data pada Database MySQL di JSP(Java Server Page)fahmi azain
 
tutorial jsf bagian 1
tutorial jsf bagian 1tutorial jsf bagian 1
tutorial jsf bagian 1Jogal
 
Modul Pemrograman Visual
Modul Pemrograman VisualModul Pemrograman Visual
Modul Pemrograman VisualWahyu Widodo
 
Netbeans jasper-tutorial
Netbeans jasper-tutorialNetbeans jasper-tutorial
Netbeans jasper-tutorialyunus pramono
 
MudafiqRiyan - Membuat Installer Dari Java Desktop
MudafiqRiyan - Membuat Installer Dari Java DesktopMudafiqRiyan - Membuat Installer Dari Java Desktop
MudafiqRiyan - Membuat Installer Dari Java DesktopMudafiq R. Pratama
 
Jquery ppt
Jquery pptJquery ppt
Jquery ppt044249
 
Modul pelatihan-django-dasar-possupi-v1
Modul pelatihan-django-dasar-possupi-v1Modul pelatihan-django-dasar-possupi-v1
Modul pelatihan-django-dasar-possupi-v1Ridwan Fadjar
 
Tutorial JSON-LD dan RabbitMQ di Java
Tutorial JSON-LD dan RabbitMQ di JavaTutorial JSON-LD dan RabbitMQ di Java
Tutorial JSON-LD dan RabbitMQ di JavaHendy Irawan
 
Membuat aplikasi-java-web-enterprise-sederhana
Membuat aplikasi-java-web-enterprise-sederhanaMembuat aplikasi-java-web-enterprise-sederhana
Membuat aplikasi-java-web-enterprise-sederhanaJogal
 
Maya surya
Maya suryaMaya surya
Maya suryaAndi Jo
 
Ppt pengenalan jquery
Ppt pengenalan jqueryPpt pengenalan jquery
Ppt pengenalan jquerymutia902
 
Membuat mvc framework sederhana dengan php
Membuat mvc framework sederhana dengan phpMembuat mvc framework sederhana dengan php
Membuat mvc framework sederhana dengan phpCahya Dwiana SN
 
Materi ii dasar dasar netbeans
Materi ii dasar dasar netbeansMateri ii dasar dasar netbeans
Materi ii dasar dasar netbeansIzal Kernel
 

La actualidad más candente (20)

Ppt jquery
Ppt jqueryPpt jquery
Ppt jquery
 
Membuat aplikasi-sederhana-menggunakan-java
Membuat aplikasi-sederhana-menggunakan-javaMembuat aplikasi-sederhana-menggunakan-java
Membuat aplikasi-sederhana-menggunakan-java
 
Membuat aplikasi chat menggunakan java
Membuat aplikasi chat menggunakan javaMembuat aplikasi chat menggunakan java
Membuat aplikasi chat menggunakan java
 
Aplikasi JSP dengan netbeans
Aplikasi JSP dengan netbeansAplikasi JSP dengan netbeans
Aplikasi JSP dengan netbeans
 
Pocket book window builder eclipse
Pocket book window builder eclipsePocket book window builder eclipse
Pocket book window builder eclipse
 
Pengenalan ReactJS
Pengenalan ReactJS Pengenalan ReactJS
Pengenalan ReactJS
 
Menampilkan data pada Database MySQL di JSP(Java Server Page)
Menampilkan data pada Database MySQL di JSP(Java Server Page)Menampilkan data pada Database MySQL di JSP(Java Server Page)
Menampilkan data pada Database MySQL di JSP(Java Server Page)
 
tutorial jsf bagian 1
tutorial jsf bagian 1tutorial jsf bagian 1
tutorial jsf bagian 1
 
Modul Pemrograman Visual
Modul Pemrograman VisualModul Pemrograman Visual
Modul Pemrograman Visual
 
Netbeans jasper-tutorial
Netbeans jasper-tutorialNetbeans jasper-tutorial
Netbeans jasper-tutorial
 
JQURTY
JQURTYJQURTY
JQURTY
 
MudafiqRiyan - Membuat Installer Dari Java Desktop
MudafiqRiyan - Membuat Installer Dari Java DesktopMudafiqRiyan - Membuat Installer Dari Java Desktop
MudafiqRiyan - Membuat Installer Dari Java Desktop
 
Jquery ppt
Jquery pptJquery ppt
Jquery ppt
 
Modul pelatihan-django-dasar-possupi-v1
Modul pelatihan-django-dasar-possupi-v1Modul pelatihan-django-dasar-possupi-v1
Modul pelatihan-django-dasar-possupi-v1
 
Tutorial JSON-LD dan RabbitMQ di Java
Tutorial JSON-LD dan RabbitMQ di JavaTutorial JSON-LD dan RabbitMQ di Java
Tutorial JSON-LD dan RabbitMQ di Java
 
Membuat aplikasi-java-web-enterprise-sederhana
Membuat aplikasi-java-web-enterprise-sederhanaMembuat aplikasi-java-web-enterprise-sederhana
Membuat aplikasi-java-web-enterprise-sederhana
 
Maya surya
Maya suryaMaya surya
Maya surya
 
Ppt pengenalan jquery
Ppt pengenalan jqueryPpt pengenalan jquery
Ppt pengenalan jquery
 
Membuat mvc framework sederhana dengan php
Membuat mvc framework sederhana dengan phpMembuat mvc framework sederhana dengan php
Membuat mvc framework sederhana dengan php
 
Materi ii dasar dasar netbeans
Materi ii dasar dasar netbeansMateri ii dasar dasar netbeans
Materi ii dasar dasar netbeans
 

Destacado

Membangun aplikasi java restful web service menggunakan spring web mvc
Membangun aplikasi java restful web service menggunakan spring web mvcMembangun aplikasi java restful web service menggunakan spring web mvc
Membangun aplikasi java restful web service menggunakan spring web mvcEko Kurniawan Khannedy
 
Sample jasper report (design with IReport & code sample)
Sample jasper report (design with IReport & code sample)Sample jasper report (design with IReport & code sample)
Sample jasper report (design with IReport & code sample)muhammad arif nasution
 
Tutorial Hello World Web Services with Apache CXF
Tutorial Hello World Web Services with Apache CXFTutorial Hello World Web Services with Apache CXF
Tutorial Hello World Web Services with Apache CXFmuhammad arif nasution
 
Tutorial windows service with java (procrun)
Tutorial windows service with java (procrun)Tutorial windows service with java (procrun)
Tutorial windows service with java (procrun)muhammad arif nasution
 
Jdbc
JdbcJdbc
JdbcJogal
 
Menjaga Validasi tanggal dengan Jcalendar pada java
Menjaga Validasi tanggal dengan Jcalendar pada javaMenjaga Validasi tanggal dengan Jcalendar pada java
Menjaga Validasi tanggal dengan Jcalendar pada javaAgung Sulistyanto
 
Pengantar javabeans
Pengantar javabeansPengantar javabeans
Pengantar javabeansJogal
 
Kalkulator berat badan ideal
Kalkulator berat badan idealKalkulator berat badan ideal
Kalkulator berat badan idealjorghy_saputra
 
Android Fundamental
Android FundamentalAndroid Fundamental
Android FundamentalArif Huda
 
Temperature conventer pemrograman mobile rolan danang wijaya_i dewa g asmara ...
Temperature conventer pemrograman mobile rolan danang wijaya_i dewa g asmara ...Temperature conventer pemrograman mobile rolan danang wijaya_i dewa g asmara ...
Temperature conventer pemrograman mobile rolan danang wijaya_i dewa g asmara ...Roland Danang Wijaya
 
Membangun aplikasi client server dengan java
Membangun aplikasi client server dengan javaMembangun aplikasi client server dengan java
Membangun aplikasi client server dengan javaEko Kurniawan Khannedy
 
Desain dan Perancangan Aplikasi Menghitung Volume Bangun Ruang Berbasis Andr...
Desain dan Perancangan Aplikasi Menghitung Volume  Bangun Ruang Berbasis Andr...Desain dan Perancangan Aplikasi Menghitung Volume  Bangun Ruang Berbasis Andr...
Desain dan Perancangan Aplikasi Menghitung Volume Bangun Ruang Berbasis Andr...Lalu_wijaya
 
Android to TIZEN conversion service
Android to TIZEN conversion serviceAndroid to TIZEN conversion service
Android to TIZEN conversion serviceHyeokgon Ryu
 
Panduan Dasar Pemrograman Tizen
Panduan Dasar Pemrograman TizenPanduan Dasar Pemrograman Tizen
Panduan Dasar Pemrograman TizenRyo Jin
 
Membangun aplikasi java restful web service [bagian 2] menggunakan hibernate
Membangun aplikasi java restful web service [bagian 2] menggunakan hibernateMembangun aplikasi java restful web service [bagian 2] menggunakan hibernate
Membangun aplikasi java restful web service [bagian 2] menggunakan hibernateEko Kurniawan Khannedy
 
Ppt java
Ppt javaPpt java
Ppt javamutianb
 

Destacado (20)

Membangun aplikasi java restful web service menggunakan spring web mvc
Membangun aplikasi java restful web service menggunakan spring web mvcMembangun aplikasi java restful web service menggunakan spring web mvc
Membangun aplikasi java restful web service menggunakan spring web mvc
 
Sample jasper report (design with IReport & code sample)
Sample jasper report (design with IReport & code sample)Sample jasper report (design with IReport & code sample)
Sample jasper report (design with IReport & code sample)
 
Tutorial Hello World Web Services with Apache CXF
Tutorial Hello World Web Services with Apache CXFTutorial Hello World Web Services with Apache CXF
Tutorial Hello World Web Services with Apache CXF
 
Tutorial java & mysql
Tutorial java & mysqlTutorial java & mysql
Tutorial java & mysql
 
Tutorial text database (hsqldb)
Tutorial text database (hsqldb)Tutorial text database (hsqldb)
Tutorial text database (hsqldb)
 
Concordion java
Concordion javaConcordion java
Concordion java
 
Tutorial windows service with java (procrun)
Tutorial windows service with java (procrun)Tutorial windows service with java (procrun)
Tutorial windows service with java (procrun)
 
Jdbc
JdbcJdbc
Jdbc
 
Menjaga Validasi tanggal dengan Jcalendar pada java
Menjaga Validasi tanggal dengan Jcalendar pada javaMenjaga Validasi tanggal dengan Jcalendar pada java
Menjaga Validasi tanggal dengan Jcalendar pada java
 
Pengantar javabeans
Pengantar javabeansPengantar javabeans
Pengantar javabeans
 
Panduan moodle
Panduan moodlePanduan moodle
Panduan moodle
 
Kalkulator berat badan ideal
Kalkulator berat badan idealKalkulator berat badan ideal
Kalkulator berat badan ideal
 
Android Fundamental
Android FundamentalAndroid Fundamental
Android Fundamental
 
Temperature conventer pemrograman mobile rolan danang wijaya_i dewa g asmara ...
Temperature conventer pemrograman mobile rolan danang wijaya_i dewa g asmara ...Temperature conventer pemrograman mobile rolan danang wijaya_i dewa g asmara ...
Temperature conventer pemrograman mobile rolan danang wijaya_i dewa g asmara ...
 
Membangun aplikasi client server dengan java
Membangun aplikasi client server dengan javaMembangun aplikasi client server dengan java
Membangun aplikasi client server dengan java
 
Desain dan Perancangan Aplikasi Menghitung Volume Bangun Ruang Berbasis Andr...
Desain dan Perancangan Aplikasi Menghitung Volume  Bangun Ruang Berbasis Andr...Desain dan Perancangan Aplikasi Menghitung Volume  Bangun Ruang Berbasis Andr...
Desain dan Perancangan Aplikasi Menghitung Volume Bangun Ruang Berbasis Andr...
 
Android to TIZEN conversion service
Android to TIZEN conversion serviceAndroid to TIZEN conversion service
Android to TIZEN conversion service
 
Panduan Dasar Pemrograman Tizen
Panduan Dasar Pemrograman TizenPanduan Dasar Pemrograman Tizen
Panduan Dasar Pemrograman Tizen
 
Membangun aplikasi java restful web service [bagian 2] menggunakan hibernate
Membangun aplikasi java restful web service [bagian 2] menggunakan hibernateMembangun aplikasi java restful web service [bagian 2] menggunakan hibernate
Membangun aplikasi java restful web service [bagian 2] menggunakan hibernate
 
Ppt java
Ppt javaPpt java
Ppt java
 

Similar a Tutorial web service (web & client) with spring web services

Edwinprassetyo-1100631028-tugas1
Edwinprassetyo-1100631028-tugas1Edwinprassetyo-1100631028-tugas1
Edwinprassetyo-1100631028-tugas1Edwin Prassetyo
 
Tugas topik khusus
Tugas topik khususTugas topik khusus
Tugas topik khususwardandha
 
Web Service Menggunakan Axis
Web Service Menggunakan AxisWeb Service Menggunakan Axis
Web Service Menggunakan AxisBart Simpsons
 
Tutorial Form login menggunakan MVC
Tutorial Form login menggunakan MVCTutorial Form login menggunakan MVC
Tutorial Form login menggunakan MVCNadiya Aynun
 
Tutorial ci
Tutorial ciTutorial ci
Tutorial ciWira Hul
 
Pertemuan 11 thread dan asyntask
Pertemuan 11 thread dan asyntaskPertemuan 11 thread dan asyntask
Pertemuan 11 thread dan asyntaskheriakj
 
Java Web Form Pendaftaran - JSP
Java Web Form Pendaftaran - JSPJava Web Form Pendaftaran - JSP
Java Web Form Pendaftaran - JSPDoni Andriansyah
 
Mengamankan Aplikasi Java EE 6
Mengamankan Aplikasi Java EE 6Mengamankan Aplikasi Java EE 6
Mengamankan Aplikasi Java EE 6Bowo Prasetyo
 
Tutorial ReactJs.pptx
Tutorial ReactJs.pptxTutorial ReactJs.pptx
Tutorial ReactJs.pptxAviciena1
 
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVCrizki adam kurniawan
 
Laporan praktikum modul 6 pemrogrman database dengan jdbc
Laporan praktikum modul 6 pemrogrman database dengan jdbcLaporan praktikum modul 6 pemrogrman database dengan jdbc
Laporan praktikum modul 6 pemrogrman database dengan jdbcDevi Apriansyah
 
Tugas yii { sugianto nim: 1210651184 }
Tugas yii { sugianto nim: 1210651184 }Tugas yii { sugianto nim: 1210651184 }
Tugas yii { sugianto nim: 1210651184 }Sugianto Sugianto
 

Similar a Tutorial web service (web & client) with spring web services (20)

Mari belajar vue js
Mari belajar vue jsMari belajar vue js
Mari belajar vue js
 
Edwinprassetyo-1100631028-tugas1
Edwinprassetyo-1100631028-tugas1Edwinprassetyo-1100631028-tugas1
Edwinprassetyo-1100631028-tugas1
 
Tugas topik khusus
Tugas topik khususTugas topik khusus
Tugas topik khusus
 
Web Service Menggunakan Axis
Web Service Menggunakan AxisWeb Service Menggunakan Axis
Web Service Menggunakan Axis
 
Tutorial Form login menggunakan MVC
Tutorial Form login menggunakan MVCTutorial Form login menggunakan MVC
Tutorial Form login menggunakan MVC
 
Frame work php
Frame work phpFrame work php
Frame work php
 
Tutorial ci
Tutorial ciTutorial ci
Tutorial ci
 
Pertemuan 11 thread dan asyntask
Pertemuan 11 thread dan asyntaskPertemuan 11 thread dan asyntask
Pertemuan 11 thread dan asyntask
 
Tugas ke 1
Tugas ke 1Tugas ke 1
Tugas ke 1
 
Java Web Form Pendaftaran - JSP
Java Web Form Pendaftaran - JSPJava Web Form Pendaftaran - JSP
Java Web Form Pendaftaran - JSP
 
Tutorial spring web app
Tutorial spring web app Tutorial spring web app
Tutorial spring web app
 
Modul mvc part 1
Modul mvc part 1Modul mvc part 1
Modul mvc part 1
 
Mengamankan Aplikasi Java EE 6
Mengamankan Aplikasi Java EE 6Mengamankan Aplikasi Java EE 6
Mengamankan Aplikasi Java EE 6
 
Tugas pbw
Tugas pbwTugas pbw
Tugas pbw
 
Tutorial ReactJs.pptx
Tutorial ReactJs.pptxTutorial ReactJs.pptx
Tutorial ReactJs.pptx
 
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
 
Laporan praktikum modul 6 pemrogrman database dengan jdbc
Laporan praktikum modul 6 pemrogrman database dengan jdbcLaporan praktikum modul 6 pemrogrman database dengan jdbc
Laporan praktikum modul 6 pemrogrman database dengan jdbc
 
Pengertian yii framework
Pengertian yii frameworkPengertian yii framework
Pengertian yii framework
 
Tugas yii
Tugas yiiTugas yii
Tugas yii
 
Tugas yii { sugianto nim: 1210651184 }
Tugas yii { sugianto nim: 1210651184 }Tugas yii { sugianto nim: 1210651184 }
Tugas yii { sugianto nim: 1210651184 }
 

Último

DAFTAR PPPK GURU KABUPATEN PURWOREJO TAHUN 2024
DAFTAR PPPK GURU KABUPATEN PURWOREJO TAHUN 2024DAFTAR PPPK GURU KABUPATEN PURWOREJO TAHUN 2024
DAFTAR PPPK GURU KABUPATEN PURWOREJO TAHUN 2024RoseMia3
 
Kanvas BAGJA prakarsa perubahan Ahyar.pdf
Kanvas BAGJA prakarsa perubahan Ahyar.pdfKanvas BAGJA prakarsa perubahan Ahyar.pdf
Kanvas BAGJA prakarsa perubahan Ahyar.pdfAkhyar33
 
Modul Projek - Batik Ecoprint - Fase B.pdf
Modul Projek  - Batik Ecoprint - Fase B.pdfModul Projek  - Batik Ecoprint - Fase B.pdf
Modul Projek - Batik Ecoprint - Fase B.pdfanitanurhidayah51
 
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxPEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxsukmakarim1998
 
PPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptxPPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptxDEAAYUANGGREANI
 
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...Kanaidi ken
 
Membuat Komik Digital Berisi Kritik Sosial.docx
Membuat Komik Digital Berisi Kritik Sosial.docxMembuat Komik Digital Berisi Kritik Sosial.docx
Membuat Komik Digital Berisi Kritik Sosial.docxNurindahSetyawati1
 
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptxKontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptxssuser50800a
 
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKAKELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKAppgauliananda03
 
Integrasi nasional dalam bingkai bhinneka tunggal ika
Integrasi nasional dalam bingkai bhinneka tunggal ikaIntegrasi nasional dalam bingkai bhinneka tunggal ika
Integrasi nasional dalam bingkai bhinneka tunggal ikaAtiAnggiSupriyati
 
Materi Sosialisasi US 2024 Sekolah Dasar pptx
Materi Sosialisasi US 2024 Sekolah Dasar pptxMateri Sosialisasi US 2024 Sekolah Dasar pptx
Materi Sosialisasi US 2024 Sekolah Dasar pptxSaujiOji
 
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMMAKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMMIGustiBagusGending
 
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfSalinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfWidyastutyCoyy
 
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.pptHAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.pptnabilafarahdiba95
 
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdfAndiCoc
 
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKAMODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKAAndiCoc
 
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SDPPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SDNurainiNuraini25
 
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...pipinafindraputri1
 
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptxPPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptxdpp11tya
 

Último (20)

Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
 
DAFTAR PPPK GURU KABUPATEN PURWOREJO TAHUN 2024
DAFTAR PPPK GURU KABUPATEN PURWOREJO TAHUN 2024DAFTAR PPPK GURU KABUPATEN PURWOREJO TAHUN 2024
DAFTAR PPPK GURU KABUPATEN PURWOREJO TAHUN 2024
 
Kanvas BAGJA prakarsa perubahan Ahyar.pdf
Kanvas BAGJA prakarsa perubahan Ahyar.pdfKanvas BAGJA prakarsa perubahan Ahyar.pdf
Kanvas BAGJA prakarsa perubahan Ahyar.pdf
 
Modul Projek - Batik Ecoprint - Fase B.pdf
Modul Projek  - Batik Ecoprint - Fase B.pdfModul Projek  - Batik Ecoprint - Fase B.pdf
Modul Projek - Batik Ecoprint - Fase B.pdf
 
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxPEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
 
PPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptxPPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptx
 
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
 
Membuat Komik Digital Berisi Kritik Sosial.docx
Membuat Komik Digital Berisi Kritik Sosial.docxMembuat Komik Digital Berisi Kritik Sosial.docx
Membuat Komik Digital Berisi Kritik Sosial.docx
 
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptxKontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
 
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKAKELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
 
Integrasi nasional dalam bingkai bhinneka tunggal ika
Integrasi nasional dalam bingkai bhinneka tunggal ikaIntegrasi nasional dalam bingkai bhinneka tunggal ika
Integrasi nasional dalam bingkai bhinneka tunggal ika
 
Materi Sosialisasi US 2024 Sekolah Dasar pptx
Materi Sosialisasi US 2024 Sekolah Dasar pptxMateri Sosialisasi US 2024 Sekolah Dasar pptx
Materi Sosialisasi US 2024 Sekolah Dasar pptx
 
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMMAKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
 
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfSalinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
 
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.pptHAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
 
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
 
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKAMODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
 
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SDPPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
 
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
 
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptxPPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
PPT PERUBAHAN LINGKUNGAN MATA PELAJARAN BIOLOGI KELAS X.pptx
 

Tutorial web service (web & client) with spring web services

  • 1. Tutorial Web Service (Web & Client) with Spring Web Service arifnasution@ymailcom
  • 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.
  • 6. 7. Klik kanan folder project, pilih “properties”. 8. Pilih java build path, klik add jar.
  • 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.
  • 20. Source Code Web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>TutorialWebService</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <display-name>My Service</display-name> <servlet> <servlet-name>spring-ws</servlet-name> <servlet- class>org.springframework.ws.transport.http.MessageDispatcherServlet</servlet-class> <init-param> <param-name>transformWsdlLocations</param-name> <param-value>true</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>spring-ws</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping> </web-app>
  • 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>
  • 22. Login.xsd <?xml version="1.0" encoding="UTF-8"?> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.springwssample.org/types" xmlns:tns="http://www.springwssample.org/types" elementFormDefault="qualified"> <element name="loginRequest"> <complexType> <sequence> <element name="username" type="string" /> <element name="password" type="string" /> </sequence> </complexType> </element> <element name="loginResponse"> <complexType> <sequence> <element name="message" type="string" /> </sequence> </complexType> </element> </schema>
  • 23. OrderEndPoint.java package sample.springws; import java.io.IOException; import java.util.HashMap; import java.util.Map; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import org.springframework.ws.server.endpoint.annotation.Endpoint; import org.springframework.ws.server.endpoint.annotation.PayloadRoot; import org.springframework.ws.server.endpoint.annotation.RequestPayload; import org.springframework.ws.server.endpoint.annotation.ResponsePayload; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; @Endpoint public class OrderEndpoint { private static final String NAMESPACE = "http://www.springwssample.org/types"; @PayloadRoot(localPart = "loginRequest", namespace = "http://www.springwssample.org/types") @ResponsePayload public Element loginServiceProcess(@RequestPayload Element request) throws ParserConfigurationException, IOException { // iterasi value xml request ke dalam map Map<String, String> requestValue = new HashMap<>(); NodeList nl = request.getChildNodes(); for (int i=0;i < nl.getLength();i++) { requestValue.put(nl.item(i).getNodeName(), nl.item(i).getTextContent()); } String message = "Failed"; if (requestValue.get("username").equals("arif")) { message = "guntank"; } // membuat response xml Document document = DocumentBuilderFactory.newInstance() .newDocumentBuilder().newDocument(); Element response = document.createElementNS(NAMESPACE, "loginResponse"); response.appendChild(addElementWithValue(document, "message", message)); return response; } private Element addElementWithValue(Document document, String element, String value) { Element child = document.createElementNS(NAMESPACE, element); child.appendChild(document.createTextNode(value)); return child; } }
  • 24. SampleClient.java package sample.springws; import java.io.IOException; import java.io.StringReader; import java.io.StringWriter; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; import org.springframework.oxm.XmlMappingException; import org.springframework.ws.client.core.WebServiceTemplate; public class SampleClient { public static void main(String[] args) throws XmlMappingException, IOException { String SAMPLE_MESSAGE_1 = "<loginRequest xmlns="http://www.springwssample.org/types">" + "<username>arif</username>" + "<password>password</password>" + "</loginRequest>"; StreamSource source = new StreamSource(new StringReader(SAMPLE_MESSAGE_1)); StringWriter strwr = new StringWriter(); StreamResult result = new StreamResult(strwr); WebServiceTemplate webServiceTemplate = new WebServiceTemplate(); webServiceTemplate.sendSourceAndReceiveToResult("http://localhost:8080/TutorialWebService /loginservices", source, result); System.out.println("response for first message : " + strwr); String SAMPLE_MESSAGE_2 = "<loginRequest xmlns="http://www.springwssample.org/types">" + "<username>other</username>" + "<password>password</password>" + "</loginRequest>"; source = new StreamSource(new StringReader(SAMPLE_MESSAGE_2)); strwr = new StringWriter(); result = new StreamResult(strwr); webServiceTemplate.sendSourceAndReceiveToResult("http://localhost:8080/TutorialWebService /loginservices", source, result); System.out.println("response for second message : " + strwr); } }