📜  WSDL-元素(1)

📅  最后修改于: 2023-12-03 15:21:16.245000             🧑  作者: Mango

WSDL-元素

WSDL(Web Services Description Language)是一种用于描述Web服务的XML语言。WSDL文件包含了Web服务的端口、接口和绑定。在WSDL文件中,元素是描述Web服务的基本单位。

WSDL元素分类

WSDL元素可以分为以下几种类型:

  1. 定义元素(Definitions): 定义整个WSDL文档的根元素,它包含了各种类型的Web服务描述信息。
  2. 类型元素(Types): 定义WebService的数据类型。
  3. 消息元素(Message): 描述WebService上可用的消息,包括请求和响应消息。
  4. 操作元素(Operation): 描述要在WebService上执行的操作。
  5. 端口类型元素(Port Type): 定义WebService的接口。
  6. 绑定元素(Binding): 定义WebService的契约,并绑定端口类型到传输协议和消息格式上。
  7. 服务元素(Service): 定义WebService的网络地址、端口和代理信息。
WSDL元素详解
Definitions

Definitions元素是WSDL文件的根元素,它包括命名空间和所有其他WSDL元素,如类型定义、消息定义、接口定义和服务定义。

<definitions name="MyWebService"
    targetNamespace="http://www.mycompany.com/wsdl">
    ...
</definitions>
Types

Types元素定义了WebService中使用的数据类型。这些数据类型可以是XML Schema中定义的简单数据类型或者复合数据类型。

<types>
    <xs:schema ... >
        ...
    </xs:schema>
</types>
Message

Message元素定义了在WebService上处理的消息,包含名称和消息结构。

<message name="inputMessage">
    <part name="parameter" type="xs:string" />
</message>
Operation

Operation元素定义了在WebService上执行的操作,包括输入、输出和错误描述。

<operation name="myOperation">
    <input name="inputMessage" message="tns:inputMessage" />
    <output name="outputMessage" message="tns:outputMessage" />
    <fault name="faultMessage" message="tns:faultMessage" />
</operation>
Port Type

Port Type元素定义WebService的接口,描述了操作和消息交换的方式和协议。

<portType name="MyWebServicePortType">
    <operation name="myOperation" />
    ...
</portType>
Binding

Binding元素定义了WebService的实现方式和协议,将WS端口类型绑定到协议和消息格式上。

<binding name="myBinding" type="tns:MyWebServicePortType">
    <soap:binding style="document"
        transport="http://schemas.xmlsoap.org/soap/http" />
    <operation name="myOperation">
        <soap:operation soapAction="urn:MyWebServiceAction" />
        <input name="inputMessage">
            <soap:body use="literal" />
        </input>
        <output name="outputMessage">
            <soap:body use="literal" />
        </output>
    </operation>
    ...
</binding>
Service

Service元素定义WebService的网络地址、端口和代理信息。

<service name="MyWebService">
    <port name="MyWebServicePort" binding="tns:myBinding">
        <soap:address location="http://www.mycompany.com/MyWebService" />
    </port>
    ...
</service>
总结

WSDL文件是一种描述WebService的XML语言,元素描述WebService的基本单位,包括定义元素、类型元素、消息元素、操作元素、端口类型元素、绑定元素和服务元素。合理使用这些元素可以让我们更加清晰地描述WebService。