TẠO WEBSERVICES VỚI AXIS2 ÁP DỤNG TRÊN KIỂU DỮ LIỆU TRẢ VỀ LÀ KIỀU OBJECT VÀ MẢNG OBJECT. THỰC HIỆN CONSUME AXIS2 WEBSERVICE SỬ DỤNG JAX-WS. TẤT CẢ ĐỀU SỬ DỤNG NETBEANS 6.9.1 KẾT HỢP TOMCAT 6.0.26
Mục đích bài này đòi hỏi chúng ta phải nắm vững các nội dung liên quan đến cài đặt axis2, cách làm webservice đơn giản sử dụng axis2
Bài này mô tả xây dựng ứng dụng website để tìm kiếm tên gần đúng của các account được lưu trữ trên DB. Người dùng đơn giản nhập 1 ký tự bất kỳ và họ sẽ nhận được danh sách thông tin account trên browser (Ở đây, tôi sẽ sử dụng SQL Server 2005)
Cấu trúc của table tên là Register như sau
Tên cột
|
Kiểu dữ liệu
|
Username
|
Varchar(20)
|
Password
|
Varchar(20)
|
Lastname
|
Varchar(50)
|
isAdmin
|
Bit (1 : admin)
|
-
Áp dụng cách tạo Axis2 Webservice trong đơn giản để thực hiện các bước sau
-
Tạo Java Application tên ObjectAxis2
-
Tạo JavaBean hay POJO có tên AccountDTO chứa các property như cấu trúc bảng và thiết lập đầy đủ getter và setter cho object này (lưu ý class cài đặt phải có package - ở đây tôi vẫn lấy tên sample.axis2)
-
Bắt buộc phải có 1 constructor không có tham số (default constructor)
800x600 Normal 0 false false false EN-US X-NONE X-NONE MicrosoftInternetExplorer4
o Tạo Axis2 Webservice tên searchLikeLastname trả về 1 mảng array của object như sau
-
Build, deploy và testing WebServices
-
Lưu ý: dữ liệu object sẽ được convert thành dạng xml (marshalling) để sau này ở phía client – consume sẽ convert lại ban đầu (unmarshalling) để sử dụng. Có chế được hỗ trợ bởi JAXB. Khung đỏ trong hình trên cho thấy điều đó
-
Trên browse, chọn menu File, save as để lưu file này dạng wsdl để sử dụng trong việc chỉnh sửa để tạo ra object ở phía client. NetBeans 6.9.1 có 1 thiếu sót vẫn chưa hoàn chỉnh. Ở đây tôi sẽ lưu file tên ObjectArrayService.wsdl
-
Testing
o Kết thúc bước này chúng ta đã hoàn tất việc tạo Axis2 Webservice với Object
- Tạo Consume Webservice với JAX-WS trên netbeans 6.9.1 với Tomcat, sử dụng mô hình MVC
o Tạo Web Application deploy trên Tomcat – sử dụng JavaEE5.
o Mở tập tin wsdl đã lưu ở trên bằng trình soạn thảo bất kỳ mà có thể chỉnh sửa dễ dàng, tìm kiếm tên class object của chúng ta (ở đây tên là AccountDTO), chỉnh sửa các giá trị của minOccurs từ 0 thành 1 để giúp JAX-WS convert complex type thành loại dữ liệu cụ thể phía client (Nếu vẫn để 0 thì dữ liệu object được convert ở client sẽ là JAXBELement<kiểu dữ liệu> - rất khó để sử dụng)
Trước khi chỉnh sửa
Sau khi chỉnh sửa
o Phát sinh WebService Client, chọn option local file, browse đến tập tin wsdl vừa mới chỉnh sửa, nhập package
o Nhấn Finish và chờ cho hoàn tất việc phát sinh client
o Tạo giao diện để consume
o Tạo controller để xử lý theo MVC
§ Kéo hàm service vào code Controller
§ Lấy kết quả và truyền sang trang show để trình bày kết quả
o Tạo trang show.jsp để trình bày dữ liệu
§ Lưu ý, sử dụng JSTL để trình bày dữ liệu (Add thư viện JSTL 1.1 vào project)
o Build, deploy và testing project
o Chúc mừng bạn đã hoàn tất việc tạo Axis2 Service và sử dụng nó với dạng Object, dạng chuẩn chung để có thể sử dụng liên thông giữa các ngôn ngữ lập trình, công nghệ lập trình và hệ điều hành
o Hẹn gặp lại ở những chủ đề khác, rất mong đóng góp ý kiến