Tải bản đầy đủ (.docx) (33 trang)

Chuyên đề tốt nghiệp Tìm hiểu về WSDL, ASP.NET, SOAP và Ứng dụng

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 (409.86 KB, 33 trang )

MỤC LỤC

1


ĐỀ TÀI
Tìm hiểu về Simple Object Access Protocol(SOAP),Web Service Description
Language(WSDL) và ASP.NET Web Service

Phần I. Mở đầu
Như chúng ta đã biết, ngày nay công nghệ thông tin đang phát triển mạnh mẽ. Song
song với điều đó là nhu cầu tìm hiểu, trao đổi thông tin giữa các ứng dụng cũng rất
cao. Và tất nhiên phải có những giao thức giúp cho việc trao đổi thông tin được diễn ra
và SOAP (Simple Object Access Protocol) cùng với Web Service Description
Language (WSDL) và ASP.NET Web Service chính là một trong những giao thức để
làm điều đó.Sau đây chúng ta sẽ nghiên cứu về SOAP và WSDL cùng với ASP.NET
Web Service.

2


Phần II. Nội Dung
1. Tìm hiểu về SOAP (Simple Object Access Protocol)
1





Định nghĩa về SOAP( Simple Object Access Protocol)
SOAP là giao thức truyền thông giữa các ứng dụng.


SOAP được thiết kế để liên lạc qua Internet và làm việc qua tường lửa.
SOAP độc lập nền tảng, độc lập ngôn ngữ.
SOAP = XML + một giao thức có thể hoạt động trên Internet (HTTP, FTP,
SMTP), trong đó HTTP phổ biến hơn cả.

[1]”WebService – Cơ bản về SOAP, WSDL và ASP.NET Web Service | YinYang’s
Programing Blog.”

a) Web Service là gì?
• Web Serivce là một công nghệ cho phép client truy xuất để thực hiện mọi
tác vụ như một Web Application. Về bản chất, Web service dựa trên
XML và HTTP, trong đó XML làm nhiệm vụ mã hóa và giải mã dữ liệu
và dùng SOAP để truyền tải. Web Service không phụ thuộc vào platform
nào, do đó bạn có thể dùng Web Service để truyền tải dữ liệu giữa các
ứng dụng hay giữa các platform. [2]“ Web Service và Kiểm thử Web
Service” Viblo. [5]. “Tìm hiểu về websevice, ”
• Được thể hiện trong html dựa trên sự tương tác của User & Web Service
• Sơ đồ tương tác giữa User và Web Service:

Hình 1.1: Sơ đồ tương tác giữa User và Web Service
b) Thành phần của Web Service bao gồm:
• WSDL (Web Service Description Language ):Là ngôn ngữ mô
tả dịch vụ
3


• UDDI (Universal Description, Discovery, and Integration)
:được sử dụng để đăng ký và tìm dịch vụ Web đã được miêu tả
cụ thể trong WSDL , UDDI sử dụng SOAP để giao tiếp với
UDDI server

• SOAP:giúp client có thể truy xuất đến UDDI registry bằng các
lệnh SOAP
Đến đây chúng ta đã hiểu được web services là như thế nào, nó được cơng bố
và truy xuất ở đâu. Nhưng vẫn cịn một vấn đề khá quan trọng đó là: Làm thế nào
chúng ta truy xuất dịch vụ khi tìm thấy? Câu trả lời là web servicves có thể truy xuất
bằng một giao thức là Simple Object Access Protocol – SOAP. Nói cách khác chúng ta
có thể truy xuất đến UDDI registry bằng các lệnh gọi SOAP. [2]“ Web Service và
Kiểm thử Web Service” Viblo
c) XML là gì?
• XML là viết tắt của eXtensible Markup
Language.
• XML là một ngơn ngữ đánh dấu tương tự
như HTML.
• XML được thiết kế để mang dữ liệu,
khơng để hiển thị dữ liệu.
• Các thẻ XML khơng được định trước. Bạn
phải xác định các thẻ của riêng bạn (*)
• XML được thiết kế để tự mơ tả

