您的位置:首页 > 其它

WSDL手动生成WebService代理类的方法

2013-10-18 16:35 323 查看
通常要手动生成WebService代理类需要把一句生成语句

如 wsdl.exe /l:cs /out:E:\ServiceActivator.cs
http://192.168.128.62:8088/SoapProvisioningInterface/v1/services/ServiceActivator href="http://localhost:1101/UpdateService.asmx?wsdl" target=_blank>?wsdl拷贝到Visual
Studio 2008 命令提示窗口中去执行.

或者先进入WSDL URL 将其保存为本地WSDL文件.

wsdl.exe /l:cs /out:E:\ServiceActivator.cs
E:\ServiceActivator?wsdl拷贝到Visual
Studio 2008 命令提示窗口中去执行.

这里再介绍另一个办法。

首先打开Visual Studio 2008,选择菜单"工具"-"外部工具"打开外部工具对话框,如图



,单击“添加”按钮添加新工具,然后在“标题”行中输入"WSDL生成代理类","命令"行中输入"C:\Program Files\Microsoft

SDKs\Windows\v6.0A\Bin\wsdl.exe"(wsdl.exe文件的路径),"参数"行中输入"/l:cs /out:", 单击"初始目录"行右边的三角按钮选择"项目录",勾选"使用输出窗口"和"提示输入参数",然后确定保存。

再打开菜单"工具"可以看到多了一个"WSDL生成代理类"菜单,这时先选定一个存放生成的代理类的文件夹(必须位于并且包含于当前解决方案中),然后单击"WSDL生成代理类"菜单,弹出如下对话框



,然后你只需在"/l:cs /out:"后面空一格(必须空一格)再粘贴WebService文件的http地址如http://192.168.128.62:8088/SoapProvisioningInterface/v1/services/ServiceActivator?wsdl,单击"确定"看看发生了什么?是的,输出窗口会显示生成了一个类及其存放的位置,看看是不是你选定的文件夹,找到这个路径看看是不是有一个类,你会发现这个类跟上面使用命令行生成的类一模一样.


或者在"/l:cs /out:"后面输入生成代理类文件的位置,空一格,输入WSDL URL或本地WSDL文件位置.

生成代理类后,你会看到代理类的构造函数:

public ServiceActivator()

{

//this.Url = @"http://192.168.128.62:8088/SoapProvisioningInterface/v1/services/ServiceActivator";

string url = System.Configuration.ConfigurationManager.AppSettings["URL"].ToString();

this.Url = url;

}

你可以设置Url(不能带?wsdl).

到此,代理类已生成,你可以用了.如果Webservice是有验证的,就要设置Credentials:

using (ServiceActivator client = new ServiceActivator())

{

NetworkCredential cred = new NetworkCredential(userName, password);

client.Credentials = cred;

//client.Credentials = System.Net.CredentialCache.DefaultCredentials;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: