Tải bản đầy đủ (.pdf) (28 trang)

Viết chương trình client sử dụng wsdl từ một web service cho trưoc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.27 MB, 28 trang )



LUẬN VĂN





CẤU HÌNH WEB SERVICE
VÀ ỨNG DỤNG










Tìm hiểu về Web Service

Page 2




I. Tìm hiểu chung 3
1. Giới thiệu 3
a. Định nghĩa 3
b. Đặc điểm 3


c. Ưu và nhược điểm 4
d. Ứng dụng 4
2. Kiến trúc của dịch vụ web 4
a. Mô hình hoạt động 4
b. Kiến trúc của Web service 6
3. Các thành phần 6
a. XML – Extensible markup Language 7
b. WSDL – Web Service Description Language 7
c. UDDI - Universal Description, Discovery, and Integration 10
d. SOAP – Simple Object Access Protocol 10
II. Viết chương trình client sử dụng wsdl từ một web service cho trước 13
1. Yêu cầu 13
2. Thực hiện 13
a. Ngôn ngữ và công cụ sử dụng 13
b. Tìm hiểu sơ bộ về Web service đã cho 13
c. Tạo client 13
III. Chương trình demo một web service đơn giản 18
1. Tạo Service 18
2. Tạo Web Service Client 28




Tìm hiểu về Web Service

Page 3





I. Tìm hiểu chung
1. Giới thiệu
a. Định nghĩa
- Theo định nghĩa của W3C (World Wide Web Consortium),
Web Service là một hệ thống phần mềm được thiết kế để hỗ trợ khả
năng tương tác giữa các ứng dụng trên các máy tính khác nhau thông
qua mạng Internet, giao diện chung và sự gắn kết của nó được mô tả
bằng XML.
- Web services độc lập về ngôn ngữ và độc lập về nền tảng bởi vì nó tách biệt đặc
tả ra khỏi cài đặt.
- Web services dựa trên kiến trúc phân tán trong đó không có bất kỳ dịch vụ xử lý
trung tâm nào và tất cả dạng truyền thông đều sử dụng các giao thức chuẩn.
Các giao thức không có bất kỳ ý nghĩa ngầm định nào bên trong mà phải được
mô tả rõ ràng.
- Web services sử dụng XML, một ngôn ngữ độc lập trong việc biểu diễn dữ liệu,
làm ngôn ngữ trao đổi thông tin. Do đó, các mô hình web service có khả năng
tích hợp phần mềm và đa kết nối khi kết hợp với nhau.
- Các chuẩn Web service mới được hỗ trợ các tính năng như hỗ trợ giao dịch, bảo
mật, …

b. Đặc điểm
- Tính độc lập :Web service độc lập vì nó không đòi hỏi các tiến trình ở phía client
phải đặt ở bất cứ một thành phần nào Ở phía server, yêu cầu để triển khai Web
service chỉ là servlet engine, EJB container hoặc .NET runtime. Khi Web service đã
được triển khai thì phía client có thể sử dụng các dịch vụ mà không cần phải đòi hỏi
phải cài đặt bất cứ một thành phần nào. Trong khi đó với các công nghệ như RMI,
phía client phải cài đặt client stub trước khi có thể truy cập dịch vụ.
- Tự mô tả: Giao diện của Web Service được mô tả thông qua tài liệu WSDL. Tài liệu
WSDL định nghĩa cấu trúc thông điệp trao đổi và cấu trúc dữ liệu sử dụng trong
thông điệp đó. Để sử dụng dịch vụ, client chỉ cần biết cấu trúc và nội dung của thông

điệp và đáp ứng của Web service.
- Truy cập thông qua Web: Web service sử dụng giao thức chuẩn của web. Mô tả
dịch vụ được đưa ra bằng cách sử dụng WSDL , các dịch vụ được xác định với sự
giúp đỡ của UDDI registry và triệu gọi thông qua SOAP. Tất cả những giao thức này
đều dựa trên web.
- Đôc lập về ngôn ngữ, nền tảng, giao thức: Web service có cơ sở là tiêu chuẩn mở
XML. Một client được viết bằng bất cứ ngôn ngữ nào cũng có thể truy cập một trang
Web service được viết bằng bất cứ ngôn ngữ nào khác. Web service độc lập nền
tảng , client và web service có thể chạy trên hai nền tảng độc lập khác nhau.
- Dựa trên chuẩn mở: Những chuẩn này là XML, SOAP, WSDL, và UDDI.
Tìm hiểu về Web Service

