添加.net Web服务引用
时间:2020-03-06 14:26:48 来源:igfitidea点击:
当我尝试添加Web引用时(取决于我使用的是vs2008 .NET IDE的Express还是Pro版本),我从同一WSDL文件中获得了完全不同的对象。
1)为什么会这样?我希望WSDL在各个平台上都可以发挥相同的作用-显然它们不是!
2)当我选择"添加服务参考"时,如何确定IDE调用的工具/向导。
细节:
VB.NET Express版本正在添加所需和预期的对象。我想使用IDE添加服务(不能与wsdl.exe或者svcutil.exe混为一谈)。
我在Windows Server 2003上使用vs2008 Prov9.0.30729.1. XP上的Express版本9.0.21022.8 RTM。相应的Reference.vb显示相同的标头"此代码由工具生成。运行时版本:2.0.50727.3053" 。
在两个IDE之间,添加服务WSDL的向导UI在外观上是不同的。
Express已严格启用,而Pro已严格禁用。常规的IDE Strict设置似乎对此无能为力。
Java / Eclipse在这些WSDL中没有问题。
解决方案
过去,我曾见过wsdl.exe会产生与VS IDE向导不同的代理类。这可能是解释。
尝试改用svcutil.exe。
很抱歉,Visual Studio生成的代理非常糟糕。
现在,真正的解决方案是编写自己的合同和代理。我知道,这不是个好消息,但是30分钟的打字可能会让我们免受重创。
在idesign.net上查看帮助程序类
当我们添加Web引用时,VS 2005和2008 Pro会生成不同的类,也许这是相似的吗?如果在添加服务引用时单击"高级",则会在表单底部找到"添加Web引用"。