2

Các đặc trưng của SOAP
SOAP có những đặc trưng sau :
- 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.

- Khơng có garbage collection phân tán, và cũng khơng có cơ chế tham chiếu.
Vì thế SOAP client khơng giữ bất kỳ một tham chiếu đầy đủ nào về các đối
tượng ở xa.

4


- SOAP không bị ràng buộc bởi bất kỳ ngôn ngữ lập trình nào hoặc
cơng nghệ nào.
 SOAP là giao thức mà định nghĩa cái cách để chuyển một XML
message từ A đến B dựa trên giao thức chuẩn web HTTP (hoạt
động trên cổng 80) qua giao thức Internet TCP/IP.
Hình 1.: Thông điệp SOAP
a) Tại sao chúng ta nên dùng giao thức SOAP
• Ngày nay, các ứng dụng giao tiếp với nhau bằng cách sử dụng Remote
Procedure Calls (RPC) như DCOM và CORBA, nhưng HTTP không được
thiết kế cho việc này. RPC đại diện cho một khả năng tương thích và các
vấn đề bảo mật, nhưng các thông báo qua mạng thường bị tường lửa và
proxy servers chặn lại.
• Cách tốt hơn để giao tiếp giữa các ứng dụng là sử dụng HTTP, bởi vì
HTTP được hỗ trợ bởi tất cả các trình duyệt Internet và máy chủ nên






SOAP được tạo ra để thực hiện điều này.
SOAP = XML + HTTP
b) Quy tắc cú pháp:
Một message SOAP phải được mã hóa bằng cách sử dụng XML
Một message SOAP phải sử dụng SOAP Envelope namespace
Một message SOAP phải sử dụng SOAP Encoding namespace
Một message SOAP khơng phải có một tham chiếu DTD

c) Khung message SOAP:
<?xml version="1.0"?>
xmlns:soap=" />soap:encodingStyle=" /><soap:Header>
...
</soap:Header>
<soap:Body>
5


...
<soap:Fault>
...
</soap:Fault>
</soap:Body>
</soap:Envelope>

