从WCF-SVCUtil控制WSDL / XSD(注释,模式命名空间和模式位置)

时间:2012-07-09 20:20:18

标签: wcf xsd wsdl

在从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.xsdHelloWorldService1.xsd等?

任何反馈都将不胜感激。

1 个答案:

答案 0 :(得分:1)

WCFExtras ftw:

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

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