WSDL - Hướng dẫn nhanh

WSDL là viết tắt của Ngôn ngữ Mô tả Dịch vụ Web. Đây là định dạng tiêu chuẩn để mô tả một dịch vụ web. WSDL được phát triển chung bởi Microsoft và IBM.

Các tính năng của WSDL

  • WSDL là một giao thức dựa trên XML để trao đổi thông tin trong các môi trường phân tán và phi tập trung.

  • Các định nghĩa WSDL mô tả cách truy cập một dịch vụ web và những hoạt động mà nó sẽ thực hiện.

  • WSDL là một ngôn ngữ để mô tả cách giao tiếp với các dịch vụ dựa trên XML.

  • WSDL là một phần không thể thiếu của Mô tả, Khám phá và Tích hợp Phổ quát (UDDI), một cơ quan đăng ký kinh doanh toàn cầu dựa trên XML.

  • WSDL là ngôn ngữ mà UDDI sử dụng.

  • WSDL được phát âm là 'wiz-xỉn' và được đánh vần là 'WSD-L'.

Sử dụng WSDL

WSDL thường được sử dụng kết hợp với SOAP và Lược đồ XML để cung cấp các dịch vụ web qua Internet. Một chương trình khách kết nối với một dịch vụ web có thể đọc WSDL để xác định những chức năng nào khả dụng trên máy chủ. Bất kỳ kiểu dữ liệu đặc biệt nào được sử dụng đều được nhúng vào tệp WSDL ở dạng Lược đồ XML. Sau đó máy khách có thể sử dụng SOAP để thực sự gọi một trong các hàm được liệt kê trong WSDL.

Lịch sử của WSDL

WSDL 1.1 đã được Ariba, IBM và Microsoft gửi dưới dạng Ghi chú W3C để mô tả các dịch vụ cho Hoạt động XML của W3C trên các giao thức XML vào tháng 3 năm 2001.

WSDL 1.1 chưa được World Wide Web Consortium (W3C) xác nhận, tuy nhiên nó vừa phát hành bản nháp cho phiên bản 2.0 sẽ là một khuyến nghị (một tiêu chuẩn chính thức) và do đó được W3C xác nhận.

WSDL chia các dịch vụ web thành ba phần tử cụ thể, có thể nhận dạng và có thể được kết hợp hoặc sử dụng lại sau khi được xác định.

Ba yếu tố chính của WSDL có thể được định nghĩa riêng biệt là:

  • Types
  • Operations
  • Binding

Một tài liệu WSDL có nhiều phần tử khác nhau, nhưng chúng nằm trong ba phần tử chính này, có thể được phát triển thành các tài liệu riêng biệt và sau đó chúng có thể được kết hợp hoặc sử dụng lại để tạo thành các tệp WSDL hoàn chỉnh.

Phần tử WSDL

Tài liệu WSDL chứa các phần tử sau:

  • Definition- Nó là phần tử gốc của tất cả các tài liệu WSDL. Nó xác định tên của dịch vụ web, khai báo nhiều vùng tên được sử dụng trong suốt phần còn lại của tài liệu và chứa tất cả các phần tử dịch vụ được mô tả ở đây.

  • Data types - Các kiểu dữ liệu được sử dụng trong các thông báo ở dạng lược đồ XML.

  • Message - Nó là một định nghĩa trừu tượng của dữ liệu, dưới dạng một thông báo được trình bày dưới dạng toàn bộ tài liệu hoặc dưới dạng các đối số được ánh xạ tới một lệnh gọi phương thức.

  • Operation - Đó là định nghĩa trừu tượng của hoạt động cho một thông báo, chẳng hạn như đặt tên cho một phương thức, hàng đợi thông báo hoặc quy trình nghiệp vụ, sẽ chấp nhận và xử lý thông báo.

  • Port type- Nó là một tập hợp các thao tác trừu tượng được ánh xạ tới một hoặc nhiều điểm cuối, xác định tập hợp các thao tác cho một ràng buộc; tập hợp các hoạt động, vì nó là trừu tượng, có thể được ánh xạ tới nhiều phương tiện truyền tải thông qua các ràng buộc khác nhau.

  • Binding - Đây là giao thức cụ thể và các định dạng dữ liệu cho các hoạt động và thông báo được xác định cho một loại cổng cụ thể.

  • Port - Nó là sự kết hợp của một ràng buộc và một địa chỉ mạng, cung cấp địa chỉ đích của giao tiếp dịch vụ.

  • Service- Nó là một tập hợp các điểm cuối có liên quan bao gồm các định nghĩa dịch vụ trong tệp; các dịch vụ lập bản đồ ràng buộc với cổng và bao gồm mọi định nghĩa về khả năng mở rộng.

Ngoài các yếu tố chính này, đặc tả WSDL cũng xác định các yếu tố tiện ích sau:

  • Documentation - Phần tử này được sử dụng để cung cấp tài liệu mà con người có thể đọc được và có thể được đưa vào bên trong bất kỳ phần tử WSDL nào khác.

  • Import - Phần tử này được sử dụng để nhập các tài liệu WSDL khác hoặc các Lược đồ XML.

NOTE - Các phần WSDL thường được tạo tự động bằng các công cụ nhận biết dịch vụ web.

Cấu trúc tài liệu WSDL

Cấu trúc chính của tài liệu WSDL trông như thế này:

<definitions>
   <types>
      definition of types........
   </types>

   <message>
      definition of a message....
   </message>

   <portType>
      <operation>
         definition of a operation.......  
      </operation>
   </portType>

   <binding>
      definition of a binding....
   </binding>

   <service>
      definition of a service....
   </service>
</definitions>

Một tài liệu WSDL cũng có thể chứa các phần tử khác, như phần tử mở rộng và phần tử dịch vụ để có thể nhóm các định nghĩa của một số dịch vụ web lại với nhau trong một tài liệu WSDL duy nhất.

Tiếp tục phân tích ví dụ về Tài liệu WSDL.

Dưới đây là tệp WSDL được cung cấp để trình diễn một chương trình WSDL đơn giản.

Hãy giả sử dịch vụ cung cấp một chức năng công khai duy nhất, được gọi là sayHello . Hàm này mong đợi một tham số chuỗi đơn và trả về lời chào chuỗi đơn. Ví dụ: nếu bạn truyền tham số world thì hàm dịch vụ sayHello trả về lời chào, "Hello, world!".

Thí dụ

Nội dung của tệp HelloService.wsdl -

<definitions name = "HelloService"
   targetNamespace = "http://www.examples.com/wsdl/HelloService.wsdl"
   xmlns = "http://schemas.xmlsoap.org/wsdl/"
   xmlns:soap = "http://schemas.xmlsoap.org/wsdl/soap/"
   xmlns:tns = "http://www.examples.com/wsdl/HelloService.wsdl"
   xmlns:xsd = "http://www.w3.org/2001/XMLSchema">
 
   <message name = "SayHelloRequest">
      <part name = "firstName" type = "xsd:string"/>
   </message>
	
   <message name = "SayHelloResponse">
      <part name = "greeting" type = "xsd:string"/>
   </message>

   <portType name = "Hello_PortType">
      <operation name = "sayHello">
         <input message = "tns:SayHelloRequest"/>
         <output message = "tns:SayHelloResponse"/>
      </operation>
   </portType>

   <binding name = "Hello_Binding" type = "tns:Hello_PortType">
      <soap:binding style = "rpc"
         transport = "http://schemas.xmlsoap.org/soap/http"/>
      <operation name = "sayHello">
         <soap:operation soapAction = "sayHello"/>
         <input>
            <soap:body
               encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/"
               namespace = "urn:examples:helloservice"
               use = "encoded"/>
         </input>
		
         <output>
            <soap:body
               encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/"
               namespace = "urn:examples:helloservice"
               use = "encoded"/>
         </output>
      </operation>
   </binding>

   <service name = "Hello_Service">
      <documentation>WSDL File for HelloService</documentation>
      <port binding = "tns:Hello_Binding" name = "Hello_Port">
         <soap:address
            location = "http://www.examples.com/SayHello/" />
      </port>
   </service>
</definitions>

Phân tích ví dụ

  • Definitions - HelloService

  • Type - Sử dụng các kiểu dữ liệu dựng sẵn và chúng được định nghĩa trong XMLSchema.

  • Message -

    • sayHelloRequest - tham số firstName

    • sayHelloresponse - giá trị trả lại lời chào

  • Port Type - hoạt động sayHello bao gồm một yêu cầu và một dịch vụ phản hồi.

  • Binding - Hướng sử dụng giao thức truyền tải SOAP HTTP.

  • Service - Dịch vụ có sẵn tại http://www.examples.com/SayHello/

  • Port - Liên kết ràng buộc với URI http://www.examples.com/SayHello/ nơi dịch vụ đang chạy có thể được truy cập.