Page 4

-Web service cho phép client và server tương tác với nhau mặc dù trong những môi
trường khác nhau.
- Web service rất linh động: với UDDI và WSDL thì việc mô tả và phát triển web
service có thể được tự động hóa.
- Web service có dạng modun.
- Web service có thể công bố và gọi thực hiện qua mạng.
c. Ưu và nhược điểm
 Ưu điểm
- Có thể tái sử dụng, dễ bảo trì.
- Linh hoạt, dễ mở rộng.
- Cài đặt dễ dàng.
- Bảo mật cao.
- Chi phí thấp, hiệu quả cao.
- Tính ổn định, chịu lỗi cao
 Nhược điểm
- Dữ liệu truyền nhiều.

- Không hỗ trợ kết nối thời gian dài.
- Không hỗ trợ kết nối duy trì trạng thái (stateless).

d. Ứng dụng
Ngày nay Web service được sử dụng rất nhiều trong những lĩnh vực khác nhau của
cuộc sống như:
- Dịch vụ chọn lọc và phân loại tin tức (hệ thống thư viện có kết nối đến web portal
để tìm kiếm các thông tin cần thiết)
- Các ứng dụng dịch vụ du lịch ( cung cấp giá vé, thông tin về địa điểm…)
- Các đại lý bán hàng qua mạng, thông tin thương mại như giá cả, đấu giá qua
mạng…
- Dịch vụ giao dịch trực tuyến như đặt vé máy bay, đặt khách sạn, thông tin thuê
xe…

2. Kiến trúc của dịch vụ web

a. Mô hình hoạt động


Tìm hiểu về Web Service

Page 5


Hình 1: Mô hình Web service
- Mô hình Web service đơn giản định nghĩa cách thức tương tác giữa Service
Requestor (bên sử dụng dịch vụ), Service Provider (bên cung cấp dịch vụ),
Service Directory UDDI ( bên trung gian).
- Bên sử dụng dịch vụ tìm kiếm các dịch vụ trong một UDDI Service Directory.
Chúng sẽ lấy thông tin mô tả WSDL của các Web service cung cấp bởi Service

Providers từ trước thông qua Service Directory. Sauk hi lấy được mô tả WSDL,
bên yêu cầu dịch vụ kết nối đến nhà cung cấp dịch vụ bằng cách triệu gọi các
dịch vụ thông qua giao thức SOAP.
- Một số cơ chế tương tác giữa các thành phần này:
 Service : là cơ chế cho phép client xác đinh và triệu gọi các dịch vụ từ xa
thông qua mạng mà không phụ thuộc vào vị trí địa lí, hệ điều hành sử dụng
hay ngôn ngữ lập trình sử dụng.
 Message: là phương tiện giao tiếp giao tiếp giữa bên cung cấp dịch vụ và
bên sử dụng dịch vụ . Một message có thể là một yêu cầu từ bên sử dụng
dịch vụ gửi đến bên cung cấp dich vụ hay là phản hồi từ bên cung cấp dịch
vụ về cho bên sử dụng dịch vụ. Các message này được định nghĩa bằng
ngôn ngữ đánh dấu độc lập nền tảng là XML.
 Dynamic discovery: là cơ chế được cài đặt dựa trên directory service. Về
phía bên cung cấp, chúng sẽ sử dụng direcrtory service để tự đăng kí những
dịch vụ mà chúng cung cấp. Còn về phía sử dụng, chúng sẽ truy vấn để tìm
ra các dịch vụ theo nhu cầu từ directory service thông qua mạng. Điều này
làm giảm sự lệ thuộc của bên sử dụng dịch vụ vào bên cung cấp dịch vụ.
 Publish: để có thể truy cập được thì một web service cần phải được công bố
(mô tả) để các Service Request có thể tìm thấy nó. Việc công bố có thể khác
nhau tùy thuộc vào từng ứng dụng cụ thể. Nhưng thông thường, một mô tả
dịch vụ (service description) bao gồm các thông tin sau: các interface, các
kiểu dữ liệu, các toán tử, các thông tin kết nối, vị trí của dịch vụ có thể truy
cập được trên mạng…
 Find: trong thao tác tìm kiếm Service request sẽ lấy mô tả về dịch vụ đang
