通过WSDL向Visual Studio添加服务引用时出错

时间:2010-06-16 16:08:41

标签: visual-studio web-services visual-studio-2008 namespaces wsdl

我获得了一个包含所有方法请求和响应的WSDL,以及我需要用来创建一些Web方法的所有对象。

我已成功将WSDL添加为“服务引用”,我可以看到方法和结构,并可以实例化它们。一切似乎都在那里。但是,我有一个问题:在添加WSDL之后项目将不会构建。这是我在Visual Studio尝试编译Reference.cs时得到的错误消息:

  

“错误2类型中不存在类型名称'ServiceReference1'   'WSPELab.WSPELab'C:\ Users \ JJ \ Documents \ Visual Studio   2008 \项目\ WSPELab \ WSPELab \服务   参考文献\ ServiceReference1 \ Reference.cs 21 111 WSPELabSLN

由于我的命名空间错误,我是否可能收到此错误消息?

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

1 个答案:

答案 0 :(得分:3)

WSDL是一个机器可读的文件,用于描述Web服务公开的方法和类型。许多IDE(包括Eclipse和Visual Studio)都可以导入这些IDE并创建与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。