Các <definitions>phần tử phải là phần tử gốc của tất cả các tài liệu WSDL. Nó xác định tên của dịch vụ web.

Đây là đoạn mã từ chương cuối cùng sử dụng phần tử định nghĩa .

<definitions name="HelloService"
   targetNamespace="http://www.examples.com/wsdl/HelloService.wsdl"
   xmlns="http://schemas.xmlsoap.org/wsdl/"
   xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
   xmlns:tns="http://www.examples.com/wsdl/HelloService.wsdl"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   ................................................
</definitions>

Từ ví dụ trên, chúng ta có thể kết luận rằng các định nghĩa -

  • là một vùng chứa tất cả các phần tử khác.

  • chỉ định rằng tài liệu này được gọi là HelloService .

  • chỉ định một thuộc tính targetNamespace . Các targetNamespace là một quy ước của XML Schema cho phép các tài liệu WSDL để đề cập đến bản thân. Trong ví dụ này, chúng tôi đã chỉ định một targetNamespace là http://www.examples.com/wsdl/HelloService.wsdl

  • chỉ định một không gian tên mặc định: xmlns = http: //schemas.xmlsoap.org/wsdl/. Do đó, tất cả các phần tử không có tiền tố vùng tên, chẳng hạn như message hoặc portType , được coi là một phần của vùng tên WSDL mặc định.

  • chỉ định nhiều không gian tên được sử dụng trong suốt phần còn lại của tài liệu.

NOTE- Đặc tả vùng tên không yêu cầu tài liệu phải có mặt tại vị trí đã cho. Điểm quan trọng là bạn chỉ định một giá trị là duy nhất, khác với tất cả các không gian tên khác được xác định.

Một dịch vụ web cần xác định đầu vào và đầu ra của nó và cách chúng được ánh xạ vào và ra khỏi dịch vụ. WSDL<types>phần tử đảm nhận việc xác định các kiểu dữ liệu được sử dụng bởi dịch vụ web. Các loại là tài liệu XML, hoặc các phần tài liệu.

  • Phần tử loại mô tả tất cả các kiểu dữ liệu được sử dụng giữa máy khách và máy chủ.

  • WSDL không chỉ gắn liền với một hệ thống đánh máy cụ thể.

  • WSDL sử dụng đặc tả Lược đồ XML W3C làm lựa chọn mặc định của nó để xác định các kiểu dữ liệu.

  • Nếu dịch vụ chỉ sử dụng các kiểu đơn giản được tích hợp sẵn trong Lược đồ XML, chẳng hạn như chuỗi và số nguyên, thì phần tử kiểu không bắt buộc.

  • WSDL cho phép các loại được xác định trong các phần tử riêng biệt để các loại có thể được sử dụng lại với nhiều dịch vụ web.

Đây là một đoạn mã được lấy từ đặc tả W3C. Đoạn mã này mô tả cách một phần tử kiểu có thể được sử dụng trong WSDL.

<types>
   <schema targetNamespace = "http://example.com/stockquote.xsd"
      xmlns = "http://www.w3.org/2000/10/XMLSchema">
		
      <element name = "TradePriceRequest">
         <complexType>
            <all>
               <element name = "tickerSymbol" type = "string"/>
            </all>
         </complexType>
      </element>
		
      <element name = "TradePrice">
         <complexType>
            <all>
               <element name = "price" type = "float"/>
            </all>
         </complexType>
      </element>
		
   </schema>
</types>

Các kiểu dữ liệu giải quyết vấn đề xác định các kiểu dữ liệu và các định dạng bạn định sử dụng với các dịch vụ web của mình. Thông tin loại được chia sẻ giữa người gửi và người nhận. Do đó, người nhận thư cần quyền truy cập vào thông tin bạn đã sử dụng để mã hóa dữ liệu của mình và phải hiểu cách giải mã dữ liệu.

Các <message> phần tử mô tả dữ liệu được trao đổi giữa nhà cung cấp dịch vụ web và người tiêu dùng.

  • Mỗi Dịch vụ Web có hai thông báo: đầu vào và đầu ra.

  • Đầu vào mô tả các tham số cho dịch vụ web và đầu ra mô tả dữ liệu trả về từ dịch vụ web.

  • Mỗi tin nhắn chứa không hoặc nhiều hơn <part> , một tham số cho mỗi tham số của chức năng dịch vụ web.

  • Mỗi <part> tham số liên kết với một kiểu cụ thể được xác định trong <types> phần tử thùng chứa.