([3]“Khung message SOAP” [Online]. Availabe:
/>
6


3

Cấu trúc thông điệp của SOAP
Envelop là thành phần gốc của một thơng điệp SOAP, nó chứa các thành phần

Header và Body. Thành phần Header là một cơ chế mở cho phép thêm các tính năng
vào bên trong một thơng điệp SOAP. Mỗi thành phần con của Header gọi là một
Header Entry. Các Header Entry dùng để diễn giải, quy định một số ngữ nghĩa của

thông điệp SOAP. Các ứng dụng có thể xử lý và định tuyến các thơng điệp dựa trên
thông tin header và thông tin bên trong thơng điệp đó. Đây là ưu điểm mà các mơ hình
kiến trúc như DCOM, CORBA và RMI khơng có được, vì các protocol header của
chúng phải được chỉ định chi tiết cho mỗi ứng dụng.
Cấu trúc một message theo dạng SOAP được mơ tả như hình dưới đây:

Hình 1.3: Cấu trúc thông điệp của SOAP
Message theo dạng SOAP là một văn bản XML bình thường bao gồm các phần tử sau:


Phần tử gốc – envelop: Phần tử bao trùm nội dung message, khai báo văn bản
XML như là một thông điệp SOAP.
<?xml version="1.0"?>
7


xmlns:soap=" />soap:encodingStyle=" />...
Messager information goes here
...
</soap:Envelope>


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. Những đầu mục cịn có thể mang
những dữ liệu chứng thực, những chữ ký số hóa, và thơng tin mã hóa, hoặc
những cài đặt cho giao tác.
<SOAP-ENV:Header>
<ns1:username xmlns:ns1="JavaSoapBook">
Jessica

</ns1:username>
</SOAP-ENV:Header>
-Thuộc tính của SOAP header:
+ Thuộc tính Actor
Chứa các thơng tin chỉ nhằm mục đích trung gian hoặc thơng tin cho các điểm
cuối cùng.
+ Thuộc tính MustUnderstand

8


Thuộc tính này cho biết một header entries đang bắt buộc tùy chọn hoặc tùy
chọn (optional or mandatory).


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à phản hồi
<?xml version="1.0"?>
xmlns:soap=" />soap:encodingStyle=" /><soap:Body>
<m:GetPrice xmlns:m=" /><m:Item>Apples</m:Item>
</m:GetPrice>
</soap:Body>
</soap:Envelope>
<?xml version="1.0"?>
xmlns:soap=" />soap:encodingStyle=" /><soap:Body>
<m:GetPriceResponse xmlns:m=" /><m:Price>1.90</m:Price>
</m:GetPriceResponse>
</soap:Body>

</soap:Envelope>
9




Phần tử phát sinh lỗi (Fault) cung cấp thông tin lỗi xảy ra trong q trình xử lý
thơng điệp,Các phần tử Faults phải xuất hiện ngay sau một phần tử con của
các phần tử Body, và nó khơng thể xuất hiện nhiều hơn một lần



Các phần tử của SOAP Fault:
Faultcode Element : Xác định lỗi
Faultstring Element : Giải thích về lỗi
Faultactor Element : Xác định đối tượng gây ra lỗi.
Detail Element : Xác định cụ thể do lỗi liên kết với các phần tử Body massage

Trong trường hợp đơn giản nhất, phần thân của SOAP message gồm có:
– 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. Có 3 kiểu thơng
báo
Request messages: Với các tham số gọi thực thi một service
Response messages: Với các tham số trả về, được sử dụng khi đáp ứng u cầu.
Fault messages báo tình trạng lỗi.


SOAP HTTP BINDING


10


-HTTP truyền qua TCP / IP. Một HTTP client kết nối đến một máy chủ HTTP
bằng cách sử dụng giao thức TCP. Sau khi thiết lập kết nối, client có thể gửi
một message yêu cầu HTTP từ máy chủ:
-POST /item HTTP/1.1
Host: 189.123.345.239
Content-Type: text/plain
Content-Length: 200
-erver sau đó sẽ xử lý yêu cầu và gửi một phản hồi HTTP lại cho client. Phản
hồi này có chứa một mã trạng thái cho biết trạng thái của yêu cầu:
-200 OK
Content-Type: text/plain
Content-Length: 200
-Trong ví dụ trên, server trả lại một mã trạng thái 200. Đây là mã tiêu chuẩn
thành công cho HTTP.
Nếu server không thể giải mã các yêu cầu, nó có thể trả lại như thế này:
-400 Bad Request
Content-Length: 0


SOAP HTTP Binding
-SOAP là cách thức yêu cầu / Phản hồi HTTP mà tuân thủ các quy tắc mã hoá
SOAP.
-HTTP + XML = SOAP

11



-Một yêu cầu SOAP có thể là một HTTP POST hoặc HTTP GET.
-Các yêu cầu HTTP POST xác định ít nhất hai tiêu đề HTTP: Content-Type và
Content-Length.

4

Ưu nhược điểm của SOAP
Ưu điểm :

• Cho phép chương trình được viết bằng các ngôn ngữ khác nhau trên
các nền tảng khác nhau giao tiếp được với nhau dựa trên một nền
tảng tiêu chuẩn
• Đơn giản (chỉ dùng URL)
• Làm việc với các giao thức chuẩn Web nhưXML, HTTP và TCP/IP.
• Sự an tồn của máy chủ cơ sở dữ liệu ln được bảo mật một cách
chắc chắn.
• Web Service làm giảm giá thành cho việc tích hợp các hệ thống khác
nhau.
• Chi phí rẻ.
• Cơ chế bảo mật tốt.
Nhược điểm :

• Phụ thuộc vào tốc độ đường truyền Internet.
• Web Service thiếu cơ chế khôi phục đủ tin cậy để đảm bảo giao dịch
được khôi phục lại trạng thái ban đầu trong trường hợp xảy ra sự cố.
• Số lượng các ứng dụng cộng tác cùng hoạt động sẽ ảnh hưởng tới
hiệu suất tối ưu của Web Service.
• Vì Web Service địi hỏi kết nối thông qua khá nhiều máy chủ trung
gian cho nên băng thông/tốc độ của hạ tầng mạng và các yêu tố liên


12


quan tới hệ thống rõ ràng có vai trị quan trọng góp phần cải thiện
hiệu năng của tồn bộ các ứng dụng WS.

13


2. Tìm hiểu về WSDL (Web Services Description Language)
5


Định nghĩa về WSDL
Web Sevice 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. Tài liệu WSDL này được sử dụng cho bên yêu
cầu dich 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 để triệu gọi (invoke) dịch vụ web.
[4]“Giới thiệu về WSDL, ”



Một tài liệu WSDL mơ tả một Web Service như một tập các đối tượng trừu
tượng gọi là các “ports” và “endpoint”. Một tài liệu WSDL cũng định nghĩa bên
trong nó các phương thức của web service. Các phương thức tương ứng với
“operation” và dữ liệu trao đổi tương ứng với “message”. Một tập các phương
thức liên quan được nhóm lại vào trong một “portType”. Một ràng buộc kết nối
(binding) chỉ định một giao thức mạng và đặc tả định dạng dữ liệu cho một
portType cụ thể. Kế đến một port được định nghĩa bằng cách kết hợp một địa
chỉ mạng với một binding. Nếu một client có được một tài liệu WSDL và tìm

thấy binding và địa chỉ cho mỗi port, nó có thể gọi các phương thức của dịch vụ
theo đúng giao thức và định dạng dữ liệu đã đặc tả. [4]“Giới thiệu về WSDL,
”.

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 sáu thành phần chia thành hai nhóm: Thơng tin trừa tượng và thơng tin cụ thể.
· Thông tin trừu tượng
a. types
b. messages
c. portType
· Thông tin cụ thể

14


bindings
services
Các thành phần chứa những tham chiếu lẫn nhau như trong hình.

.
Hình 2.1: Các thành phần chứa những tham chiếu lẫn nhau

6

Cấu trúc WSDL
WSDL định nghĩa cách mô tả Web Service theo cú pháp tổng quát XML, bao
gồm các thông tin
– Tên s ̣ ervice.
– 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, những 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 WSDL hợp lệ gồm có hai phần :

15


1. Service Inteface mô tả giao diện và giao thức kết nối.
2. Service Implementation mô tả thông tin để truy xuất service
Cả 2 phần trên sẽ được lưu trong 2 tập tin XML, bao gồm:
– Tập tin cho Service Interface (cho phần 1).
– Tập tin cho Service Implementation (cho phần 2).

Hình 2.2.2: Service Implementation mơ tả thơng tin để truy xuất service

7

Tập tin giao diện – Service Interface

WSDL mô tả 5 loại t09hơng tin chính bao gồm: import, types, message , portType,
binding.
a. Types: WSDL định nghĩa các kiểu dữ liệu của thông điệp gửi .
<definitions …. >
<types>
<xsd:schema …. />*

16


</types>

</definitions>
b. Message: Mô tả thông điệp được gửi giữa client và server.
<definitions …. >
<message name=”nmtoken”> *
*
</message>
</definitions>
Những định nghĩ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. Chẳng hạn, hai thao tác với cùng tham số có thể chia sẻ một
định nghĩa message.
c. Port type: WSDL 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ợ :

17


– 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 về 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ập, xuất và
lỗi.
Ví dụ :

<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>
d. 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.
18


– 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.

8

Tập tin thi hành – Service Implementation

WSDL mô tả 2 loại thơng tin chính bao gồm: Service và port .
a. 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 …. >
<wsdl:service name=”nmtoken”> *
<wsdl:port …. />*

</wsdl:service>
</wsdl:definitions>
b. 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:definitions>
( Nguồn: />19


WSDL thường được sử dụng kết hợp với XML schema và SOAP để cung cấp Web
service qua Internet. Một client khi kết nối tới Web service có thể đọc 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.

3. Tìm hiểu về ASP.NET
9

Giới thiệu về ASP.NET

• Từ khoảng cuối thập niên 90, ASP (Active Server Page) đã được nhiều lập trình viên

lựa chọn để xây dựng và phát triển ứng dụng web động trên máy chủ sử dụng hệ điều
hành Windows. ASP đã thể hiện được những ưu điểm của mình với mơ hình lập trình
thủ tục đơn giản, sử dụng hiệu quả các đối tượng COM: ADO (ActiveX Data Object)
- xử lý dữ liệu, FSO (File System Object) - làm việc với hệ thống tập tin…, đồng
thời, ASP cũng hỗ trợ nhiều ngơn ngữ: VBScript, JavaScript. Chính những ưu điểm

đó, ASP đã được u thích trong một thời gian dài.
• Tuy nhiên, ASP vẫn cịn tồn đọng một số khó khăn như Code ASP và HTML lẫn lộn,

điều này làm cho quá trình viết code khó khăn, thể hiện và trình bày code không
trong sáng, hạn chế khả năng sử dụng lại code. Bên cạnh đó, khi triển khai cài đặt, do
khơng được biên dịch trước nên dễ bị mất source code. Thêm vào đó, ASP khơng có
hỗ trợ cache, khơng được biên dịch trước nên phần nào hạn chế về mặt tốc độ thực
hiện. Q trình xử lý Postback khó khăn, …
• Đầu năm 2002, Microsoft giới thiệu một kỹ thuật lập trình Web khá mới mẻ với tên

gọi ban đầu là ASP+, tên chính thức sau này là ASP.Net. Với ASP.Net, khơng những
khơng cần địi hỏi bạn phải biết các tag HTML, thiết kế web, mà nó cịn hỗ trợ mạnh
lập trình hướng đối tượng trong quá trình xây dựng và phát triển ứng dụng Web.
• ASP.Net là kỹ thuật lập trình và phát triển ứng dụng web ở phía Server (Server-side)

dựa trên nền tảng của Microsoft .Net Framework.

20


• Hầu hết, những người mới đến với lập trình web đều bắt đầu tìm hiểu những kỹ thuật ở

phía Client (Client-side) như: HTML, Java Script, CSS (Cascading Style Sheets). Khi
Web browser yêu cầu một trang web (trang web sử dụng kỹ thuật client-side), Web
server tìm trang web mà Client yêu cầu, sau đó gởi về cho Client. Client nhận kết quả
trả về từ Server và hiển thị lên màn hình.
• ASP.Net sử dụng kỹ thuật lập trình ở phía server thì hồn tồn khác, mã lệnh ở phía

server (ví dụ: mã lệnh trong trang ASP) sẽ được biên dịch và thi hành tại Web Server.
Sau khi được Server đọc, biên dịch và thi hành, kết quả tự động được chuyển sang

HTML/JavaScript/CSS và trả về cho Client.
• Tất cả các xử lý lệnh ASP.Net đều được thực hiện tại Server và do đó, gọi là kỹ thuật

lập trình ở phía server. [6]. “Giới thiệu cơ bản về ngôn ngữ ASP.NET.
.”

10

Những ưu nhược điểm của ASP.NET


ASP.Net cho phép bạn lựa chọn một trong các ngơn ngữ lập trình mà bạn
u thích: Visual Basic.Net, J#, C#,…



Trang ASP.Net được biên dịch trước. Thay vì phải đọc và thơng dịch mỗi
khi trang web được yêu cầu, ASP.Net biên dịch những trang web động
thành những tập tin DLL mà Server có thể thi hành nhanh chóng và hiệu
quả. Yếu tố này là một bước nhảy vọt đáng kể so với kỹ thuật thơng dịch
của ASP.

Hình 3.2.1: ASP.Net biên dịch những trang web động thành những tập tin DLL

21


• ASP.Net hỗ trợ mạnh mẽ bộ thư viện phong phú và đa dạng của .Net
Framework, làm việc với XML, Web Service, truy cập cơ sở dữ liệu qua
ADO.Net, …

• ASPX và ASP có thể cùng hoạt động trong 1 ứng dụng.
• ASP.Net sử dụng phong cách lập trình mới: Code behide. Tách code riêng,
giao diện riêng -> Dễ đọc, dễ quản lý và bảo trì.
• Kiến trúc lập trình giống ứng dụng trên Windows.
• Hỗ trợ quản lý trạng thái của các control
• Tự động phát sinh mã HTML cho các Server control tương ứng với từng








loại Browser
Hỗ trợ nhiều cơ chế cache.
Triển khai cài đặt
Không cần lock, không cần đăng ký DLL
Cho phép nhiều hình thức cấu hình ứng dụng
Hỗ trợ quản lý ứng dụng ở mức toàn cục
Global.aspx có nhiều sự kiện hơn
Quản lý session trên nhiều Server, không cần Cookies

([7]. “Ưu nhược điểm về ngôn ngữ ASP.NET”)
Khi Web server nhận được yêu cầu từ phía client, nó sẽ tìm kiếm tập tin được
u cầu thơng qua chuỗi URL được gởi về, sau đó, tiến hành xử lý theo sơ đồ sau:

22



Hình 3.2.2 Quá trình xử lý tập tin ASPX

11

Tạo một ASP.NET Web Service đơn giản

 Trong .Net, bạn tạo ra một Web Service ra bằng cách tạo một subclass của

lớp System.Web.Services.WebService, sau đó định nghĩa các phương thức có
thể được triệu gọi từ client. Các phương thức này phải được đánh dấu với
attribute [WebMethod].
 Khi tạo một dự án mới, nếu bạn đặt phiên bản .Net sử dụng là 4, template

Web Service sẽ không tồn tại do Microsoft nghĩ rằng template đó q đơn
giản. Vì vậy muốn tạo một project Web Service, bạn phải chuyển phiên
bản .Net sang 3.5. Ở đây tôi vẫn sử dụng phiên bản .Net 4 và tạo một
project ASP.NET Empty Web Application với tên là Y2FirstWebService.

23


Hình 3.3.1: Bước 1 Tạo một ASP.NET Web Service đơn giản
 Tiếp đó bạn thêm item Web Service (phím tắt Ctrl + Shift + A để mở cửa sổ

Add New Item) với tên là HelloService.asmx.

Hình 3.4: Bước 2 Tạo một ASP.NET Web Service đơn giản
24



 File code-behind HelloService.asmx.cs khi được tạo ra đã chứa sẵn phương

thức HelloWorld().
HelloService.asmx:
<%@ WebService Language=”C#” CodeBehind=”HelloService.asmx.cs” %>
HelloService.asmx.cs (v1):
1

using System;

2

using System.Collections.Generic;

3

using System.Linq;

4

using System.Web;

5

using System.Web.Services;

6
7

namespace Y2FirstWebService


8

{

9

/// <summary>

10

/// Summary description for MathService

11

/// </summary>

12

[WebService(Namespace = " />
13

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

14

[System.ComponentModel.ToolboxItem(false)]

15


// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the

16

// [System.Web.Script.Services.ScriptService]

17

public class HelloService : System.Web.Services.WebService

25


×