【问题标题】:Taking control of WSDL/XSD from WCF-SVCUtil (Annotations, Schema Namespaces, and Schema Locations)从 WCF-SVCUtil(注解、模式命名空间和模式位置)控制 WSDL/XSD
【发布时间】:2012-07-09 06:58:42
【问题描述】:

在从 WCF 服务生成的 WSDL 中,有一些问题我想进一步控制。首先,有没有办法在不使用代理项的情况下为使用 WSDL 生成的 xsd 文件添加注释?


其次,我想明确命名从 WSDL 生成的 xsd 文件的名称空间。我能够使用 ServiceBehaviorAttribute 控制 wsdl 的命名空间:[ServiceBehavior(Namespace="http://mysite.com/HelloWorld")]
但不幸的是,我找不到一种简单的方法来指定 xsd 文件的命名空间:(,有没有一种简单的方法可以做到这一点/你能指出我正确的方向吗?


-edit-

好吧,我对第二个请求很傻。我忘记为我的 wcf 文件设置名称空间,这是映射到 xsd 名称空间的内容。我的坏:)。


最后,当 wsdl 导入一个 xsd 时,它使用类似于 http://localhost:8080/HostDevServer/HelloWorldService.svc?xsd=xsd0 的路径
这似乎破坏了 apache 的 wsdl2java ant 脚本。我可以进去手动将它们更改为本地文件,但这太痛苦了:)。有没有办法生成文件,然后有一个本地参考,如: HelloWorldService.xsd,HelloWorldService1.xsd 等等?

我们将不胜感激。

【问题讨论】:

    标签: wcf xsd wsdl


    【解决方案1】:

    WCFExtras ftw:

    我决定与其让我自己的属性和类将文档/注释放入 WSDL 和 XSD 文件中,不如大肆宣传,让 WCFExtras 来处理它。话虽如此,我确实希望将 Xml cmets 分成不同的行,而不是将它们全部放在同一行上。 (只是为了使阅读 xml 文件更容易)。加上 WCFExtras 完美地解决了代理问题:)!

    最后写了一个程序来解决第三个问题。它几乎使用 svcutil 抓取元数据文件,然后进入并找到所有导入,并将它们重新分配给基于命名空间下载的文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-03
      • 1970-01-01
      • 1970-01-01
      • 2020-05-03
      • 2013-09-12
      相关资源
      最近更新 更多