WSDL - Phần tử <binding>

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>