【问题标题】:Svcutil.exe - how to handle types common for many wsdl?Svcutil.exe - 如何处理许多 wsdl 常见的类型?
【发布时间】:2014-05-21 08:37:38
【问题描述】:

我在一个目录结构中有许多 WSDL 和引用的 XSD。 XSD 中的某些类型(例如公共消息头)在所有 WSDL 之间共享。我为每个 WSDL 运行 svcutil.exe,为服务及其类型提供单独的命名空间,但我想以某种方式重用常见类型,即标头,因为我希望为标头提供通用处理机制。如果每个头类型在不同的命名空间中,则类型不同,很难进行通用处理。

有人可以提出一个想法,如何解决这个问题?

编辑:我正在使用 XmlSerializer,所以我不能使用 svcutil.exe 的 /r 开关。

【问题讨论】:

    标签: .net xsd wsdl svcutil.exe


    【解决方案1】:

    svcutil 支持的一种方法是使用 /reference (/r) 开关。

    您可以生成公共类并在单独的程序集中编译它们(使用这些服务之一),然后在后续调用 svcutil 时将该程序集用作其他服务的引用。

    一个有用的参考可能是here。命令行参考是here

    【讨论】:

    • 不幸的是,我使用 XmlSerializer,没有 DataContractSerializer,因为我需要与 Java 进行互操作。不过谢谢你的想法,我不知道 /r 参数。
    • @Mikee,另一种方法是在所有其他 WSDL 之上构建一个 WSDL,即使用 wsdl:import 引用其他的,然后将其提供给 svcutil;根据您提供的详细信息,我无法确定它是否会起作用;当然,如果在 WSDL 中重用了 XSD,则保证可以正常工作。
    猜你喜欢
    • 1970-01-01
    • 2015-12-09
    • 2011-01-02
    • 1970-01-01
    • 1970-01-01
    • 2015-11-15
    • 2010-12-10
    • 1970-01-01
    • 2014-08-20
    相关资源
    最近更新 更多