Hãy để chúng tôi lấy một đoạn mã từ chương Ví dụ về WSDL -

<message name = "SayHelloRequest">
   <part name = "firstName" type = "xsd:string"/>
</message>

<message name = "SayHelloResponse">
   <part name = "greeting" type = "xsd:string"/>
</message>

Ở đây, hai phần tử thông báo được xác định. Đầu tiên đại diện cho một thông báo yêu cầu SayHelloRequest và thứ hai đại diện cho một thông báo phản hồi SayHelloResponse .

Mỗi thư này chứa một phần tử duy nhất. Đối với yêu cầu, phần chỉ định các tham số chức năng; trong trường hợp này, chúng tôi chỉ định một tham số firstName . Đối với phản hồi, phần chỉ định các giá trị trả về của hàm; trong trường hợp này, chúng tôi chỉ định một giá trị trả về lời chào duy nhất.

Các <portType> phần tử kết hợp nhiều phần tử thông báo để tạo thành một hoạt động một chiều hoặc khứ hồi hoàn chỉnh.

Ví dụ, một <portType>có thể kết hợp một yêu cầu và một thông báo phản hồi thành một thao tác yêu cầu / phản hồi duy nhất. Điều này thường được sử dụng nhất trong các dịch vụ SOAP. Một portType có thể xác định nhiều hoạt động.

Hãy để chúng tôi lấy một đoạn mã từ chương Ví dụ về WSDL -

<portType name = "Hello_PortType">
   <operation name = "sayHello">
      <input message = "tns:SayHelloRequest"/>
      <output message = "tns:SayHelloResponse"/>
   </operation>
</portType>
  • Phần tử portType xác định một thao tác duy nhất, được gọi là sayHello .

  • Hoạt động bao gồm một thông báo đầu vào duy nhất SayHelloRequest và một

  • xuất thông báo SayHelloResponse .

Các mô hình hoạt động

WSDL hỗ trợ bốn mô hình hoạt động cơ bản -

Một chiều

Dịch vụ nhận được một tin nhắn. Do đó, hoạt động có một yếu tố đầu vào duy nhất . Ngữ pháp cho hoạt động một chiều là:

<wsdl:definitions .... > 
   <wsdl:portType .... > *
      <wsdl:operation name = "nmtoken">
         <wsdl:input name = "nmtoken"? message = "qname"/>
      </wsdl:operation>
   </wsdl:portType >
</wsdl:definitions>

Yêu cầu-phản hồi

Dịch vụ nhận được tin nhắn và gửi phản hồi. Do đó, hoạt động có một phần tử đầu vào , tiếp theo là một phần tử đầu ra . Để đóng gói lỗi, một phần tử lỗi tùy chọn cũng có thể được chỉ định. Ngữ pháp cho thao tác phản hồi yêu cầu là:

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

Solicit-hồi đáp

Dịch vụ gửi tin nhắn và nhận phản hồi. Do đó, hoạt động có một phần tử đầu ra , tiếp theo là một phần tử đầu vào . Để đóng gói lỗi, một phần tử lỗi tùy chọn cũng có thể được chỉ định. Ngữ pháp cho thao tác phản hồi gợi ý là:

<wsdl:definitions .... >
   <wsdl:portType .... > *
      <wsdl:operation name = "nmtoken" parameterOrder = "nmtokens">
         <wsdl:output name = "nmtoken"? message = "qname"/>
         <wsdl:input name = "nmtoken"? message = "qname"/>
         <wsdl:fault name = "nmtoken" message = "qname"/>*
      </wsdl:operation>
   </wsdl:portType >
</wsdl:definitions>

Thông báo

Dịch vụ sẽ gửi một tin nhắn. Do đó, hoạt động có một phần tử đầu ra duy nhất . Sau đây là ngữ pháp cho thao tác thông báo:

<wsdl:definitions .... >
   <wsdl:portType .... > *
      <wsdl:operation name = "nmtoken">
         <wsdl:output name = "nmtoken"? message = "qname"/>
      </wsdl:operation>
   </wsdl:portType>
</wsdl:definitions>

Các <binding>phần tử cung cấp chi tiết cụ thể về cách một hoạt động portType thực sự sẽ được truyền qua dây.

  • Các liên kết có thể được cung cấp thông qua nhiều phương tiện truyền tải bao gồm HTTP GET, HTTP POST hoặc SOAP.

  • Các ràng buộc cung cấp thông tin cụ thể về giao thức nào đang được sử dụng để chuyển các hoạt động của portType .

  • Các ràng buộc cung cấp thông tin nơi đặt dịch vụ.

  • Đối với giao thức SOAP, ràng buộc là <soap:binding>và truyền tải là các thông báo SOAP trên giao thức HTTP.

  • Bạn có thể chỉ định nhiều ràng buộc cho một portType .

