【问题标题】:Is there a way to discover WCF method signatures without generating the client code有没有办法在不生成客户端代码的情况下发现 WCF 方法签名
【发布时间】:2011-10-05 18:40:23
【问题描述】:

如果我可以访问 WSDL(基于 WCF)并假设我没有该服务的源代码,那么除了使用生成客户端类之外,是否有其他方法可以发现方法签名(带参数) “svcutil.exe”?

就像用于列出所有方法的 asmx 天一样,当您单击其中一个时,它会显示一个显示 Web 服务参数的页面。

【问题讨论】:

  • 只需阅读 WSDL(以及随附的 XSD) - 它们包含所有有关您的服务的信息....(与 svcutil 或 @987654322 相同@会做)
  • 我阅读了整个 wsdl 文件,它没有显示任何关于我的方法的参数 [OperationContracts]
  • @Baseel,检查 XSD 文件。
  • @VinayC 我在哪里可以找到 XSD?
  • @Bassel,如果您在 VS 中添加服务引用,您会在与 WSDL 文件相同的文件夹中找到 XSD。因此,如果您打开 WSDL 文件,您会发现架构导入 (<xsd:import) 的 url 指向相应的 XSD。

标签: asp.net wcf web-services


【解决方案1】:

WSDL(连同 XSD)是最终的服务文档,可以被代码使用。因此,您可以根据 WSDL 生成帮助页面。

.NET Framework 4 有built-in help page for WCF Web Http Services - 默认情况下它是禁用的,您需要启用它。我认为基于 SOAP 的 WCF 服务不存在类似的设施。

对于 ASMX 服务,有一个基于 WSDL 生成 html 帮助的内置页面。因此,您可以尝试类似的方法,或者修改该页面 (DefaultWsdlHelpGenerator.aspx) - 请参阅 this article 以了解如何生成 asmx 服务帮助。

【讨论】:

  • 我不知道这被称为“帮助页面”,谢谢。
  • WCF SOAP 服务帮助页面的替代方案是什么
  • @Bassel,正如答案中所说,我不相信存在替代方案。您必须通过检查 WSDL 来构建自己的逻辑来构建帮助页面。
  • 我找到了,它是 WCF 测试工具,它以非常简单的方式显示有关服务的所有内容,这是旧帮助页面的替代方案。
【解决方案2】:

实际上我找到了我真正需要的东西,它是 Visual Studio 附带的 WCF 测试客户端。这是发现任何服务方法和参数的好方法

【讨论】:

    猜你喜欢
    • 2018-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 2015-03-17
    相关资源
    最近更新 更多