【问题标题】:c# webservice, Disco.exe not generating .xsd filec# webservice,Disco.exe不生成.xsd文件
【发布时间】:2012-01-11 11:40:39
【问题描述】:

我正在尝试为我的测试 web 服务生成 xsd 架构(简单的 web 服务有一个带两个参数的 Add 函数),我正在使用 disco.exe,它正在生成 discomap、disco 和 wsdl 文件,但没有 XSD。如何生成 XSD 文件以及如何在使用 Web 服务时使用它来验证架构。

【问题讨论】:

  • 听起来,您似乎在 WSDL 文件的类型部分中嵌入了一个 XML 模式;并且您需要能够自动将 WSDL 文件中的 XSD 内容提取到一个独立的 XSD 文件中,然后您可以使用该文件来验证 XML。这是正确的吗?
  • DISCO.exe 生成的wsdl 也包含架构,我想知道为什么disco.exe 不在单独的xsd 文件中生成架构
  • DISCO 不会重写 WSDL/XSD 文件;它会通过解析引用(WSDL 导入、XSD 包含/导入)来发现它们。这意味着原始 WSDL 是按照您看到的方式编写的。如果您确认这确实是您正在寻找的内容,我可以回答您如何在 WSDL 类型部分中自动提取 XSD。

标签: c# web-services xsd


【解决方案1】:

wsdl 就足够了,因为它包含了其中的模式。为什么需要将 is 转换为 xsd?

如果您真的想这样做,请使用 wsdl.exe / svcutil.exe 将 wsdl 转换为 c# 类,然后使用 xsd.exe 将它们转回 xsd。

【讨论】:

  • 我想验证 xsd 架构,即如果缺少必填字段服务应该抛出适当的异常,我可以在 wsdl 上打开 xsd 验证吗?
【解决方案2】:

使用 svcutil.exe 生成架构

【讨论】:

    猜你喜欢
    • 2021-01-28
    • 2010-10-29
    • 1970-01-01
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多