được yêu cầu một cách trực tiếp hoặc thông qua Service Provider. Thao tác
tìm kiếm này có thể diễn ra trong hai vòng: thiết kế xây dựng (lập trình viên
Tìm hiểu về Web Service

Page 6


cần biết mô tả, interface của dịch vụ) và thực thi (xác định vị trí và tiến hành
triệu gọi dịch vụ).
 Bind: để sử dụng được dịch vụ thì cần phải triệu gọi nó. Trong thao tác bind,
Service Request khi thực thi sẽ gọi hoặc khởi tạo một luồng tương tác với
dịch vụ dựa trên các thông tin trong mô tả dịch vụ mà nó thu được trước đó
như: vị trí dịch vụ, các liên lạc và tương tác với dịch vụ …




b. Kiến trúc của Web service



Hình 2: Kiến trúc web service

Kiến trúc của Web service bao gồm các tầng sau:
- Tầng vận chuyển với những công nghệ chuẩn như: HTTP, SMTP
- Tầng giao thức tương tác dịch vụ (Service Communication Protocol) với công
nghệ chuẩn là SOAP. SOAP là giao thức nằm giữa tầng vận chuyển và tầng mô
tả thông tin về dịch vụ, SOAP cho phép người dùng triệu gọi một service từ xa
thông qua một message XML.
- Tầng mô tả dịch vụ (Service Description) với công nghệ chuẩn là WSDL và XML.
WSDL là một ngôn ngữ mô tả giao tiếp và thực thi dựa trên XML. Web service
sử dụng ngôn ngữ WSDL để truyền các tham số và các loại dữ liệu cho các thao
tác, các chức năng mà web service cung cấp.
- Tầng dịch vụ (Service): cung cấp các chức năng của service.
- Tầng đăng ký dịch vụ (Service Registry): với công nghệ chuẩn là UDDI. UDDI
dùng cho cả người dùng và SOAP server, nó cho phép đăng ký dịch vụ để người
dùng có thể gọi thực hiện service từ xa qua mạng hay nói cách khác một service

cần phải được đăng ký để cho phép các client có thể gọi thực hiện.
- Bên cạnh đó còn có thêm các tầng Policy, Security, Transcaction, Management
giúp tăng cường tính bảo mật, an toàn và toàn vẹn thông tin khi sử dụng service.

3. Các thành phần
Tìm hiểu về Web Service

Page 7


a. XML – Extensible markup Language
- XML do W3C đề ra và được phát triển từ SGML. XML là một ngôn ngữ mô tả
văn bản với cấu trúc do người sử dụng định nghĩa. Về hình thức XML có ký pháp
tựa HTML nhưng không tuân theo một đặc tả quy ước như HTML. Người sử
dụng hay các chương trình có thể quy ước định dạng các tag XML để giao tiếp
với nhau. Thông tin cần truyền tai được chứa trong các tag XML, ngoài ra không
chứa bất cứ thông tin nào khác về cách sử dụng hay hiển thị những thông tin ấy.
- Do web service là sự kết hợp của nhiều thành phần khác nhau, do đó web
service sử dụng các tính năng và đặc trưng của các thành phần này để giao tiếp
với nhau. Vì vậy XML là một công cụ chính yếu để giải quyết vấn đề này. Từ kết
quả này, các ứng dụng tích hợp vĩ mô tăng cường sử dụng XML. Nhờ có khả
năng tổng hợp này mà XML đã trở thành kiến trúc nền tảng cho việc xây dựng
web service.
- Web service tận dụng khả năng giải quyết vấn đề của các ứng dụng lớn trên các
hệ điều hành khác nhau cho chúng giao tiếp với nhau.

b. WSDL – Web Service Description Language
- WSDL định nghĩa một tài liệu XML mô tả giao diện của các dịch vụ web. Nó cung
cấp một cách thức chuẩn mô tả các kiểu dữ liệu được truyền trong các thông
điệp thông qua Web service, các hoạt động được thực hiện thông qua các thông

