+ -
当前位置:首页 → 问答吧 → 请教WSDL文件生成客户端C#代理类的问题?

请教WSDL文件生成客户端C#代理类的问题?

时间:2011-12-08

来源:互联网

D:\Program Files\Microsoft Visual Studio 10.0\VC>wsdl.exe /out:F:\Temp\lianlian_
account.cs F:\wsdl\lianlian_account.wsdl
Microsoft(R) Web Services 描述语言实用工具
[Microsoft (R) .NET Framework, Version 4.0.30319.1]
Copyright (C) Microsoft Corporation. All rights reserved.
错误: 无法从命名空间“http://center.lianlian.com/account”导入绑定“accountBindi
ng”。
  - 无法导入操作“accountInfo”。
  - 缺少数据类型“http://center.lianlian.com/common:ServiceHeader”。

如果需要更多帮助,请键入“wsdl /?”。

这是什么原因啊?

作者: jin1746com   发布时间: 2011-12-08

上篇帖子都告诉你用 svcutil.exe 导出 wsdl 成客户端代理代码了。你还不满意结贴?

自己动手上网搜下


http://msdn.microsoft.com/zh-cn/library/aa347733.aspx

作者: fangxinggood   发布时间: 2011-12-08

再说了,你这wsdl不是有url么?直接通过solution里添加 Service Reference IDE就自动替你生成本地代理了。

作者: fangxinggood   发布时间: 2011-12-08

引用 1 楼 fangxinggood 的回复:
上篇帖子都告诉你用 svcutil.exe 导出 wsdl 成客户端代理代码了。你还不满意结贴?

自己动手上网搜下


http://msdn.microsoft.com/zh-cn/library/aa347733.aspx


呵呵,不好意思啊,我这方面懂得太少了,我在网上查到的生成客户端代理类的方法都是wsdl.exe,看到你说的svcutil.exe,在网上查查没看出可以导出 wsdl 成客户端代理代码,能写一下吗?就对这个wsdl文件
F:\wsdl\lianlian_account.wsdl ,能解释一下svcutil.exe的功能吗?简单一点的

作者: jin1746com   发布时间: 2011-12-09

wsdl.exe 是用于生成.net 2.0的代理类。

使用最新的用 svcutil.exe (.net 3.0开始)

比如我使用 vs2010:

C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin>svcutil http://localhost:44373
/Service1.asmx?wsdl /language:C# /d:d:\service1

就是在 d:\service1 里生成本地代理,运行后生成两个文件,一个是service1.cs,一个是config文件

作者: fangxinggood   发布时间: 2011-12-09

wsdl.exe只能处理传统的.asmx的web服务,WCF(.svc)需要用svcutil.exe生成代理,跟什么.net 2.0, 3.0没关系

作者: hzzasdf   发布时间: 2011-12-09

其实wsdl.exe还生成disco等文件,只不过编程时一般不用而已

作者: hzzasdf   发布时间: 2011-12-09

引用 5 楼 hzzasdf 的回复:

wsdl.exe只能处理传统的.asmx的web服务,WCF(.svc)需要用svcutil.exe生成代理,跟什么.net 2.0, 3.0没关系


你错了。webservice.asmx 也可以用 svcutil.exe 来生成。
你看我的例子,就是导出 asmx 的

.net 2.0的客户端代理和.net 3.0以上的客户端代理有很多不同。

作者: fangxinggood   发布时间: 2011-12-09

你的逻辑有问题,我是说wsdl.exe只能处理.asmx(也就是说不能处理wcf),没说svcutil.exe不能处理.asmx

.net 2.0的客户端代理和.net 3.0以上的客户端代理当然有很多不同,但那是另外一个问题.

作者: hzzasdf   发布时间: 2011-12-09