WSDL2.0 <interface>
元素是WSDL 2.0文档的顶级元素。<interface>
用于定义具有<operation>
子元素的一个或多个操作的接口。 使用一系列输入和输出消息定义操作以形成输入-输出模式。
WSDL 2.0支持 3 种预定义的输入输出模式:
- in-only - 仅输入:端点接收消息并且不发送任何响应。
- robust-in-only - 仅输入:端点接收消息并且不发送任何响应。
- in-out - 输入后跟输出:端点接收消息并发回响应。
WSDL2.0 <interface>
元素的语法如下所示:
<wsdl:interface name=nmtoken0 extends=qname_list
styleDefault=uri_list>
<wsdl:fault name=nmtoken1 element=qname1/>
...
<-- in-only operation -->
<wsdl:operation name=nmtoken2 pattern=uri style=uri_list>
<wsdl:input messageLabel=name element=qname1/>
<wsdl:infault ref=qname2 messageLabel=In/>
</wsdl:operation>
<-- in-out operation -->
<wsdl:operation name=nmtoken2 pattern=uri style=uri_list>
<wsdl:input messageLabel=name element=qname1/>
<wsdl:output messageLabel=name element=qname1/>
<wsdl:infault ref=qname2 messageLabel=name/>
<wsdl:outfault ref=qname2 messageLabel=name/>
</wsdl:operation>
...
</wsdl:interface >
以下是关于<interface>
元素的解释:
name=nmtoken0
- 为接口提供引用名称。extends=qname_list
- 提供基础接口列表。styleDefault=uri_list
- 提供此接口的默认样式列表。name=nmtoken1
- 提供此故障消息的引用名称。element=qname1
- 指定此故障的数据元素,in
或out
消息。name=nmtoken2
- 为此操作提供引用名称。pattern=uri
- 指定此操作的消息模式。style=uri_list
- 提供此操作的样式列表。messageLabel=name
- 指定消息标签,该标签应与消息交换模式中的消息占位符名称匹配。ref=qname2
- 指定要在此操作中使用的故障消息。
以下是<interface>
元素的示例:
<wsdl:interface name=helloInterface >
<wsdl:operation name=Hello
pattern=http://www.w3.org/ns/wsdl/in-out
style=http://www.w3.org/ns/wsdl/style/iri>
<wsdl:input messageLabel=In element=hy:Hello/>
<wsdl:output messageLabel=Out element=hy:HelloResponse/>
</wsdl:operation>
</wsdl:interface>
在上面示例代码中,
- 接口
helloInterface
由一个名称为Hello
的操作定义。 - 操作
Hello
定义为带输入和输出的In
和Out
操作。 - 输入定义为使用数据元素 -
HelloRequest
。 - 输出定义为使用数据元素 -
HelloResponse
。 - 没有为
Hello
操作定义故障消息,但可以在之后再添加。