điệp và ánh xạ các hoạt động này đến giao thức vận chuyển.
- Tài liệu WSDL được sử dụng cho bên yêu cầu dịch vụ (service requester). Bên
yêu cầu dịch vụ sẽ sử dụng các thông tin về giao diện định nghĩa trong lược đồ
WSDL để invoke dịch vụ web.
- Phần tử gốc của tất cả các tài liệu WSDL luôn là phần tử <definitions>. Nó chứa
bên trong sau thành phần chia làm hai nhóm: thông tin trừu tượng và thông tin cụ
thể
 Thông tin trừu tượng: types, messages, portType.
 Thông tin cụ thể: bindings, services, port


Tìm hiểu về Web Service

Page 8


Hình 3: Cấu trúc WSDL

- WSDL định nghĩa các mô tả web service theo cú pháp tổng quát XML, bao gồm
các thông tin:
 Tên service
 Giao thức và kiểu mã hóa sẽ được sử dụng khi gọi các hàm của web
service
 Loại thông tin: những thao tác , tham số và những kiểu dữ liệu gồm có
giao diện của web service cộng với tên cho giao diện này.

- Một tài liệu WSDL hợp lệ sẽ gồm hai phần:
 Phần giao diện mô tả giao diện và giao thức kết nối.
 Phần thi hành mô tả thông tin để truy xuất service.
- Cả 2 phần trên được lưu trong 2 tập tin XML bao gồm: tập tin giao diện service

(cho phần 1) và tập tin thi hành service ( cho phần 2).


Hình 4: Cấu trúc WSDL

Tìm hiểu về Web Service

Page 9

- Tập tin giao diện – Service Interface: Mô tả 5 loại thông tin chính bao gồm: import,
types,message, portType, binding
 Types: WSDL định nghĩa các kiểu dữ liệu của thông điệp gửi
<definitions…>
<types>
<xsd: chema…/>*
</type>
</definitions>

 Message: Mô tả thông điệp được gửi giữa client và server
<definitions…>
<message name= « nmtoken »> *
<part name= « nmtoken » element= « qname » ? type= « qname » ? />*
</message>
</definitions…>

Những định nhĩa message được sử dụng bởi phần tử thi hành service.
Nhiều thao tác có thể tham chiếu tới cùng định nghĩa message.
Thao tác và những message được mô hình riêng rẽ để hỗ trợ tính linh
hoạt và đơn giản hóa việc tái sử dụng lại.


 Port Type : Mô tả cách gửi và nhận thông điệp
<wsdl : definitions …>
<wsdl : portType name= « nmtoken »>
<wsdl: operation name=”nmtoken” …/>*
</wsdl: portType>
</wsdl: definitions>
WSDL định nghĩa bốn kiểu thao tác mà một cổng có thể hỗ trợ:
+ One-way: Cổng nhận một message, message đó là message nhập.
+ Request-response: Cổng nhận một message và gửi một message phản
hồi.
+ Solicit-response: Cổng gửi một message và nhận một message.
+Notification : Cổng gửi một message, message đó là message xuất.
Mỗi kiểu thao tác có cú pháp biến đổi tùy theo : thứ tự của các message
nhận, xuất và lỗi

 Binding : định nghĩa cách các web services kết hợp với nhau
Một kết hợp bao gồm :
+Những giao thức mở rộng cho những giao tác và những message bao
gồm thông tin URN và mã hóa cho SOAP.
+Mỗi một kết hợp tham chiếu đến một loại cổng, một kiểu cổng (portType)
có thể sử dụng trong nhiều mối kết hợp. Tất cả các thao tác định nghĩa
bên trong kiểu cổng phải nằm trong phạm vi mối kết hợp.
- Tập tin thi hành- Service Implementation : Mô tả 2 loại thông tin chính bao gồm
service và port.
 Service : Nó sẽ thực hiện những gì đã được định nghĩa trong tập tin giao
diện và cách gọi web services theo thủ tục và phương thức nào.
<wsdl :definitions …>
Tìm hiểu về Web Service

Page 10


<wsdl : service name= « nmtoken »>*
<wsdl: port …/>
</wsdl: service>
</wsdl: definitions>
 Port : là một cổng đầu cuối, nó định nghĩa như một tập hợp của binding
và một địa chỉ mạng
<wsdl :definitions …>
<wsdl :service …>*
<wsdl : port name= « nmtoken » binding= « qname »>*
</wsdl: port>
</wsdl: service>
</wsdl: definition>

