2012-01-11 110 views
1

我想为我的测试web服务(简单的web服务有一个添加功能采取两个参数)生成xsd模式,我使用迪斯科生成discomap,迪斯科和wsdl文件但没有XSD。如何生成XSD文件以及如何在使用Web服务时使用它来验证模式。c#webservice,Disco.exe不生成.xsd文件

+0

听起来好像,你似乎在WSDL文件的types部分中嵌入了一个XML Schema;并且您希望能够将WSDL文件中的XSD内容自动提取到独立的XSD文件中,然后您可以使用它来验证XML。它是否正确? – 2012-01-11 15:38:09

+0

由DISCO.exe生成的wsdl也包含schema,我想知道为什么disco.exe不生成单独的xsd文件中的模式 – 2012-01-17 16:07:46

+0

DISCO不会重写WSDL/XSD文件;它会解析它们,通过解析引用(WSDL导入,XSD包含/导入)。这意味着原始的WSDL是按照您看到的方式编写的。如果您确认这确实是您要查找的内容,我可以回答您如何在WSDL类型部分中自动提取XSD(s)。 – 2012-01-17 16:38:39

回答

0

使用svcutil.exe的生成模式

0

的WSDL是足够的,因为它包含内的模式。为什么你需要转换为xsd?

如果您真的想这样做,请使用wsdl.exe/svcutil.exe将wsdl转换为c#类并使用xsd.exe将它们重新转换为xsd。

+0

我想验证xsd模式,即如果一个必填字段丢失服务应抛出适当的异常,我可以打开wsdl的xsd验证? – 2012-01-11 14:45:19