【问题标题】:How to add version number in WSDL for a WCF service?如何在 WSDL 中为 WCF 服务添加版本号?
【发布时间】:2010-05-31 06:36:23
【问题描述】:

我正在寻找向为 WCF 服务创建的 wsdl 添加版本号。让我知道将版本号添加为数据合同的一部分还是在soap标头中是否是一种好习惯?如果是这样怎么办?此版本号将有助于找出最新的 wsdl。

感谢和问候, 普里亚.R

【问题讨论】:

    标签: wcf wsdl


    【解决方案1】:

    您希望添加这些信息的准确程度(或者更确切地说,是在哪里)?如果它只是为了更容易诊断问题提供信息(即它不影响如何使用 WSDL 或生成代码),那么应该可以通过实现自定义 IWsdlExportExtension 来做到这一点。这是我不久前写的一个older sample 实现,它可能会让您了解它的使用方式。

    【讨论】:

    • 感谢 Tomasr。实际上我需要设置和获取版本值。我需要从非 .Net 客户端使用它,比如从 java 中使用。
    • 那么您究竟希望如何在客户端中使用该版本信息?从 WSDL 生成代码时?我提出这个是因为 WSDL 通常只在开发中使用,它并不是你在运行时真正使用的东西,所以我对你如何使用它感到有些困惑。除非,也许,您的意思是最终以某种方式将版本信息嵌入到客户端和服务器交换的消息中,在这种情况下,调整 WSDL 无论如何都不会奏效,您需要更改您的消息传递本身。
    • 实际上我们是在运行时为一组特定的 ppl 创建 WSDL。我们希望在创建 wsdl 时创建版本信息。如果某人使用的版本低于属于他的组的 wsdl 版本,他应该再次下载新的 wsdl。这是我们的要求。
    • 好吧,我仍然不明白为什么你想在运行时使用 WSDL,或者你打算如何强制人们再次获取它,如果你只有 WSDL 中的版本号文件本身。在任何情况下,实际上都没有标准的方法来添加它,所以你几乎被困在某处使用自定义属性并在两端添加工具来生产/使用它(虽然不确定这在 java 方面有多容易)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-01
    相关资源
    最近更新 更多