gpt4 book ai didi

soap - 带有键/值对的 WSDL 枚举限制

转载 作者:行者123 更新时间:2023-12-04 14:49:18 24 4
gpt4 key购买 nike

我正在开发一个 SOAP 网络服务,它具有使用枚举限制的许多输入字段。

这些枚举很像 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>

如果客户端用于向消费者展示这些标签,那就太好了。

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

最佳答案

Is there any standard WSDL annotation/syntax for this construction?



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

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

如果您不想这样做,而是还想返回标签,那么您需要一个稍微复杂一点的对象,可能是这样的:
<option>
<key>00001</key>
<label>Brick and mortar</label>
</option>

您提供一个标签,并使用如下模式限制 key :
<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>

您可以向客户端返回选项列表,他们可以使用 key 在界面中显示它。作为值和 label作为 <select> 中选项的文本输入,而在请求时,您将取回选定的值(即选定的 key )。

关于soap - 带有键/值对的 WSDL 枚举限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9738034/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com