WEB SERVICES WSDL và CÀI ĐẶT

Sinh viên: Bùi Hoàng Đức Trần Tuấn Anh Đoàn Việt Dũng Phạm Hoàng Tiến Giảng viên: TS. Vũ Thị Hương Giang

– Không được phổ biến đặc biệt sau WSDL 2. tất cả đều sử dụng WSDL 1.1(2003). – Theo khảo sát 32 web service ngẫu nhiên trên xmethods.org/wiki/Web_Application_De scription_Language) .0.0(2007) – 2.1 • WADL: for RESTful web service.WSDL and WADL • WSDL: 1.wikipedia.com.0: cho RESTful Web services. 2. (http://en.

1: http://schemas. – xmlns : namespace của văn bản WSDL. các attribute quan trọng: – name: tên của web service. gồm 4 phần chính .org/ns/wsdl • <definitions> là các nhóm định nghĩa.Cấu trúc chung của một văn bản WSDL • Document element là <definitions>.w3.xmlsoap.0: http://www. • WSDL 1.org/wsdl/ • WSDL 2.

Cấu trúc của 1 văn bản WSDL .

. Các định nghĩa kiểu dữ liệu thường được viết trong hệ thống XSD(extensible schema definition).<types> • <types>: optional. cung cấp định nghĩa các kiểu dữ liệu được sử dụng ở các thông điệp.

xsd" /> </xsd:schema> </types> Nếu không có kiểu nào được định nghĩa trong type: <types /> .Ví dụ <types> • • • • • • • • Sử dụng 1 XSD bên ngoài <types> <xsd:schema> <xsd:import namespace="http://eg/" schemaLocation="HelloService_schema1.

--Request/---Response với „---„ phản ảnh operation liên kết với message. . • Tên của các message có dạng ---In/---Out.<message> • Định nghĩa các thông điệp sử dụng trong web service. Thứ tự của các message phản ánh cách hoạt động của web service: request/response hay solicit/response.

Phần trong {} được lặp lại nhiều lần và trong các element có nhiều attribute.”> <output message=”.. mỗi operation được mô tả bởi các input/output message .. Nó giống như là một interface trong ngôn ngữ Java: cho biết các operation và message nhưng không cho biết cài đặt bên trong..<portType> • biểu diễn dịch vụ như là một tập named operation... .”> </operation>} </portType> • Phần “.. <portType> {<operation> <input message=”.” là một datatype trong một namespace nào đó.

... /> {<operation> <soap:operation . <binding> <soap:binding .<binding> Mô tả các chi tiết rõ ràng của web service. /> <input> <soap:input> </input> <output> <soap:output> </output> </operation> } </binding> . Nó giống như là lớp cài đặt một interface trong Java..

Giá trị „document‟ nghĩa là các message có sử dụng các element được định nghĩa bởi người sử dụng. còn giá trị „encoded‟ nghĩa là là định nghĩa kiểu dữ liệu của service theo các luật mã hóa nào đó.org/2001/XMLSchema .1. „rpc‟ nghĩa là các phần trong message chỉ sử dụng các kiểu dữ liệu cơ bản có sẵn trong namespace http://www.w3. thường là các luật mã hóa trong đặc tả SOAP 1.Attributes of <binding> • style: nhận giá trị „rpc‟ hoặc „document‟. • use : nhận giá trị „literal‟ hoặc „encoded‟. . Việc sử dụng „encoded‟ là không tương thích chuẩn WS-I nên ít được sử dụng. Giá trị „literal‟ nghĩa là định nghĩa kiểu dữ liệu của service theo đúng nguyên văn XML schema của WSDL.

. <service name=”.” binding=”...”> <port name=”. PortNumber>..”> <soap:address location=”.. Service sẽ liệt kê một hoặc nhiều port.. Một endpoint được mô tả là một URL mà các message có thể gửi tới để mà sử dụng dịch vụ. mỗi port gồm một portType (interface) và một binding(implementation).. trong đó..” /> </port> </service> • Thuật ngữ „port‟ là lấy từ giao thức TCP.. mỗi port tại một IPAdress sẽ phục vụ một dịch vụ nhất định.<service> • Định nghĩa một hoặc nhiều endpoint mà service hoạt động. một kết nối được mô tả bởi một cặp <IPAddress.

2(năm 2003. SOAP là viết tắt của „Simple Object Access Protocol‟).SOAP • SOAP là giao thức được dùng để mà các web service liên lạc được với nhau. HTTP GET. SOAP trở thành danh từ riêng). . SOAP 1. trong đó. trong đó.1 bên cạnh SOAP1.1(năm 2000. • SOAP có 2 phiên bản: SOAP 1. • Đa số các web service mà em gặp (như AmazonWebService) đều có hỗ trợ các giao thức SOAP 1. HTTP POST.2.

SOAP messages .

youtube.ecubicle.SOAP request message <?xml version="1.com/watch?v=Z4t8LrUSTMo</fileURL> </GetDownloadURL> </S:Body> </S:Envelope> .xmlsoap.org/soap/envelope/"> <S:Body> <GetDownloadURL xmlns="http://www.0" ?> <S:Envelope xmlns:S="http://schemas.net/"> <fileURL>http://www.

w3.w3.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.keywords=NA SA%252CShuttle%252CRSS%2520Retraction&amp.plid=AARsgq_hLYy9qaVM&amp.ecubicle.t=vjVQa1PpcFNF57VeqNKmEadvgzruTu8xpwNR MkWPI%3D&amp.com/get_video?video_id=Z4t8LrU STMo&amp.l=255&amp.net/"> <GetDownloadURLResult>http://www.youtube.org/2001/XMLSchema-instance" xmlns:xsd="http://www.hl=en&amp.org/2001/XMLSchema"> <soap:Body> <GetDownloadURLResponse xmlns="http://www.sk=HHKkhrTi_MBfwyOl9RjxYrKsN2Fgd4wC&amp.fm t_map=35%2F640000%2F9%2F0%2F115%2C34%2F0%2F9%2F0%2F115%2C5 %2F0%2F7%2F0%2F0&amp.org/soap/envelope/" xmlns:xsi="http://www.xmlsoap.cr=US </GetDownloadURLResult> </GetDownloadURLResponse> </soap:Body> </soap:Envelope> .SOAP response message <?xml version="1.

ecubicle. <wsdl:types> <s:schema elementFormDefault="qualified" targetNamespace="http://www.net/"> <s:element name="GetDownloadURL"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="fileURL" type="s:string" /> </s:sequence> </s:complexType> </s:element> <s:element name="GetDownloadURLResponse"> <s:complexType> <s:sequence> <s:element minOccurs="0" maxOccurs="1" name="GetDownloadURLResult" type="s:string" /> </s:sequence> </s:complexType> </s:element> <s:element name="string" nillable="true" type="s:string" /> </s:schema> </wsdl:types> <wsdl:message name="GetDownloadURLSoapIn"> <wsdl:part name="parameters" element="tns:GetDownloadURL" /> </wsdl:message> <wsdl:message name="GetDownloadURLSoapOut"> <wsdl:part name="parameters" element="tns:GetDownloadURLResponse" /> </wsdl:message .Kiểu của các SOAP message được định nghĩa trong văn bản WSDL.

0 – Chú ý: các lib của JAX-WS đã được cài đặt vào Tomcat 6. • Cài đặt web service trên Tomcat 6.0 .Ví dụ minh họa • Phát triển 1 web service Encrypt – Có 1 phương thức là int getEncryptionNumber(String str) Trả lại 1 mã hóa tương ứng của 1 xâu.

• WSServletContextListener sẽ đọc sun-jaxws.util. nó gọi deploy() method của từng object để tạo ra 1 RuntimeModel sử dụng RuntimeModeler.Cơ chế hoạt động • Mỗi lần web application được initialized. • Tức là: RuntimeModeler tạo ra 1 runtime model của 1 SEI (portClassservice endpoint interface) lớp cài đặt Web service endpoint.xml và tạo ra 1 java.List các objects RuntimeEndpointInfo. • Mỗi RuntimeModel là một model của a web service và có thể xử lý được các request đến . • Sau đó.

xml.ws.Phát triển sử dụng JAX-WS Request SOAP message com. WSServlet Response SOAP message Response SOAP message Request SOAP message Web service .sun.http.tra nsport.servlet.

Phát triển từ WSDL wsdl SOSEServlet WSDL document Request SOAP message SOSEServlet Response SOAP message .

Sign up to vote on this title
UsefulNot useful