如何为Web服务生成XSD文件

时间:2010-11-14 11:45:08

标签: c# web-services

我需要创建将由其他系统使用的Web服务(.NET)。 为了让他们实现使用我的Web服务的逻辑,我需要为他的Web服务发送wsdl和XSD文件。

WSDL文件不是问题,我将通过传递wsdl参数从.asmx页面获取它。 但是,如何为我的Web服务生成适当的XSD文件? 我可以使用XSD.exe工具并将其作为参数传递给.wsdl文件,还是有其他方式?

提前致谢。

4 个答案:

答案 0 :(得分:10)

您可以使用disco.exe实用程序,它允许您将wsdl和xsd文件保存在磁盘上,以便这些文件可用于生成客户端代理,而无需访问WSDL Web地址。

答案 1 :(得分:2)

如果您正在使用Visual Studio(及以上版本)的Pro版本,那么在打开XML文件时,您将找到一个XML菜单,其中包含一个将从中生成XSD的项目(Create Schema)。我相信它虽然使用了xsd.exe

请参阅MSDN

答案 2 :(得分:0)

您可以在服务网址的末尾添加“?xsd = 1”以获取架构。

即。如果您的Web服务URL是 :// my_ws_service:9080 /服务/名称 那么你可以使用WSDL :// my_ws_service:9080 /服务/名称WSDL 你可以使用 :// my_ws_service:9080 /服务/名称的xsd = 1? (注意xsd区分大小写)

希望它有所帮助。

答案 3 :(得分:0)

以为我会分享我的解决方案,在我的情况下,我需要创建一个实际的C#类,以便我可以使用它来反序列化我在开发PC上保存的WSDL的给定端点的响应XML。

我打开了Visual Studio命令提示符并输入以下内容:

wsdl "name-of-your-file" 

如果您的文件名是您保存的WSDL文件的名称。运行该命令应该生成一个C#类,然后您可以在客户端应用程序中使用它来反序列化给定端点的XML SOAP响应。

希望这有帮助。