Phần tử ràng buộc có hai thuộc tính: tên và thuộc tính kiểu .

<binding name = "Hello_Binding" type = "tns:Hello_PortType">

Các tên thuộc tính định nghĩa tên của ràng buộc, và các loại điểm thuộc tính vào cổng cho các ràng buộc, trong trường hợp này "tns: Hello_PortType" cổng.

SOAP Ràng buộc

WSDL 1.1 bao gồm các phần mở rộng được tích hợp sẵn cho SOAP 1.1. Nó cho phép bạn chỉ định các chi tiết cụ thể của SOAP bao gồm tiêu đề SOAP, kiểu mã hóa SOAP và tiêu đề SOAPAction HTTP. Các phần tử mở rộng SOAP bao gồm:

  • soap:binding
  • soap:operation
  • soap:body

xà phòng: ràng buộc

Phần tử này chỉ ra rằng ràng buộc sẽ được cung cấp thông qua SOAP. Các kiểu thuộc tính chỉ ra phong cách tổng thể của định dạng thông điệp SOAP. Giá trị kiểu của rpc chỉ định định dạng RPC.

Các phương tiện giao thông thuộc tính chỉ ra việc vận chuyển các thông điệp SOAP. Giá trị http://schemas.xmlsoap.org/soap/http cho biết truyền tải SOAP HTTP, trong khi http://schemas.xmlsoap.org/soap/smtp cho biết truyền tải SOAP SMTP.

xà phòng: hoạt động

Phần tử này chỉ ra sự ràng buộc của một hoạt động cụ thể với việc triển khai SOAP cụ thể. Các SOAPAction quy định cụ thể thuộc tính rằng SOAPAction tiêu đề HTTP được sử dụng để xác định các dịch vụ.

xà phòng: cơ thể

Phần tử này cho phép bạn xác định chi tiết của các thông báo đầu vào và đầu ra. Trong trường hợp của HelloWorld, phần tử body chỉ định kiểu mã hóa SOAP và URN vùng tên được liên kết với dịch vụ được chỉ định.

Đây là đoạn mã từ chương Ví dụ -

<binding name = "Hello_Binding" type = "tns:Hello_PortType">
   <soap:binding style = "rpc" transport = "http://schemas.xmlsoap.org/soap/http"/>
   <operation name = "sayHello">
      <soap:operation soapAction = "sayHello"/>
			
      <input>
         <soap:body
            encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/"
            namespace = "urn:examples:helloservice" use = "encoded"/>
      </input>
			
      <output>
         <soap:body
            encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/"
            namespace = "urn:examples:helloservice" use = "encoded"/>
      </output>
   </operation>
</binding>

A <port> phần tử xác định một điểm cuối riêng lẻ bằng cách chỉ định một địa chỉ duy nhất cho một ràng buộc.

Đây là ngữ pháp để chỉ định một cổng -

<wsdl:definitions .... >
   <wsdl:service .... > *
      <wsdl:port name = "nmtoken" binding = "qname"> *
         <-- extensibility element (1) -->
      </wsdl:port>
   </wsdl:service>
</wsdl:definitions>
  • Phần tử cổng có hai thuộc tính: tênràng buộc .

  • Các tên thuộc tính cung cấp một tên duy nhất trong số tất cả các cổng được định nghĩa trong tài liệu kèm theo WSDL.

  • Thuộc tính ràng buộc đề cập đến liên kết sử dụng các quy tắc liên kết được xác định bởi WSDL.

  • Các yếu tố khả năng mở rộng ràng buộc được sử dụng để chỉ định thông tin địa chỉ cho cổng.

  • Một cổng KHÔNG ĐƯỢC chỉ định nhiều hơn một địa chỉ.

  • Một cổng KHÔNG ĐƯỢC chỉ định bất kỳ thông tin ràng buộc nào ngoài thông tin địa chỉ.

Đây là một đoạn mã từ chương Ví dụ -

<service name = "Hello_Service">
   <documentation>WSDL File for HelloService</documentation>
   <port binding = "tns:Hello_Binding" name = "Hello_Port">
      <soap:address
         location = "http://www.examples.com/SayHello/">
   </port>
</service>

