2012-01-11 106 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