c. UDDI - Universal Description, Discovery, and Integration
- UDDI về cơ bản là một tập các quy tắc đăng ký là tìm kiếm thông tin các Web
service. Nó đóng vai trò như service broker cho phép người sử dụng dịch vụ tìm
đúng nhà cung cấp dịch vụ cần tìm.
- Một UDDI gồm có 2 phần:
 Phần đăng ký: của tất cả các Web service’s metadata, bao gồm cả việc
trỏ đến tài liệu WSDL mô tả dịch vụ.
 Phần thiết lập WSDL Port type: định nghĩa cho các thao tác và tìm kiếm
thông tin đăng ký.
- Cấu trúc UDDI:
 Trang trắng (White pages): chứa thông tin liên hệ va các định dạng chính
yếu của dịch vụ Web như tên giao dịch, địa chỉ…Những thông tin này cho
phép các đối tượng khác xác định được dịch vụ.
 Trang vàng (Yellow pages): chứa thông tin mô tả dịch vụ Web theo
những loại khác nhau. Những thông tin này cho phép các đối tượng thấy
được dịch vụ Web theo từng loại với nó.

 Trang xanh (Green pages): chứa thông tin kỹ thuật mô tả các hành vi và
các chức năng của dịch vụ Web.
 Loại dịch vụ (tModel): chứa các thông tin về loại dịch vụ được sử dụng.

d. SOAP – Simple Object Access Protocol
- Để có thể truy xuất các dịch vụ Web ta phải truy xuất đến UDDI registry bằng các
lệnh gọi hoàn toàn theo định dạng của SOAP.
- SOAP là một giao thức giao tiếp có cấu trúc như XML và mã hóa thành định
dạng chung cho các ứng dụng trao đổi với nhau. SOAP được xem như là cấu
trúc xương sống của các ứng dụng phân tán xây dựng từ nhiều ngôn ngữ, hệ
điều hành khác nhau. Phiên bản mới nhất của SOAP là 1.2.
- Những đặc trưng của SOAP:
 SOAP được thiết kế đơn giản và dễ mở rộng.
 Tất cả các message SOAP đều được mã hóa sử dụng XML.
 SOAP sử dụng giao thức truyền dữ liệu riêng.
 SOAP không bị ràng buộc bởi bất kỳ ngôn ngữ lập trình hoặc công nghệ
nào.
- Cấu trúc của một message theo dạng SOAP:
Tìm hiểu về Web Service

Page 11

 Phần tử gốc (envelop): phần tử bao trùm nội dung thông điệp, khai báo
văn bản XML như là một thông điệp SOAP.
 Phần tử đầu trang (header): chứa các thông tin tiêu đề cho trang, phần tử
này không bắt buộc khai báo trong văn bản. Header còn có thể mang
những dữ liệu chứng thực, những chữ ký số, thông tin mã hóa hay cài đặt
cho các giao dịch khác.
 Phần tử khai báo nội dung chính trong thông điệp (body): chứa các thông
tin yêu cầu và thông tin được phản hồi.

 Phần tử đưa các thông tin về lỗi (fault): cung cấp các thông tin lỗi xẩy ra
trong quá trình xử lý thông điệp.

Hình 5: Cấu trúc message SOAP

- Một SOAP đơn giản trong body sẽ lưu các thông tin về tên message, tham chiếu
tới một thể hiện của dịch vụ, một hoặc nhiều tham số. Có 3 kiểu thông báo sẽ
được đưa ra khi truyền thông tin: request message (tham số gọi thực thi một
thông điệp), respond message (tham số trả về, được sử dụng khi yêu cầu được
đáp ứng) và fault message (thông báo tình trạng lỗi).
- Những kiểu truyền thông trong SOAP:
 Remote procedure call (RPC): cho phép gọi hàm hoặc thủ tục mạng. Kiểu
này được khai thác bởi nhiều dịch vụ Web.
Tìm hiểu về Web Service

Page 12

 Document: nó cung cấp giao tiếp ở mức trừu tượng thấp, khó hiểu và yêu
