Chủ Nhật, 14 tháng 8, 2016

Tạo web services đơn giản dùng Axis2 trên Eclipse

Tạo web services đơn giản dùng Axis2 trên Eclipse

Tác giả: Nguyễn Anh Khoa

Mục đích: Trong phần này, chúng ta sẽ tạo 1 web service cộng trừ 2 số thập phân dùng Axis2 trong Eclipse và consume Service với mô hình MVC sử dụng JSP và Servlet trong Eclipse.

 

1. Tạo Application cộng trừ hai số:

*Tạo Java Project:

Chọn File -> New -> Project

Đặt tên cho project là Calculator

Click Finish.

Tạo class để implement cộng trừ hai số.

Chọn File -> New -> Class

Đặt tên cho class và package.

Click Finish.

Tạo 2 phương thức là add() và substract như hình vẽ bên dưới.


Đến đây đã hoàn thành việc tạo application cho Web Service.

2. Tạo Web Service:

Chọn  File -> New -> Other -> Web Services -> Web Service

Web Service type : chọn Bottom-up Java bean Web Service.

Bottom-up Web Service: Tạo implementation trước rồi tool sẽ tạo file WSDL cho mình.

Service Implementation: click Browse và gõ vào tên class dùng cho Web Service.

Chọn đúng tên class với package name. Ở đây là Calculator và tên package là sample.service.

Click OK.

Configuration:

Nếu Web service runtime là Apache Axis thì click vào và chọn lại là Apache Axis 2

Service Project: Tên của project chứa Web Service.

Click vào để đổi tên Project và kiểu là Dynamic Web Project.

Tên project không cần phải là Project đang có và bạn nên gõ tên Project mới chỉ để chứa các Web Service, lát nữa tool sẽ tự tạo Project cho mình. Ở đây tên Project là MyServices

Click OK.

Click Next.

 

Check Generate a default web services.xml file. Click Next

Click Start server. Nếu server của bạn đã start thì sẽ không co bước này.

Sau khi click đợi thông báo Currently the server is started xuất hiện rồi mới click Next.

Click Finish

Trong cửa sổ Project Explorer có project MyServices vừa được tạo.

Trong Web content ta có thể thấy tool đã add Axis vào project.

Chọn Run -> Build Project. Tool thường để chế độ mặc định là Automatically Build và bạn nên tắt chế độ này đi.

Run Project.



Click Finish



Kết quả trong web browser như sau:


Web Service được deploy

Bạn có thể tùy chỉnh Web Browser nào sẽ khởi động khi run Project như sau:

Click vào Services bạn sẽ thấy Service Calculator của mình với 2 phương thức Add và Substract.

Click vào Calculator.



Đây là file định nghĩa cho Web Service.

Chúc mừng bạn đến đây bạn đã tạo 1 Web Service thành công với Axis2 và Eclipse.

Copy lại URL và để đâu đó để dùng cho việc consume Web Service.

* Test Web Service:

Bạn có thể test Web Service xem thử Web Service đã thực hiện đúng chức năng bạn đã implement chưa  bằng cách modify lại URL như sau:

 



3. Tạo Web Service Client  để consume Web Service

Chọn File -> New -> Other -> Web Services -> Web Service Client

Click Next.



Paste URL của file WSDL đã copy ở trên vào Service definition

Configuration:

Nếu Server runtimeWeb Service runtime không đúng giá trị như trong hình thì bạn click vào và sửa lại giá tị.

Client Project: tương tự như khi tạo Web Service như trên, ta nên tạo 1 Dynamic Web Project mới để thực hiện bài Demo này. Click vào và đổi lại tên Project: CalculatorService_Consumer. Bạn cũng có thể dùng lại project khác đang có để consume.

Click Next

Click Finish để hoàn thành việc tạo Project cho Web Service consumer.

Project CalculatorService_Consumer được tạo.

Bây giờ chúng ta cần tạo 1 trang JSP và 1 servlet để trực tiếp sử dụng Web Service.

1. Tạo trang JSP

Chọn File -> New -> Other -> Web -> JSP. Click Next

Nhập tên file là home và chọn location cho file là Web Content trong Project CalculatorService_Consumer.

Nhập nội dung cho file home.jsp như hình bên dưới:

2. Tạo Servlet:

Chọn File -> New -> Other -> Web -> Servlet. Click Next

Nhập tên Package và tên Class cho Servlet.

Click Next.

 



Click Next

Click Finish



Mở file Controller.java vừa tạo sửa lại nội dung hàm doGet như sau:



Mở file web.xml trong WebContent\WEB-INF.

Trong tag <welcome-file-list> add thêm dòng này vào:

<welcome-file>home.jsp</welcome-file>

Lưu lại file, build project và run.

Kết quả trên browser như sau:

*Chúc mừng bạn!!!

Bạn đã tạo 1 Web Service dùng Axis2 trong Eclipse và consume thành công!

Không có nhận xét nào:

Đăng nhận xét