Các <service>phần tử xác định các cổng được hỗ trợ bởi dịch vụ web. Đối với mỗi giao thức được hỗ trợ, có một phần tử cổng. Phần tử dịch vụ là một tập hợp các cổng.

  • Máy khách dịch vụ web có thể học những điều sau từ phần tử dịch vụ:

    • nơi để truy cập dịch vụ,
    • thông qua cổng nào để truy cập dịch vụ web và
    • cách xác định các thông điệp truyền thông.
  • Phần tử dịch vụ bao gồm phần tử tài liệu để cung cấp tài liệu mà con người có thể đọc được.

Đây là một đoạn mã từ chương Ví dụ -

<service name = "Hello_Service">
   <documentation>WSDL File for HelloService</documentation>
   <port binding = "tns:Hello_Binding" name = "Hello_Port">
      <soap:address
         location = "http://www.examples.com/SayHello/">
   </port>
</service>

Các thuộc tính ràng buộc của phần tử cổng liên kết địa chỉ của dịch vụ với một phần tử ràng buộc được xác định trong dịch vụ web. Trong ví dụ này, đây là Hello_Binding

<binding name =" Hello_Binding" type = "tns:Hello_PortType">
   <soap:binding style = "rpc"
      transport = "http://schemas.xmlsoap.org/soap/http"/>
   <operation name = "sayHello">
      <soap:operation soapAction = "sayHello"/>
		
      <input>
         <soap:body
            encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/"
            namespace = "urn:examples:helloservice" use = "encoded"/>
      </input>
			
      <output>
         <soap:body
            encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/"
            namespace = "urn:examples:helloservice" use = "encoded"/>
      </output>
   </operation>
</binding>

Chúng tôi đã trình bày những kiến ​​thức cơ bản về WSDL trong hướng dẫn này. Bước tiếp theo là tìm hiểu SOAP, UDDI và Dịch vụ Web.

Dịch vụ web

Dịch vụ Web là các ứng dụng Web tiêu chuẩn mở (XML, SOAP, HTTP, v.v.) tương tác với các ứng dụng Web khác nhằm mục đích trao đổi dữ liệu.

Để tìm hiểu thêm về Dịch vụ Web, hãy truy cập Hướng dẫn Dịch vụ Web.

UDDI

UDDI là một tiêu chuẩn dựa trên XML để mô tả, xuất bản và tìm kiếm các dịch vụ Web.

Để tìm hiểu thêm về UDDI, hãy truy cập Hướng dẫn UDDI.

XÀ BÔNG TẮM

SOAP là một giao thức dựa trên XML đơn giản cho phép các ứng dụng trao đổi thông tin qua HTTP.

Để tìm hiểu thêm về SOAP, hãy truy cập Hướng dẫn SOAP.

Nếu bạn quan tâm đến việc liệt kê công ty, trang web hoặc sách của mình dưới dạng tài nguyên WSDL thì vui lòng liên hệ theo địa chỉ [email protected]

Danh sách các thông số kỹ thuật của WSDL

Specification Draft / Proposal W3C Recommendation
     
WSDL 1.1 Lưu ý

15. Tháng 3 năm 2001

 
Các tình huống sử dụng WSDL

04. Tháng 6 năm 2002

 
Yêu cầu WSDL

28. Tháng 10 năm 2002

 
Kiến trúc WSDL

11. Tháng 2 năm 2004

 
Bảng chú giải thuật ngữ WSDL

11. Tháng 2 năm 2004

 
Các tình huống sử dụng WSDL

11. Tháng 2 năm 2004

 
Ngôn ngữ cốt lõi của WSDL 1.2

11. Tháng 6 năm 2003

 
WSDL 1.2 Mẫu thông báo

11. Tháng 6 năm 2003

 
WSDL 1.2 ràng buộc

11. Tháng 6 năm 2003

 
WSDL 2.0 Primer

27. Tháng 3 năm 2006

 
Ngôn ngữ cốt lõi của WSDL 2.0

27. Tháng 3 năm 2006

 
Các quảng cáo WSDL 2.0

27. Tháng 3 năm 2006

 
WSDL 2.0 SOAP 1.1 Ràng buộc

27. Tháng 3 năm 2006

 
Ánh xạ WSDL 2.0 RDF

18. Tháng 5 năm 2006

 
Lõi địa chỉ WS  

09. Tháng 5 năm 2006

WS định địa chỉ SOAP ràng buộc  

09. Tháng 5 năm 2006

Kiến trúc Web  

15. Tháng 12 năm 2004