cầu lập trình viên mất công sức hơn
- Hai kiểu truyền thông này cung cấp các định dạng thông điệp, tham số, lời gọi
đến các API khác nhau nên việc sử dụng chúng tùy thuộc vào thời gian và sự
phù hợp với các dịch vụ Web cần xây dựng.
- Cấu trúc dữ liệu: Cung cấp những định dạng và khái niệm cơ bản giống như
trong các ngôn ngữ lập trình khác như kiểu dữ liệu (int, string, date ) hay những
kiểu phức tạp hơn như struct, array, vector…Định nghĩa cấu trúc dữ liệu SOAP
được đặt trong namespace SOAP-ENC.
- Mã hóa: Giả sử service requester và service provider được phát triển trong Java,
khi đó mã hóa SOAP là làm thế nào để chuyển đổi từ cấu trúc dữ liệu Java sang
SOAP XML và ngược lại, bởi vì định dạng cho Web service chính là XML. Bất kỳ
một môi trường thực thi SOAP nào cũng phải có một bảng chứa thông tin ánh xạ

nhằm chuyển đổi từ ngôn ngữ Java sang XML và từ XML sang Java- bảng đó
được gọi là SOAPMappingRegistry. Nếu một kiểu dữ liệu được sử dụng dưới
một dạng mã hóa thì sẽ có một ánh xạ tồn tại trong bộ đăng ký của môi trường
thực thi SOAP đó.



4. Ví dụ




















Tìm hiểu về Web Service


Page 13








