WSDL文档中允许多少WSDL规范可扩展性元素

时间:2011-05-24 15:45:48

标签: xml wsdl

可以使用可扩展性元素(例如SOAP)扩展wsdl规范。

这些可扩展性元素出现在wsdl文档的绑定,操作和端口部分(http://www.w3.org/TR/wsdl - 2.1 WSDL文档结构)

我正在尝试解析wsdl文档,并且规范似乎没有详细说明在给定位置可能出现多少可扩展性元素。例如。对于给定的绑定,可以应用多个扩展名,例如下面的示例吗?

<binding name="StockQuoteSoapBinding" type="defs:StockQuotePortType">
  <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
  <foo:otherextension foo="bar"/>

虽然没有定义扩展数量的限制,但是没有示例证明使用了多个扩展。

1 个答案:

答案 0 :(得分:0)

XML Schema for WSDL表示无限数量的元素(只要它们属于WSDL之外的命名空间)可以在定义为可扩展的元素之一中使用:

<xs:complexType name="tExtensibleDocumented" abstract="true">
    <xs:complexContent>
        <xs:extension base="wsdl:tDocumented">
            <xs:annotation><xs:documentation>
            This type is extended by component types to allow elements from other namespaces to be added.
            </xs:documentation></xs:annotation>
            <xs:sequence>
                <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="lax"/>
            </xs:sequence>
        </xs:extension>
    </xs:complexContent>
</xs:complexType>