1

我已经给出了一个WSDL,其中包含所有方法请求和响应以及所有需要用于创建几个Web方法的对象。通过WSDL向Visual Studio添加服务引用时出错

我已经成功地将WSDL添加为“服务引用”,我可以看到方法和结构并可以实例化它们。这一切似乎都在那里。但是,我遇到了一个问题:在添加WSDL之后,该项目无法生成。

“错误2类型名称‘ServiceReference1’中不存在类型 ‘WSPELab.WSPELab’C:\用户\ JJ \文件时,Visual Studio中试图编译Reference.cs下面是我收到错误信息\的Visual Studio 2008 \项目\ WSPELab \ WSPELab \服务 参考\ ServiceReference1 \ Reference.cs 21 111 WSPELabSLN

难道我接受了,因为我的一个命名空间的错误此错误消息?

最后还有一个问题:添加了WSDL后,我可以直接使用它包含的结构吗?或者他们只是“列表”我执行?

+0

可能相关:[从客户端访问WCF服务时出错](http://stackoverflow.com/q/31357502/1497596) – DavidRR 2015-11-10 13:25:23

回答

3

WSDL是一个机器可读的文件,描述Web服务公开的方法和类型。许多IDE(包括Eclipse和Visual Studio)都可以导入这些并创建与WSDL中给出的定义相匹配的编程语言类。

例如,在Visual Studio C#项目中导入WSDL将创建一个包含这些定义的Reference.cs文件。你必须实例化和调用这些定义,就像你为任何类一样。

var webServiceReference = new WsdlNamespace.ClassDefinedInWsdl(); 
WsdlNamespace.ParamClassDefinedInWsdl dataToGet; 
WsdlNamespace.ReturnCodeTypeDefinedInWsdl retCode = webServiceReference.MethodDefinedInWsdl("params expected by method", out dataToGet); 
if (retCode == WsdlNamespace.ReturnCodeValueMeaningAllIsWell) 
{ 
    // use properties of dataToGet 
} 

提供更多的细节需要向我们展示实际的WSDL。

+0

谢谢!我正朝着正确的方向前进,但有一些奇怪的命名空间错误。 我开始了一个新项目并添加了参考,现在我可以使用所有现有的类。 再次感谢! – Johnny 2010-06-17 10:23:35

相关问题