II. Viết chương trình client sử dụng wsdl từ một
web service cho trước
1. Yêu cầu
- Viết 1 chương trình client lấy thông tin từ một web service cho trước cụ thể là lấy
thông tin từ National Weather Service (

2. Thực hiện
a. Ngôn ngữ và công cụ sử dụng
- Ngôn ngữ lập trình được sử dụng là Java
- Công cụ để viết chương trình là Eclipse với sự hỗ trợ của Apache Axis

b. Tìm hiểu sơ bộ về Web service đã cho
- National Digital Forecast Database (NDFD) Extensible Markup Language (XML)
là một Service cung cấp cho người dùng dữ liệu về National Weather Service’s
(NWS) dưới dạng XML.
- Web service này sử dụng giao thức SOAP.
- Web service này cung cấp một tài liệu WSDL để mô tả nó, ta có thể lấy tài liệu
này trong:
- Web service này cung cấp 12 chức năng bao gồm : NDFDgen,
NDFDgenLatLonList, NDFDgenByDay, NDFDgenByDayLatLonList,
LatLonListSubgrid, LatLonListLine, LatLonListZipCode, CornerPoints,

LatLonListSquare, GmlLatLonList, GmlTimeSeries, and
LatLonListCityNames. Cụ thể hơn về các chức năng này ta có thể tìm trong:
. Ngoài ra ta
cũng có thể test các chức năng này trong trang:

- Ngoài công nghệ SOAP, service này còn khai thác XML (NDFD XML) để người
dùng có thể tích hợp NDFD data vào trong các ứng dụng của họ. Ngôn ngữ
NDFD XML sử dụng được gọi là Digital Weather Markup Language (DWML)
được mô tả trong



c. Tạo client
- Trước tiên ta cần phải invoke service từ tài liệu WSDL.
 Tạo một Java Project có tên là NDFD.
Tìm hiểu về Web Service

Page 14

 Click File > New > Other. Chọn Web Services > Web Service Client.
Sau đó click Next


Hình 6:Tạo Web Service Client

- Trong khung Web Service Client :
 Điền URI của WSDL trong Service definition :
hoặc
Browse file WSDL để tạo ra client
 Chọn loại proxy được tạo ra trong Client type

 Chọn các giai đoạn của Web Service:
+ Develop: phát triển các định nghĩa và thực hiện từ WSDL của Web
service. Điều này bao gồm các yêu cầu như tạo ra các modun chứa các
mã được tạo ra và các file Java cũng như sao chép các Axis JARs…
+ Assemble:
+ Deploy: tạo ra các mã triển khai cho dịch vụ
+ Install: cài đặt và cấu hình các modun Web và EARs trên máy chủ đích
+ Start: bắt đầu các máy chủ khi dịch vụ được cài trên đó. Tập tin server-
config.wsdd sẽ được tạo ra.
+ Test:Cung cấp các tùy chọn khác nhau để thử chọn dịch vụ ví dụ như
sử dụng Web Service Explorer.
 Chọn server, runtime: thông thường thì để mặc định, tuy nhiên vẫn có thể
thay đổi
Tìm hiểu về Web Service

Page 15

 Chọn Project
 Monitor the Web service: gửi lưu lượng truy cập Web service thông
quaTCP/IP Monitor , cho phép theo dõi việc lưu lượng SOAP được tạo ra
bởi Web service và kiểm tra lưu lượng cho WS-I


Hình 7: Tạo Web service client

 Click Finish

- Ta sẽ lấy về được 2 package mô tả Web service từ WSDL trong đó:
 Package: gov.weather.graphical.xml.DWMLgen.schema.DWML_xsd :
chứa các kiểu dữ liệu phức hợp của Web service

 Package: gov.weather.graphical.xml.DWMLgen.wsdl.ndfdXML_wsdl:
chứa các class mô tả hoạt động của Web service

Tìm hiểu về Web Service

Page 16


Hình 8: Package tạo được từ WSDL

- Từ các package đã tạo được, ta sử dụng có 12 phương thức đại diện 12 chức
năng của Service để lấy chuỗi DWML chứa thông tin tùy theo chức năng của
từng hàm.
- Ví dụ : sử dụng function LatLonListSubgrid

public c lass Client {
private static NdfdXML ndfXml;
public static void main(String args[]) throws RemoteException {
lowleftlat = new BigDecimal(35);
BigDecimal lowleftlon = new BigDecimal(-82);
BigDecimal uprightlat = new BigDecimal(35.5);
BigDecimal uprightlon = new BigDecimal(-81.5);
BigDecimal resolution = new BigDecimal(20);
java.lang.String s = (new gov.weather.graphical.
xml.DWMLgen.wsdl.ndfdXML_wsdl.NdfdXMLPortTypeProxy())
.latLonListSubgrid(lowleftlat, lowleftlon, uprightlat,
uprightlon, resolution);
System.out.println(s);
}


}








Tìm hiểu về Web Service

Page 17

- Chuỗi dwml nhận được từ Service là:

<?xml version='1.0'?>
<dwml version='1.0' xmlns:xsd='
xmlns:xsi='
xsi:noNamespaceSchemaLocation=' />schema/DWML.xsd'>
<latLonList>34.986638,-82.027411 35.120891,-82.011661 35.255084,-
81.995872 35.389215,-81.980045 35.523285,-81.964180 34.973669,-81.863528
35.107911,-81.847581 35.242094,-81.831596 35.376216,-81.815571
35.510276,-81.799508 34.960536,-81.699684 35.094768,-81.683540
35.228941,-81.667358 35.363052,-81.651136 35.497102,-81.634876
34.947240,-81.535878 35.081463,-81.519539 35.215625,-81.503160
35.349726,-81.486741 35.483766,-81.470282
</latLonList>
</dwml>















Tìm hiểu về Web Service

Page 18

III. Chương trình demo một web service đơn giản
Demo tạo Web service cộng trừ 2 số sử dụng Axis2 và Eclipse
1. Tạo Service
- Tạo Dynamic Web Service có tên là MathService

Hình 9 : Tạo Dynamic Web Service Project

- Trong Target runtime chọn Apache TomCat v6.0
 Nếu chưa có TomCat v6.0 thì click New Runtime :
Tìm hiểu về Web Service

Page 19



Hình 10: Tạo Dynamic Web Service Project

 Chọn Apache Tomcat v6.0 rồi click Next:
Tìm hiểu về Web Service

Page 20



Hình 11: Server runtime


+ Browse… để chọn đường link dẫn đến thư mục chứa apache Tomcat
hoặc có thể Download and Install
+ Trong JRE chọn jre7
+Sau đó click Finish cho đến hết
- Tạo application cho Web service:
 Tạo class có tên là Calculator

Tìm hiểu về Web Service

Page 21


Hình 12: Application cho Service

 Tạo 2 phương thức add() và sub() trong class Calculator:

Tìm hiểu về Web Service


Page 22



Hình 13: Tạo 2 phương thức



































Tìm hiểu về Web Service

Page 23
























- Tạo Web service
 Chọn New -> Other -> Web Services -> Web Service
Tìm hiểu về Web Service

Page 24


Hình 14: Setup Service

 Web Service type : chọn Bottom-up Java bean 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à math. Click OK.
Tìm hiểu về Web Service

Page 25


Hình 15 : Chọn class

- Trong Configuration: lần lượt chọn Server runtime là Tomcat v6.0 và Web
service runtime là Apache Axis2.
- Click Next sau đó click Start server:

×