我怎样才能使它成为有效的WSDL?

时间:2011-09-14 14:20:32

标签: soap wsdl svcutil.exe

我正在尝试使用以下命令从this WSDL生成代码:

svcutil /noConfig /language:C# /out:ICatalog.cs http://schemas.opengis.net/csw/2.0.2/profiles/ebrim/1.0/wsdl/2.0/csw-ebrim-interface.wsdl

然而svcutil无法读取它,而xMethods WSDL validator表示它无效。

什么是无效的?如何让svcutil生成我的界面代码?

2 个答案:

答案 0 :(得分:6)

我不确定WSDL是否有效,但是你要做的事情是行不通的。 Svcutil只能为1.1版的WSDL文件生成代码。你的是WSDL版本2.0。

您在问题中指出的WSDL验证程序在给出您的WSDL时返回以下消息:

  

faultCode = INVALID_WSDL:预期元素'http://schemas.xmlsoap.org/wsdl/:definitions'。

它将文件解析为WSDL 1.1。并期望WSDL 2.0中的根为definitionsbut that changeddescription

如果您有一个有效的WSDL 2.0文件,Svcutil2可能能够为您生成代码,但此工具尚不稳定。

为了验证WSDL,我想你可以使用validator from The Woden project,这也不稳定,但基本上是我所知道的唯一一个已经通过“玩具项目”状态的人。

这个想法是这样的:版本1.1在使用WSDL时仍然是“事实上的”语言。没有多少WS框架采用WSDL 2.0(仅仅是我的2美分!)我认为最好坚持“标准”,直到WSDL 2.0已经完全成熟。

答案 1 :(得分:0)

try to add reference References > Add Reference > COM > System.ServiceModel