XSD 第一个合约 - WCF Soap Web 服务

Posted

技术标签:

【中文标题】XSD 第一个合约 - WCF Soap Web 服务【英文标题】:XSD first contract - WCF Soap Web service 【发布时间】:2013-09-03 03:30:51 【问题描述】:

我正在使用 Visual Studio (2012) 创建一个 Web 服务。我不想费心手动创建 WSDL,但我真的希望能够使用 XSD 指定一些类型(或者可能全部),因为它使我能够限制某些元素(例如,要求元素存在)。

我怎样才能做到这一点,以便生成的自动生成的 WSDL 使用我的 XSD(具有相同的约束)?

目的是使接口(WSDL)尽可能准确(比 C# 中的接口更准确)。

【问题讨论】:

【参考方案1】:

理论上,您可以使用WSCF.Blue 从 XSD 生成 WSDL(和服务)。实际上,WCF 运行时将不支持您可以放入 XSD 中的所有约束。因此,最好的办法是使用普通的 WCF 数据协定并使用 WCF 允许的约束。例如:

[DataMember(IsRequired = true)]
public int i;

【讨论】:

我尝试使用这个约束,但它并没有改变 XSD(元素仍然是 nillable)。 WSCF.Blue 看起来不错(我已经看过了)——但它不支持 VS 2012

以上是关于XSD 第一个合约 - WCF Soap Web 服务的主要内容,如果未能解决你的问题,请参考以下文章

SOAP/WSDL/XSD 和 REST 方法之间的比较

在 WCF 服务中使用我们自己的 xsd 文件

使用 UriTemplate 在 WCF 中组合 SOAP/JSON/XML

WCF 服务而不是 ASMX Web 服务?

自定义 WCF Web 服务参考的 SOAP

使用soap web服务在spring boot中加载多个bean