Soap 具有键/值对的WSDL枚举限制

Soap 具有键/值对的WSDL枚举限制,soap,wsdl,enumeration,Soap,Wsdl,Enumeration,我正在开发一个SOAPWebService,它具有许多使用枚举限制的输入字段 这些枚举非常类似于HTML选择/选项设置;我期望返回某个值,但该值的标签也应该使用WSDL公开 例如:客户希望添加有关其房屋的保险单,因此需要指定所涉及的建筑类型 <xsd:restriction base="xsd:string"> <xsd:enumeration value="00001" /> <xsd:enumeration value="00002" /> &

我正在开发一个SOAPWebService,它具有许多使用枚举限制的输入字段

这些枚举非常类似于HTML选择/选项设置;我期望返回某个值,但该值的标签也应该使用WSDL公开

例如:客户希望添加有关其房屋的保险单,因此需要指定所涉及的建筑类型

<xsd:restriction base="xsd:string">
  <xsd:enumeration value="00001" />
  <xsd:enumeration value="00002" />
  <xsd:enumeration value="00003" />
</xsd:restriction>

但是,客户尚未了解这些值1、2和3是什么。比如说:

<xsd:restriction base="xsd:string">
  <xsd:enumeration value="00001" label="Brick and mortar" />
  <xsd:enumeration value="00002" label="Straw" />
  <xsd:enumeration value="00003" label="Aircastle" />
</xsd:restriction>
<option>
  <key>00001</key>
  <label>Brick and mortar</label>
</option>

如果客户能够将这些标签展示给消费者,那将是一件好事

这种构造是否有标准的WSDL注释/语法

这种构造是否有标准的WSDL注释/语法

恐怕不行。XML模式用于将值约束在指定的一组可能值内。当客户端向您发送请求时,具有限制类型的元素将只允许(在您的情况下)具有00001、00002或00003的值,否则它将无效

该限制仅指定值,不能添加标签。您最多可以添加一个
,但那只是文档。在客户端UI中,每个客户端都有责任说00001实际上是“砖头和灰泥”,00002是“稻草”等等

如果您不想这样做,而是想同时返回标签,那么您需要一个稍微复杂一点的对象,可能是这样的:

<xsd:restriction base="xsd:string">
  <xsd:enumeration value="00001" label="Brick and mortar" />
  <xsd:enumeration value="00002" label="Straw" />
  <xsd:enumeration value="00003" label="Aircastle" />
</xsd:restriction>
<option>
  <key>00001</key>
  <label>Brick and mortar</label>
</option>

00001
砖混砂浆
您提供了一个标签,并使用以下模式限制密钥:

<xsd:simpleType name="ValuesType">
  <xsd:restriction base="xsd:string">
    <xsd:enumeration value="00001" />
    <xsd:enumeration value="00002" />
    <xsd:enumeration value="00003" />
  </xsd:restriction>
</xsd:simpleType>

<xsd:complexType name="OptionType">
    <xsd:sequence>
      <xsd:element name="key" type="ValuesType" />
      <xsd:element name="label" type="xsd:string" />
    </xsd:sequence>
</xsd:complexType>


您可以将选项列表返回给客户机,客户机可以在界面中以
作为值,以
标签
作为
输入中的选项文本,而在请求时,您将返回所选值(即所选
)。

我通过在“ValuesTypes”类