Khóa luận Hệ thống quản lý đăng ký thuế sử dụng web service

ĐẠI HỌC QUỐC GIA HÀ NỘI  
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ  
Lê Thu Hồng  
HỆ THỐNG QUẢN LÝ ĐĂNG KÝ THUẾ  
SỬ DỤNG WEB SERVICE  
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY  
Ngành: Công nghệ Thông tin  
HÀ NỘI - 2010  
ĐẠI HỌC QUỐC GIA HÀ NỘI  
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ  
Lê Thu Hồng  
HỆ THỐNG QUẢN LÝ ĐĂNG KÝ THUẾ  
SỬ DỤNG WEB SERVICE  
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY  
Ngành: Công nghệ Thông tin  
Cán bộ hướng dẫn: ThS. Lương Việt Nguyên  
HÀ NỘI - 2010  
LỜI MỞ ĐẦU  
Đề tài khóa luận là: “Hệ thống quản lý đăng ký thuế sử dụng web service”,  
khóa luận sẽ trình bày một cái nhìn tổng quan về công nghệ Web Service bao gồm các  
khái niệm, kiến trúc và hướng dẫn xây dựng một Web Service.  
Khóa luận sẽ phân tích các chuẩn cấu thành nên chồng giao thức của Web  
Service, bao gồm XML (Extensible Markup Language), SOAP (Simple Object  
Access Protocol), WSDL (web service Description Language) và UDDI (Universal  
Description, Discovery and Integration).  
Bên cạnh đó, khóa luận sẽ tìm hiểu về loại ứng dụng sử dụng công nghệ Web  
Service và các biện pháp bảo mật được áp dụng để đảm bảo an toàn cho một dịch vụ  
Web.  
Phần cuối khóa luận sẽ đi vào phân tích, thiết kế, cài đặt thực nghiệm và phát  
triển một ứng dụng cụ thể, đó là hệ thống đăng ký thuế sử dụng Web Service.  
1
 
LỜI CẢM ƠN  
Trước tiên em xin được gửi lời cảm ơn chân thành đến các thầy cô giáo trường  
Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội đã tận tình giảng dạy và truyền đạt  
những kiến thức bổ ích cho chúng em trong suốt bốn năm học tập tại trường. Chúng  
em không chỉ được tiếp thu những kiến thức chuyên ngành mà còn được trang bị  
những phương pháp nghiên cứu và học tập hiệu quả nhất làm hành trang cho chúng em  
tự tin bước vào đời.  
Đặc biệt em xin được bày tỏ lòng biết ơn sâu sắc đến ThS. Lương Việt Nguyên,  
thầy đã tận tình hướng dẫn, chỉ bảo cho em trong suốt thời gian thực hiện khóa luận  
này.  
Em cũng xin gửi lời cảm ơn sâu sắc đến những người luôn bên cạnh cỗ vũ, động  
viên, giúp đỡ em trong quá trình học tập, rèn luyện. Gia đình và bạn bè luôn là chỗ dựa  
tin thần vững chắc, là nguồn động lực mạnh mẽ giúp em vượt qua những khó khăn để  
đạt được kết quả như ngày hôm nay.  
Em xin chân thành cảm ơn.  
Hà Nội, 5/2010  
Sinh viên: Lê Thu Hồng  
2
 
MỤC LỤC  
Chương 2.SỬ DỤNG WEB SERVICE VÀ VẤN ĐỀ AN TOÀN KHI SỬ DỤNG  
3
 
Chương 3.XÂY DỰNG ỨNG DỤNG ĐĂNG KÝ THUẾ THU NHẬP CÁ NHÂN  
4
DANH MỤC VIẾT TẮT  
API  
Application Programming Interface  
Business to Customer  
BMC  
CML  
Chemical Markup Language  
CXML  
DLL  
Commerce eXtensible Markup Language  
Dynamic Link Library  
ENC  
European Nations Championship  
File Transfer Protocol  
FTP  
HTML  
HTTPS  
ISO  
HyperText Markup Language  
Hypertext Transfer Protocol Secure  
Java Message Service  
JMS  
IPSec  
NAICS  
PHP  
Internet Protocol Security  
North American Industry Classification System  
Perl Hypertext Preprocessor  
RPC  
SOAP  
SGML  
SMTP  
SSL  
Simple Object Access Protocol  
Standard Generalized Markup Language  
Simple Mail Transfer Protocol  
Secure Sockets Layer  
S / MIME  
TCP  
Secure / Multipurpose Internet Mail Exchange  
Transmission Control Protocol  
Transport Layer Security  
TLS  
UDDI  
UNSPC  
URN  
Universal Description, Discovery and Integration  
United Nations Standard Product and Services Classification  
Uniform Resource Name  
VPN  
Virtual Private Network  
XHTML  
XML  
eXtensible HyperText Markup Language  
eXtensible Markup Language  
World Wide Web Consortium  
Web Service Description Language  
Web Service Security  
W3C  
WSDL  
WS-Security  
5
 
DANH MỤC HÌNH VẼ  
Hình 1.1 - Kiến trúc Web Service.......................................................................... 9  
Hình 1.2 - Messaging sử dụng SOAP.................................................................. 15  
Hình 1.3 - Cấu trúc của SOAP message .............................................................. 16  
Hình 1.4 - Luồng thông báo UDDI giữa Client và Registry................................ 20  
Hình 1.5 - UDDI làm việc như thế nào................................................................ 20  
Hình 1.6 - Quy trình xây dựng một Web Service................................................ 30  
Hình 2.1 - Mô tả 4 bước quá trình tham gia dịch vụ web................................... 32  
Hình 2.2 - Sơ đồ vận chuyển trung gian trong bảo mật End-to-End ................... 35  
Hình 2.3 - Mô hình an toàn đẩy đủ cho Web Service.......................................... 42  
Hình 3.1 - Sơ đồ phân rã chức năng..................................................................... 44  
Hình 3.2 - Sơ đồ quan hệ các bảng ...................................................................... 46  
6
 
