我获得了一个包含所有方法请求和响应的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后,我可以直接使用它包含的结构吗?或者他们只是“列表”供我实施?
答案 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。