将WSDL转换为C#类

使用microsoft net wsdl.exe工具将WSDL转换为C#类,但该工具无法转换WSDL文件的以下部分。 任何指向正确方向的人都非常感激。

WSDL输入

                            

C#输出?????

 ///  [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://api.someexampledomain.com/")] public partial class ArrayOfMerchant : Array { } ///  [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.3038")] [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://api.someexampledomain.com/")] public partial class ArrayOfMerchantSectors : Array { } 

我想知道如何定义类’Merchant’和’ArrayOfMerchant’。

谢谢。

如果您随身携带了WSDL,则可以直接创建C#代理类。

下面提到的是其中一种方法。 如果您的WSDL数据未通过URL公开。 首先将可用的WSDL数据保存到文件中,说“D:\ MerchantService.wsdl”

 svcutil.exe D:\MerchantService.wsdl /t:code /l:c# /o:"D:\MerchantService.cs" /n:*,NamespaceName 

参考: http : //msdn.microsoft.com/en-us/library/aa347733.aspx

您的问题依赖于XSD。 svcutil不支持complexContent标记内的限制: http : //msdn.microsoft.com/en-us/library/ms733112.aspx

msdn说这是被禁止的:

在此处输入图像描述