Chương 1. TỔNG QUAN VỀ WEB SERVICE  
1.1. Giới thiệu về Web Service:  
Dịch vụ Web 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 ngôn ngữ XML. Các ứng dụng Web sẽ  
truy vấn CSDL trên máy chủ, sau khi phân tích, đóng gói tài liệu dưới dạng chuẩn hỗ  
trợ trên tất cả mọi trình duyệt (như HTML, XHTML…), tài liệu sẽ gửi trở lại theo yêu  
cầu của máy khách.  
Ngày nay, cùng với sự phát triển mạnh mẽ của khoa học công nghệ và internet,  
các dịch vụ web ngày càng được ứng dụng rộng rãi trong cuộc sống. Công nghệ web  
trở thành một phương tiện mới, nhanh chóng và tiện dụng phục vụ các nhu cầu về  
thông tin liên lạc, trao đổi, quản lý, mua bán…  
Internet đã giúp các doanh nghiệp kinh doanh quảng bá các sản phẩm đến đông  
đảo ngưởi tiêu dùng với chi phí rẻ so với các hình thức quảng cáo khác. Khách hàng  
có thể lựa chọn và mua sắm trực tuyến qua các kênh bán hàng thông mình, bằng cách  
cung cấp các thông tin đăng ký cần thiết theo một form ứng dụng web. Các thông tin  
sẽ được đóng gói, chuyển đi và thực hiện giao dịch giữa khách hàng và doanh nghiệp  
nhanh chóng. Qua các ứng dụng web, doanh nghiệp có thể tiêu thụ sản phẩm, đánh giá  
thị hiếu người dùng và có biện pháp phát triển phù hợp. Phương pháp này đã và đang  
được sử dụng ngày càng phổ biến bởi hàng triệu doanh nghiệp trên thế giới.  
Web cũng tạo ra môi trường thuận tiện cho việc quản lý không chỉ với các đồ vật,  
sản phẩm mà còn với các thông tin liên quan đến đời sống vật chất và xã hội của con  
người. Các dịch vụ web cho phép lưu trữ và truyền tải các dữ liệu nhạy cảm (thông tin  
cá nhân, mã số thẻ tín dụng, mã số thuế…) một cách đơn giản, tiện dụng và an toàn  
trong các hệ thống quản lý thông tin hiện đại, đem đến một phương thức quản lý mới,  
đơn giản hơn cho người sử dụng.  
Có thể thấy rằng, các ứng dụng Web đã có mặt ở khắp mọi nơi trên thế giới.  
Nhưng do sự phức tạp về kỹ thuật nên dịch vụ web chưa được đa số người dùng hiểu  
một các chính xác, dẫn đến những hạn chế trong việc sử dụng các tính năng mà chúng  
mang lại. Khóa luận sẽ cung cấp những thông tin cần thiết để người dùng cái nhìn chi  
tiết hơn về công nghệ này.  
7
   
1.2. Các đặc điểm của Web Service:  
Dịch vụ Web là phần mềm hỗ trợ cho phép các ứng dụng trên máy chủ và máy  
khách có thể tương tác được với nhau thông qua môi trường mạng Internet mà không  
yêu cầu chúng phải chạy cùng một hệ điều hành, cũng như không cần bất cứ yêu cầu  
nào về sự tương thích giữa hai hệ điều hành.  
Công nghệ xây dựng dịch vụ Web không nhất thiết phải là các công nghệ mới mà  
nó có thể kết hợp dựa trên các mã nguồn mở và những công nghệ tiêu chuẩn sẵn có  
như XML, SOAP, WSDL, UDDI… Điều này sẽ làm giảm đáng kể chi phí xây dựng  
và độ phức tạp trong việc tích hợp và phát triển hệ thống; các ứng dụng web sẽ độc lập  
và có thể vận hành được với nhau; có thể tự động hoá quá trình phát triển một ứng  
dụng Web nhờ UDDI và WSDL.  
Dịch vụ Web có thể gồm nhiều mô đun độc lập, mỗi mô đun sẽ thực hiện một  
chức năng của ứng dụng, số lượng mô đun tùy thuộc vào các hoạt động của khách  
hàng và chủ thể, các mô đun này được công khai trên mạng Internet và được thực thi  
trên máy chủ.  
Cùng với sự phát triển của khoa học công nghệ, các ứng dụng web được xây  
dựng ngày càng hoản chỉnh hơn, hệ thống dịch vụ web không chỉ tương tác với các cơ  
sở dữ kiệu và những ứng dụng khác bên trong máy chủ mà còn có khả năng tương tác  
với các đối tượng bên ngoài như cơ sở dữ liệu của các đối tác kinh doanh…; tài liệu  
sau khi đóng gói phải đảm bảo các ứng dụng khác có thể dễ dàng nhìn thấy và truy cập  
đến những dịch vụ mà nó thực hiện và có thể yêu cầu thông tin từ các dịch vụ web  
khác. Như vậy các thông tin có thể tái sử dụng dễ dàng bởi các trình ứng dụng khác  
nhau, ngay cả khi không phải là ứng dụng web mà là những ứng dụng thông thường.  
Ngày nay, chúng ta có thể bắt gặp các ứng dụng sử dụng dịch vụ web ở tất cả  
lĩnh vực trong cuộc sống như: các hệ thống tìm kiếm thông tin trong thư viện; hệ thống  
bán hàng qua mạng; đặt mua vé tàu xe; cập nhật các thông tin về thị trường, tiền tệ…  
Chính vì thế việc phát triển các ứng dụng sử dụng dịch vụ web luôn nhận được sự  
quan tâm của toàn xã hội.  
Tuy nhiên, dịch vụ web cũng có những nhược điểm cần khắc phục. Tại Hội thảo  
BMC Remedy User Group tháng 7/2005 đã đưa ra một số điểm bất lợi của dịch vụ  
web. Doanh nghiệp có thể phải chịu những thiệt hại lớn trong khoảng thời gian chết  
của dịch vụ web, giao diện không thay đổi, có thể xảy ra lỗi nếu một máy khách không  
8
 
