由于随时都会有新的WebService被加入,因此如果我们利用添加Web引用的方式加入Web Services,那么就把程序写得很死,失去了灵活性和扩展性。因此,我们需要由程序根据WebServices的WSDL来生成proxy,并编译成相应的DLL。这里,我们可以人为的定义一个ServiceID作为主键来唯一指定一个WebServices。在实际开发中,我们将使用Proxy,Factory设计模式来进行系统设计,将不同的WDSL的Proxy的生成,Proxy的构造封装成相对独立的模块。我们将使用WSDL.exe应用程序,以及.net reflecting(反射)的功能 实现。 在调用WebService或者接收返回信息的时候,我们可能需要加入一些额外的东西,例如身份认证,定制的SoapHeader,加密等操作,这里我将使用微软提供的WSE1.0来实现。具体如何实现可以参考微软提供的quickstart的例子。其包含在WSE1.0sp1的下载包中,具体位置如下: http://www.microsoft.com/downloads/details.aspx?FamilyId=06255A94-2635-4D29-A90C-28B282993A41&displaylang=en 1. 根据WSDL自动生成proxy文件(PrxoyFactory,使用WSDL.EXE) 可以自己制作一个工具,用来根据提供的WSDL地址生成proxy的cs文件。主要代码如下所示: string parameter = WSDLUrl; parameter += " /l:C#"; parameter += " /n:" + ServiceID; parameter += " /o:" + Constants.LIBRARY_PATH + "\\" + ServiceID + ".cs"; // Use serviceID as output file name try { ProcessStartInfo startInfo = new ProcessStartInfo(Constants.WSDL_PATH, parameter); |
正在阅读:.net学习:WSE使用总结.net学习:WSE使用总结
2004-02-14 09:34
出处:CSDN
责任编辑:linjixiong
键盘也能翻页,试试“← →”键