Com组件提供Web Services(二)

王朝other·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

Com组件提供Web Service(二)

追风(VisualSW)

选择生成文件的路径。

点击下一步

9.

生成文件成功。

打开生成文件的目录,可以看到多了以下文件:

注册IIS监听

1.打开IIS MMC,新建一个虚拟目录指向刚才生成的文件地址。

2.进入Windows cmd,进入C:\Program Files\MSSOAP\Binaries输入下面命令 c:>soapvdir.cmd UPDATE DLLServices改命令注册一个ISAPI DLL来监听请求。

这样Com组件就开始提供WEB服务了,下面来测试一下

打开VB,创建工程,添加Soap引用

添加如下代码:

Dim oSoapClient

Dim nResult

Set oSoapClient = CreateObject ("MSSOAP.SoapClient30")

If (Err <> 0) Then

MSgBox "Initialization of the SOAP Toolkit failed."

Return

End If

Call oSoapClient.MsSoapInit ("http://localhost/DLLServices/DLLService.WSDL", "MyService", "")

If (Err <> 0) Then

MSgBox "Error initializing the WSDL file."

Return

End If

nResult = oSoapClient.Add (3, 4)

MsgBox "Result of 3+4 = " & CStr(nResult)

Set oSoapClient = Nothing

如果能看到结果则表示使Com组件提供Web Service成功

创建组件的.NET代理类

还是使用上面例子中的VBDLL.dll组件。

微软的.NET Framework提供了一个工具Type Library Importer (Tlbimp.exe),用来将Com组件封装为一个.NET的assembly,这样就可以在VS.NET中使用封装好的VBDLL.dll的.NET代理类了。

1.生成代理类

F:\SW\MS.NET\Web Services\VB>"D:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\Bin\tlbimp.exe" vbdll.dll /out:vb_proxy.dll

Microsoft (R) .NET Framework Type Library to Assembly Converter 1.0.3705.0

Copyright (C) Microsoft Corporation 1998-2001. All rights reserved.

Type library imported to F:\SW\MS.NET\Web Services\VB\vbdll_proxy.dll

这样就在当前目录下生成了vbdll_proxy.dll的.net assembly,

我们使用Intermediate Language Disassembler (Ildasm.exe)可以看到assembly的信息,

2.打开VS.NET,新建ASP.NET Web Service

3.添加vbdll_proxy.dll的引用

4.添加Web方法

[WebMethod]

public int Add(int a,int b)

{

vb_proxy.clsAddClass obj=new vb_proxy.clsAddClass();

return obj.Add((short)a,(short)b);

}

5.编译Web Service。

6.测试,同上列

结束语:

两种方法都可以实现Com组件提供Web服务,相比起来第二种方法简单一些。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航