được nâng cấp, thiếu giao thức cho vận hành và công tác bảo mật. Có quá nhiều chuẩn  
web service khiến người sử dụng công nghệ khó nắm bắt.  
1.3. Các thành phần của Web Service:  
1.3.1. Kiến trúc của web service:  
Mô tả kiến trúc của một web service:  
Hình 1.1 – Kiến trúc Web Service  
Kiến trúc của một web service gồm nhiều tầng. Mỗi tầng đảm nhận một nhiệm  
vụ cấu thành nên một ứng dụng dịch vụ web hoàn chỉnh.  
Tầng vận chuyển (Transpost): gồm các công nghệ chuẩn HTTP, JMS, SMTP. Có  
nhiệm vụ truyền thông điệp giữa các ứng dụng mạng.  
Tầng giao thức truyền thông dịch vụ (Service Communication Protocol): sử dụng  
công nghệ chuẩn 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ụ, cho phép người dùng triệu gọi một dịch vụ từ xa thông qua một  
thông điệp XML.  
Tầng mô tả thông tin về dịch vụ (Service Description): gồm các công nghệ chuẩn  
WSDL, XML. WSDL là ngôn ngữ mô tả dịch vụ Web theo cú pháp tổng quát của  
XML. WSDL mô tả giao diện và phương thức giao tiếp với dịch vụ web và định dạng  
9
   
thông điệp truy suất CSDL. Dịch vụ Web sẽ sử dụng WSDL để truyền tham số và các  
loại dữ liệu cho các thao tác và chức năng mà dịch vụ Web cung cấp.  
Tầng dịch vụ (Service): cung cấp các chức năng của dịch vụ.  
Tầng xử lý nghiệp vụ (Business Process): tiến hành các bước xử lý thông tin đầu  
vào để cho kết quả đầu ra theo yêu cầu, là các hoạt động có tính chất nghiệp vụ.  
Tầng đăng ký dịch vụ (Service Registry): sử dụng công nghệ chuẩn 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. Từ đó giúp  
một dịch vụ Web có thể dễ dàng khám phá ra những dịch vụ nào đã có trên mạng, tốt  
hơn trong việc tìm kiếm những dịch vụ khác để tương tác.  
Ngoài ra, để các dịch vụ web có tính an toàn, toàn vẹn, bảo mật thông tin, trong  
sơ đồ kiến trúc có thể có thêm các tầng: Policy, Security, Transaction, Management.  
Việc xây dưng một ứng dụng web chính là xây dưng các tầng trong mô hình kiến  
trúc dịch vụ web mà cụ thể là xây dựng các thành phần của các tầng, đó là các thành  
phần: SOAP , WSDL , UDDI , XML.  
1.3.2. Ngôn ngữ mô tả XML:  
1. Giới thiệu về ngôn nhữ XML:  
XML là viết tắt của Extensible Markup Language, tạm dịch là ngôn ngữ đánh  
dấu mở rộng. XML là ngôn ngữ xây dựng cấu trúc tài liệu văn bản, được thiết kế dựa  
trên SGML (Standard Generalized Markup Language) theo tiêu chuẩn ISO 8879 nhằm  
phục vụ việc quản trị các tài liệu điện tử. XML được xây dựng từ dưới sự chỉ đạo của  
W3C từ năm 1996 và chính thức thông qua vào 2/1998.  
XML xây dựng cấu trúc tài liệu và dữ liệu cho phép trao đổi, chia sẻ và sử dụng  
thông tin phân tán trên các hệ thống khác nhau. XML hỗ trợ người dùng thông qua khả  
năng tạo nội dung động, hỗ trợ việc thay thế những hệ thống cũ và các yêu cầu hợp  
nhất dữ liệu.  
Hai ngôn ngữ XML và HTML có cùng luật cú pháp nhưng ngôn ngữ XML có  
nhiều ưu điểm vượt trội hơn hẳn. Ngôn ngữ HTML sử dụng một tập hữu hạn các thẻ  
để định ra thông tin cơ bản về cấu trúc tài liệu. Các đoạn mã HTML chỉ mô tả cách  
thức hiển thị nội dung của tài liệu qua trình duyệt.  
10  
   
Trong khi đó, XML linh hoạt hơn khi cho phép tạo ra các thẻ mới mà thuộc tính  
được người sử dụng tự định nghĩa. Ngôn ngữ XML không chỉ dùng để mô tả sự trình  
bày nội dung tài liệu và còn có phương pháp định ra nội dung, sắp xếp cấu trúc, từ  
vựng và cú pháp của dữ liệu. XML có cấu trúc mã chặt chẽ, tách biệt nội dung ra khỏi  
hình thức của dữ liệu và mang lại thông tin đầy đủ về dữ liệu góp phần hỗ trợ cho việc  
tìm kiếm và sử dụng thông tin được dễ dàng hơn, cho phép hiển thị cùng một tài liệu  
trên một số ứng dụng hoặc thiết bị ngoại vi khác nhau mà không phải tạo ra phiên bản  
tài liệu mới, giống như một cơ sở dữ liệu. Một số tổ chức đã xây dựng các ngôn ngữ  
XML riêng như: ngôn ngữ Chemical Markup Language (CML) dùng trong công  
nghiệp, ngôn ngữ CXML định ra các tập dữ liệu chuẩn dùng cho thương mại điện tử  
trên Internet… XML giúp tạo tài liệu độc lập với server. Ví dụ: tải tài liệu về máy tính  
và sử dụng nó dù không nối mạng hoặc gửi đến người dùng khác dùng ứng dụng có hỗ  
trợ XML.  
XML tổ chức tất cả các ngôn ngữ lập trình theo một cấu trúc thống nhất và chặt  
chẽ giúp cho việc xây dựng, phát triển và quản lý dữ liệu trở nên dễ dàng hơn. Các  
trang HTML chỉ cần điều chỉnh chút ít để tương thích với XML. Ví dụ: mã HTML  
<img src = /img/fig1.jpg> thì trong XML là <img src = "/img/ fig1.jpg/">. Để các  
chương trình xử lý có thể làm việc được với dữ liệu của trang XML thì khi xây dựng  
tài liệu XML phải tuân theo một số quy luật sau đây:  
Trang XML phải bắt đầu bằng câu tuyên bố XML  
Mỗi bộ phận (element) phải nằm giữa một cặp thẻ.  
Nếu thẻ nào không chứa gì ở giữa thì phải chấm dứt bằng "/>". Ví dụ:  
<BR/>…  
Một trang XML phải có một element độc nhất chứa tất cả các elements  
khác. Đó là nút trong cây biểu diễn trang XML.  
Các cặp thẻ không được xen kẻ nhau (VD: <name>John  
Stanmore<address>25 King Street</name></address> là sai.  
Ngoài ra các cặp thẻ phải đánh vần y hệt và phân biệt rõ chữ chữ hoa, chữ  
thường. (VD: <STUDENT> và </Student> là sai)  
Tất cả giá trị các thuộc tính phải nằm giữa 2 ngoặc kép (VD:  
standalone=yes là sai, phải là standalone="yes")  
11  
2. Truyền thông XML:  
Khi viết chương trình, chúng ta thường viết các hàm (hoặc thủ tục), đó là đoạn  
chương trình có chức năng riêng biệt để tránh lặp lại các cấu trúc lệnh tương tự. Khi  
cần đoạn chương trình đó, chỉ cần gọi hàm với các tham số thích hợp. Hàm có thể đặt  
trong file nguồn của chương trình chính hoặc trong một file khác hoặc được biên dịch  
sẵn đặt trong thư viện để các chương trình khác có cùng ngôn ngữ có thể đọc hoặc  
biên dịch sẳn để trong file DLL để các chương trình khác không cùng ngôn ngữ sử  
dụng. Nhưng có một đặc điểm chung là hàm phải cùng nằm trên một máy tính với nơi  
gọi chúng.  
RPC (Remote Procedure Call) tạm dịch là gọi hàm xa, đây là một kỹ thuật tiến  
bộ cho quá trình kết nối từ Client đến Server để sử dụng các ứng dụng và dịch vụ. Thủ  
tục RPC cho phép hàm cần gọi và nơi gọi hàm có thể nằm trên hai máy tính khác nhau  
được kết nối thông qua mạng Internet. Trên nền tảng RPC các tổ chức đã nghiên cứu  
và phát triển hai giao thức SOAP, XML-RPC dựa trên ngôn ngữ XML.  
Giao thức SOAP dựa trên nền tảng XML sẽ được trình bầy ở phần sau.  
Giao thức XML-RPC hoạt động bằng cách gửi một thông điệp được viết bằng  
ngôn ngữ XML qua giao thức HTTP đến một máy chủ thực hiện giao thức, sau đó một  
thông điệp XML khác được trả về. XML-RPC hoạt động khá tốt và cài đặt tương đối  
đơn giản với các ngôn ngữ lập trình web phổ biến như PHP, Perl, Python. Vì thế,  
XML-RPC khá lý tưởng để phát triển các ứng dụng web qui mô nhỏ.  
Ví dụ: về 1 thông điệp yêu cầu XML-RPC: gửi đi mã số 84 để tìm tên nước  
<?xml version="1.0"?>  
<methodCall>  
<methodName>Country.getCountry</methodName>  
<params>  
<param>  
<value><i4>40</i4></value>  
</param>  
</params>  
</methodCall>  
12  
 
Ví dụ: về 1 thông điệp trả lời XML-RPC: trả về tên nước: Việt Nam  
<?xml version="1.0"?>  
<methodResponse>  
<params>  
<param>  
<value><string>South Dakota</string></value>  
</param>  
</params>  
</methodResponse>  
Ví dụ: về 1 lỗi XML-RPC:  
<?xml version="1.0"?>  
<methodResponse>  
<fault>  
<value>  
<struct>  
<member>  
<name>faultCode</name>  
<value><int>4</int></value>  
</member>  
<member>  
<name>faultString</name>  
<value><string>Too many parameters.</string></value>  
</member>  
</struct>  
</value>  
</fault>  
</methodResphone>  
13  
1.3.3. Giao thức SOAP:  
1. Giới thiệu về SOAP (Simple Object Access Protocol):  
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ụ,  
được phát triển dựa trên nền tảng ngôn ngữ XML. SOAP cho phép người dùng gọi  
một dịch vụ từ xa thông qua một message XML. SOAP được sử dụng để đặc tả và trao  
đổi thông tin về các cấu trúc dữ liệu cũng như các kiểu dữ liệu giữa các thành phần  
trong hệ thống.  
Web Services phát triển trên ý tưởng phương pháp gọi hàm xa RPC, tức là máy  
khách gọi thực hiện các chức năng ở máy chủ thông qua hệ thống mạng internet, thích  
hợp cho môi trường phân tán. Một client sẽ gửi thông điệp yêu cầu một ứng dụng web  
tới server và ngay lập tức server sẽ gửi những thông điệp trả lời tới client thông qua  
SOAP. 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: các tham số trả về, dùng khi yêu cầu được đáp ứng  
Fault message: thông báo tình trạng lỗi  
2. Các đặc điểm của SOAP:  
Khả năng mở rộng (Extensible): Cung cấp khả năng mở rộng phục vụ cho nhu  
cầu đặc thù của ứng dụng và nhà cung cấp. Các chức năng về bảo mật, tăng độ tin cậy  
có thể đưa vào phần mở rộng của SOAP. Các nhà cung cấp dịch vụ khác nhau, tùy vào  
đặc điểm hệ thống của mình có thể định nghĩa thêm các chức năng mở rộng nhằm tăng  
thêm lợi thế cạnh tranh cũng như cung cấp thêm tiện ích cho người sử dụng.  
Có thể hoạt động trên các giao thức mạng đã được chuẩn hóa (HTTP,  
SMTP, FTP, TCP...)  
Độc lập với hệ thống nền, ngôn ngữ lập trình hay mô hình lập trình được  
sử dụng. Vì vậy, SOAP được sử dụng trong bất kỳ ứng dụng nào (C++,  
Java, .NET, Perl, …) miễn là nó có thể xử lý được những message theo  
định dạng XML.  
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.  
14  
     
3. Cấu trúc SOAP Message:  
Mội message SOAP là một tài liệu XML. Tuy nhiên SOAP được thiết kế đặc biệt  
để chứa và chuyển những tài liệu XML khác.  
Hình 1.2 - Messaging sử dụng SOAP  
Hình trên mô tả giao tiếp của một ứng dụng với một web service được thực hiện  
qua thông điệp SOAP sử dụng giao thức mạng HTTP. Ứng dụng sẽ đặc tả yêu cầu  
trong SOAP message và thông qua giao thức mạng gởi đến cho web service. Web  
service sẽ nhận và phân tích yêu cầu sau đó trả về kết quả thích hợp.  
Một thông điệp SOAP gồm các thành phần sau:  
Protocol Header: cho biết thông tin về các chuẩn giao thức được sử dụng (HTTP,  
SMTP…)  
SOAP Envelop là 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. SOAP 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.  
SOAP body gồm 2 trường. Trường khai báo nội dung chính trong thông điệp, chứa các  
thông tin yêu cầu và phản hồi. Trường hợp đơn giản nhất bao gồm: tên của message,  
một tham khảo tới một thể hiện service, một hoặc nhiều tham số mang các giá trị và  
mang các tham chiếu. Trường lỗi: đưa ra các thông tin về lỗi xảy ra trong qúa trình xử  
lý thông điệp.  
15  
 
Hình 1.3 - Cấu trúc của SOAP message  
Cấu trúc code của một SOAP Messaging:  
<?xml version='1.0'?>  
<env:Header>  
</env:Header>  
<env:Body>  
</env:Body>  
</env:Envelope>  
Ví dụ: về SOAP message, trong đó thông điệp yêu cầu truyền đối số 123 mục  
đích thực hiện phương thức doubleAnInteger nhằm nhân đôi một số nguyên trong  
phần SOAP body và thông điệp trả lời mang thông tin kết quả trả về trong phần body  
là số 246.  
16  
Thông điệp yêu cầu:  
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>  
<SOAP-ENV:Envelope  
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"  
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"  
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"  
xmlns:xsd="http://www.w3.org/1999/XMLSchema">  
<SOAP-ENV:Body>  
<ns1:doubleAnInteger xmlns:ns1="urn:MySoapServices">  
<param1 xsi:type="xsd:int">123</param1>  
</ns1:doubleAnInteger>  
</SOAP-ENV:Body>  
Thông điệp trả lời:  
<?xml version="1.0" encoding="UTF-8" ?>  
<SOAP-ENV:Envelope  
xmlns:xsd="http://www.w3.org/1999/XMLSchema">  
<SOAP-ENV:Body>  
<ns1:doubleAnIntegerResponse xmlns:ns1="urn:MySoapServices"  
SOAP-ENV:  
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">  
<return xsi:type="xsd:int">246</return>  
</ns1:doubleAnIntegerResponse>  
</SOAP-ENV:Body>  
</SOAP-ENV:Envelope>  
17  
Về cấu trúc dữ liệu của SOAP: 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… Các định nghĩa cấu trúc dữ liệu  
SOAP được đặt trong SOAP-ENC.  
4. Giao thức truyền thông trong SOAP:  
Giao thức SOAP sử dụng hai kiểu truyền thông:  
RPC (đã giới thiệu ở phần XML)  
Document, đây là kiểu truyền thông hướng thông điệp, 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 dịch vụ Web cần xây dựng.  
5. Mã hóa trong SOAP:  
Giao thức SOAP không quan tâm đến loại ngôn ngữ lập trình được sử dụng nên  
các ứng dụng web có thể được viết bằng nhiều ngôn ngữ khác nhau.  
Giả sử dịch vụ yêu cầu và dịch vụ đáp ứng được phát triển bằng ngôn ngữ Java.  
Bởi vì định dạng cho Web Service chính là XML nên mã hóa SOAP sẽ chuyển đổi từ  
cấu trúc dữ liệu Java sang SOAP XML và ngược lại. 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 đó.  
1.3.4. UDDI:  
1. Giới thiệu về UDDI:  
Để có thể sử dụng được các dịch vụ web, đầu tiên client phải tìm kiếm dịch vụ,  
ghi nhận thông tin về cách sử dụng và biết được đối tượng nào cung cấp dịch vụ.  
UDDI sẽ cho cung cấp các thông tin này lên mạng cho phép các client kích hoạt các  
ứng dụng để tìm kiếm thông tin của dịch vụ Web khác nhằm xác định xem dịch vụ nào  
sẽ cần đến nó.  
18  
       
UDDI là một nơi mà các nhà cung cấp cho phép khách hàng đăng kí dịch vụ để  
sử dụng các chức năng của web service. UDDI sẽ định vị các thông tin về các web  
service được cung cấp bởi các nhà cung cấp dịch vụ, danh sách các nhà cung cấp dịch  
vụ trên web service nào đó, chi tiết về kĩ thuật sử dụng (API) web service do mình đưa  
ra…  
UDDI cung cấp các chuẩn kỹ thuật để mô tả, khám phá và tập hợp các cài đặt  
dựa trên Internet. Các đặc tính kĩ thuật phát triển nhanh chóng vì nó nhận được phản  
hồi nhanh nhạy từ các cài đặt, những cài đặt này xác nhận các khái niệm và cung cấp  
nền tảng kinh nghiệm phong phú cho việc hoàn thiện các đặc tả sau này.  
Trong kinh doanh, nó giúp mở rộng và đơn giản hóa các giao dịch giữa các  
doanh nghiệp (B2B), tạo mối quan hệ giữa nhà sản xuất với các khách hàng khác  
nhau, mỗi khách hàng ứng với một tập các giao thức và các chuẩn hỗ trợ miêu tả dịch  
vụ rất linh hoạt sử dụng bất kỳ giao thức tương tác nào, lấy dữ liệu từ các nhà cung cấp  
khác trong cùng một lĩnh vực có liên quan, cung cấp "cửa hàng một cửa" cho việc tìm  
kiếm thông tin về dịch vụ điện tử và thương mại.  
UDDI dựa vào những chuẩn đã có như là ngôn ngữ đánh dấu mở rộng (XML) và  
giao thức truy cập đối tượng đơn giản SOAP để xây dựng nền tảng cho việc đăng ký,  
các đặc tính (như quan hệ kinh doanh), giải quyết những vấn đề quan trọng cho việc  
phát triển dịch vụ web như: bảo mật, tăng cường quốc tế hóa, khả năng tương tác nội  
bộ, và hàng loạt các cải tiến hàm API để cải tiến công cụ tốt hơn.  
2. Nguyên tắc hoạt động:  
Bản ghi của UDDI bao gồm các thông tin:  
Các mô tả của các doanh nghiệp có thể truy cập bằng các chương trình  
máy tính và các dịch vụ mà chúng hỗ trợ.  
Các tham chiếu tới các đặc tả cụ thể mà một dịch vụ web có thể hỗ trợ,  
các định nghĩa phân loại (được sử dụng cho việc xếp loại kinh doanh và  
dịch vụ), và các hệ thống định danh (sử dụng để xác định các doanh  
nghiệp).  
UDDI cung cấp một lược đồ và mô hình lập trình với định nghĩa luật giao  
tiếp với bản ghi. Tất cả các hàm API trong đặc tả UDDI được định nghĩa  
trong XML được gói trong một phong bì SOAP, và gửi bừng giao thức  
HTTP.  
19  
 
Hình 1.4 - Luồng thông báo UDDI giữa Client và Registry  
Hình 1.4 mô tả sự truyền thông báo UDDI, từ yêu cầu SOAP của máy khách  
thông qua giao thức HTTP đến một nốt bản ghi đăng ký và quay lại. Máy chủ SOAP  
tiếp nhận các thông điệp đăng ký UDDI SOAP, xử lý và trả lại một kết quả SOAP đến  
máy khách. Các yêu cầu từ máy khách phải là các giao dịch đảm bảo an ninh và được  
xác thực.  
Hình 1.5 - UDDI làm việc như thế nào  
Hình 1.5 mô tả cách tạo dữ liệu bản ghi UDDI và cách khách hàng khám phá, sử  
dụng thông tin:  
20  
Bước 1: Công bố thông tin hữu ích đến bản ghi khi các công ty và các cá nhân  
định nghĩa các đặc tả liên quan đến công nghiệp hay kinh doanh, mà họ đăng ký với  
UDDI. Đó là các mô hình kỹ thuật, hoặc thông dụng hơn là tModels.  
Bước 2: Các công ty đăng ký bản mô tả kinh doanh các dịch vụ của họ. Một bản  
ghi UDDI sẽ theo dõi bằng cách gán cho mỗi điểm một định danh duy nhất hay một  
khóa định danh phổ biến duy nhất (Unique Universal Identifier - UUID)  
Bước 3: Một khóa UUID được đảm bảo là duy nhất và không bao giờ thay đổi  
trong một bản ghi UDDI, là một chuỗi số thập lục phân ngẫu nhiên có định dạng (Ví  
dụ: C0B9FE13-179F-413D-8A5B-5004DB8E5BB2) được dùng để tham chiếu đến  
điểm mà chúng được gán vào và chỉ có ý nghĩa trong bản ghi đó.  
Bước 4: Các khách hàng khác, như: máy tìm kiếm, và ứng dụng thương mại… sử  
dụng một bản ghi UDDI để khám phá các dịch vụ mà chúng quan tâm.  
Bước 5: Các doanh nghiệp khác có thể yêu cầu và sử dụng các dịch vụ này.  
Dữ liệu trong một bản ghi UDDI có thể được phân chia vào bốn mục, mỗi điểm  
được gán cho một khóa UUID duy nhất có thể được định vị trong bản ghi UDDI đó:  
BusinessEntity: mô hình hóa các thông tin kinh doanh như: địa chỉ, thông  
tin liên hệ, tên giao dịch…  
BusinessService: mô tả một dịch vụ web như: tên dịch vụ, danh sách chức  
năng…  
TModel: mô tả các đặc tả, phân lớp hoặc định danh, thông tin về loại dịch  
vụ.  
BindingTemplate: chứa thông tin về cách thức và địa chỉ của một dịch vụ  
web, là một ánh xạ giữa một businessService và tập tModel mô tả dấu tay  
kỹ thuật của nó  
Thông tin đăng ký có thể chia thành ba loại:  
Bản trắng (White pages): chứa các thông tin cơ bản của một doanh nghiệp  
(như tên, mô tả việc kinh doanh, thông tin liên lạc...) và các định dạng  
chính yếu của dịch vụ web cho phép các đối tượng khác xác định được  
dịch vụ.  
21  
Bản vàng (Yellow pages): chứa thông tin mô tả dịch vụ Web theo những  
loại khác nhau để chọn loại phù hợp với đối tượng, thông tin mở rộng khả  
năng tìm kiếm một doanh nghiệp hoặc dịch vụ trong bản ghi nhờ hỗ trợ  
phân lớp sử dụng hệ thống phân loại, không chỉ với các doanh nghiệp và  
dịch vụ mà còn với tModels.  
Bản xanh (Green pages): cung cấp các thông tin kỹ thuật mô tả các hành  
vi và chức năng của dịch vụ Web.  
Một bản ghi đặc biệt được cấu thành từ một tập các cài đặt UDDI có thể truy cập  
công cộng được được gọi là các nốt. Chúng chia sẻ dữ liệu và thành lập bản ghi doanh  
nghiệp UDDI.  
3. Đặc tả UDDI:  
Các đặc tả UDDI: được cấu thành từ vài tài liệu khác nhau. Tài liệu đặc tả API  
mô tả các hàm API SOAP cho phép thực hiện các hoạt động tìm kiếm và quảng bá; xử  
lý lỗi, ngữ nghĩa của yêu cầu, kết quả; các thông tin thực tế về các quy ước và cách sử  
dụng cũng có sẵn. Các tài liệu bao gồm đặc tả cấu trúc dữ liệu và lược đồ API định  
nghĩa thông điệp và ngữ nghĩa của dữ liệu. Các hàm API của UDDI được chia thành  
hai nhóm: truy vấn và phát hành. Còn các API truy vấn chia thành ba mẫu truy vấn:  
Các mẫu tìm kiếm thừa kế chức năng của toán tử tìm kiếm, cho phép  
duyệt các mục dữ liệu với những điều kiện khác nhau (hạng mục phân  
loại, các định danh, thông tin tên từng phần…)  
Các mẫu tìm kiếm sâu: liên quan đến việc thu nhập thông tin chi tiết về  
một mục dữ liệu đã tìm thấy  
Các mẫu tìm kiếm viện dẫn thông tin: là việc gọi các dịch vụ để sử dụng  
thông tin mẫu kèm theo thường được lưu tạm thời bởi các máy trạm để sử  
dụng lại mà không cần gửi lại bản ghi cho cùng một thông tin mà máy  
trạm cần. Nếu thông tin đính kèm thay đổi, máy trạm phải gửi lại bản ghi  
để cập nhật lại thông tin.  
4. Một số đặc điểm của UDDI:  
Các cập nhật gắn với hỗ trợ nhằm giúp các tổ chức lớn mô hình hóa một cách  
hiệu quả các dịch vụ và công việc kinh doanh của họ. Khi các công ty muốn phân chia  
các lựa chọn web của họ theo vị trí địa lý, trình diễn chính các doanh nghiệp đó trên  
nền web một cách độc lập nhưng có liên quan đến nhau để dễ dàng quản lý, phát triển.  
22  
   
UDDI đưa ra nhiều phương pháp lựa chọn như: có thể duy trì các doanh nghiệp độc  
lập và không liên quan hoặc định nghĩa các mối quan hệ giữa các doanh nghiệp như  
mô hình cha con, đồng đẳng, và đồng nhất. Điều này tạo nên tính mềm dẻo để mô hình  
hóa một doanh nghiệp với nhiều chi nhánh, khách hàng bên ngoài, hoặc các quan hệ  
nội bộ khác nhau trong cùng công ty hoặc quan hệ giữa hai doanh nghiệp bất kỳ (được  
định nghĩa bởi các khóa duy nhất).  
Phân hạng mục của UDDI ngày mạnh hơn trong các phiên bản mới, góp phần cải  
tiến khả năng tìm kiếm thông tin. Phiên bản 1 đưa ra 3 cách phân loại: theo các hạng  
mục công nghiệp NAICS, hạng mục dịch vụ và dự án UNSPC, và phân loại địa lý ISO  
3166-2. Các phân loại đều được kiểm tra bởi bản ghi UDDI; nếu cố gắng lưu trữ mã  
không hợp lệ sẽ bị từ chối. Phiên bản 2 bổ sung thêm khả năng định nghĩa cách phân  
hạng mục được kiểm tra nội tại, có thể đưa ra sử dụng công cộng trong UDDI. Khi các  
nhà cung cấp đồng ý cho sử dụng sẽ hỗ trợ một giá trị hợp lệ của dịch vụ web và làm  
cho nó có thể truy cập được đến bản ghi doanh nghiệp UDDI để hỗ trợ việc kiểm tra  
và xác nhận của các giá trị phân hạng mà các khách hàng mong muốn để liên kết với  
các bản ghi của họ. Điều này tạo nên tính mềm dẻo trong việc đảm bảo chỉ những giá  
trị phân hạng phù hợp được lưu trữ bởi khách hàng sử dụng cách phân hạng của họ.  
Các truy vấn cũng được cải tiến qua từng phiên bản để giải quyết các yêu cầu  
truy vấn phức tạp hơn. Ví dụ: cải tiến hàm truy vấn tìm kiếm bằng cách kết hợp thêm  
một số điều kiện lọc như:  
Bộ định tính combineCategoryBags cho phép gộp tất cả các dữ liệu phân loại  
được liên kết với một doanh nghiệp và tất cả các dịch vụ mà nó chứa (gồm cả các tham  
chiếu dịch vụ) vào một tập hợp đơn mà việc tìm kiếm sẽ thực hiện trên đó giúp giảm  
bớt các bước trong việc tìm kiếm một doanh nghiệp bằng cách rà soát trong các doanh  
nghiệp và các dịch vụ của chúng cùng lúc.  
Bộ lọc serviceSubset cho phép tìm kiếm các doanh nghiệp sử dụng điều kiện  
phân hạng mục. Chỉ kiểm trên các hạng mục được gắn kết với các dịch vụ của một  
công ty, còn các hạng mục gắn kết với bản thân doanh nghiệp không được gộp trong  
việc tìm kiếm.  
Bộ định tính orLikeKeys cho phép truy vấn phức tạp ảo. Tìm kiếm các doanh  
nghiệp mà được phân loại với các cấp độ khác nhau theo đặc trưng của chúng, trong  
khi cùng lúc cho phép một truy vấn đơn tham chiếu đến nhiều hạng mục khác nhau  
cùng lúc.  
23  
1.3.5. Ngôn ngữ mô tả dịch vụ web WSDL:  
1. Giới thiệu về WSDL:  
WSDL (Web service Description Language) là một tài liệu XML mô tả những  
thông tin cần thiết để cho client hiểu biết về dịch vụ web. Các thông tin bao gồm: tên  
dịch vụ, giao thức truyền thông và kiểu mã hóa sẽ được sử dụng khi gọi các hàm của  
dịch vụ Web, các thao tác, tham số, kiểu dữ liệu sử dụng trong truyền thông. Một tài  
liệu WSDL hợp lệ bao gồm hai thành phần được lưu trong hai tập tin XML, đó là tập  
tin giao diện dịch vụ và tập tin thi hành dịch vụ.  
Thành phần giao diện: đưa ra cách thức làm thế nào để giao tiếp với dịch vụ  
Web, giao thức liên kết, định dạng thông điệp để tương tác với dịch vụ Web, phương  
thức kết nối và giao thức truyền thông, địa chỉ dịch vụ web.  
Thành phần thi hành: mô tả các thông tin truy xuất CSDL.  
2. Cấu trúc của một tài liệu WSDL:  
WSDL thường được sử dụng kết hợp với XML schema và SOAP để cung cấp  
dịch vụ web qua Internet. Một client khi kết nối tới dịch vụ Web có thể đọc tài liệu  
WSDL để xác định những chức năng sẵn có trên server. Sau đó, client có thể sử dụng  
SOAP để lấy ra chức năng chính xác có trong WSDL. Một tài liệu WSDL được định  
nghĩa trong dịch vụ mạng bằng các thẻ sau:  
Types – mô tả các kiểu dữ liệu được trao đổi giữa client và server.  
<definitions  
<types>  
<xsd:schema  
</types>  
</definitions>  
....  
>
....  
/>*  
Trong đó, thẻ definitions chỉ rõ tên của tài liệu qua thuộc tính name, thuộc tính  
namespaces để phân biệt các thẻ và cho phép tài liệu wsdl có thể tham chiếu tới các  
đặc tả bên ngoài (WSDL, SOAP, XML Schema), thuộc tính targetNamespace là một  
quy tắc XML Schema cho phép tài liệu WSDL tham khảo tới chính nó.  
24  
     
<definitions name="StockQuote"  
targetNamespace="http://example.com/stockquote.wsdl"  
xmlns:tns="http://example.com/stockquote.wsdl"  
xmlns:xsd1="http://example.com/stockquote.xsd"  
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"  
xmlns="http://schemas.xmlsoap.org/wsdl/">  
Ví dụ: về thẻ Types:  
<types>  
<xsd:schema targetNamespace="http://mspress.microsoft.com/corexml/">  
<xsd:element name="SayHello">  
<xsd:complexType>  
<xsd:sequence>  
<xsd:element name="Name" type="xsd:string"/>  
</xsd:sequence>  
</xsd:complexType>  
</xsd:element>  
<xsd:element name="SayHelloResponse">  
<xsd:complexType>  
<xsd:sequence>  
<xsd:element name="SayHelloResult" type="xsd:string"/>  
</xsd:sequence>  
</xsd:complexType>  
</xsd:element>  
</xsd:schema>  
</types>  
25  
Message: mô tả thông điệp được gửi giữa client và server. Nhiều thao tác có thể  
tham chiếu tới cùng một thông điệp. Thao tác và các thông điệp được mô tả riêng rẽ  
tạo nên sự linh hoạt và đơn giản hóa việc tái sử dụng lại.  
<definitions .... >  
<message name="nmtoken"> *  
<part name="nmtoken" element="qname"? type="qname"?/> *  
</message>  
</definitions>  
Ví dụ: về thẻ Message với hai dạng thông điệp yêu cầu và trả lời.  
<message name="SayHelloSoapIn">  
<part name="parameters" element="tns:SayHello"/>  
</message>  
<message name="SayHelloSoapOut">  
<part name="parameters" element="tns:SayHelloResponse"/>  
</message>  
Operation: mô tả một hoạt động của dịch vụ.  
Port Type: mô tả những hoạt động hỗ trợ bởi một hoặc nhiều thiết bị đầu cuối  
hay những hoạt động mà dịch vụ web cung cấp và những thông điệp liên quan. WSDL  
định nghĩa bốn kiểu thao tác mà một cổng có thể hỗ trợ. Kiểu one-way: cổng nhận một  
thông điệp, đó là thống điệp nhập. Kiểu request-response: cổng nhận một thông điệp,  
đó là thống điệp phản hồi. Kiểu solicit-response: cổng gửi một thông điệp và nhận về  
một thông điệp. Kiểu notification: cổng gửi một thông điệp, đó là thông điệp xuất.  
< definitions .... >  
< portType name="nmtoken">  
< operation name="nmtoken" .... />  
</ portType>  
</ definitions>  
Mỗi kiểu thao tác có cú pháp biến đổi tùy theo: thứ tự của các thông điệp nhập,  
thông điệp xuất và thông điệp lỗi.  
26  
<wsdl:definitions .... >  
<wsdl: portType .... >  
<wsdl: operation name="nmtoken" parameterOrder="nmtokens">  
<wsdl: input name="nmtoken"? message="qname"/>  
<wsdl: output name="nmtoken"? message="qname"/>  
<wsdl:fault name="nmtoken" message="qname"/>*  
</wsdl: operation>  
</wsdl: portType >  
</wsdl: definitions>  
Ví dụ: Thẻ Port Type:  
<portType name="HelloServiceSoapPortType">  
<operation name="SayHello">  
<input message="tns:SayHelloSoapIn"/>  
<output message="tns:SayHelloSoapOut"/>  
</operation>  
</portType>  
Binding: mô tả cách thức các dịch vụ web kết hợp với nhau. Một kết hợp gồm  
các nội dung: 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ể được 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.  
27  
Ví dụ: Thẻ blinding  
<binding name="HelloServiceSoap“ type="tns:HelloServiceSoapPort">  
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"  
style="rpc"/>  
<operation name="SayHello">  
orexml/SayHello"/>  
<input>  
<soap:body use="literal"/>  
</input>  
<output>  
<soap:body use="literal"/>  
</output>  
</operation>  
</binding>  
Port: một cổng đầu cuối, định nghĩa như một tập hợp của binding và một địa chỉ  
mạng  
<definitions .... >  
<wsdl: service .... >  
< port name="nmtoken" binding="qname">  
<port>  
</service>  
</definitions>  
Service: 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:  
28  

Tải về để xem bản đầy đủ

pdf 58 trang yennguyen 19/05/2025 80
Bạn đang xem 30 trang mẫu của tài liệu "Khóa luận Hệ thống quản lý đăng ký thuế sử dụng web service", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfkhoa_luan_he_thong_quan_ly_dang_ky_thue_su_dung_web_service.pdf