Com组件提供Web Services(二)

原创 2004年01月09日 09:57:00

Com组件提供Web Service(二)
追风(VisualSW)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

选择生成文件的路径。

点击下一步

9

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />CSDN_Dev_Image_2004-1-21049100.png

生成文件成功。

 

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

CSDN_Dev_Image_2004-1-21049102.png

 

注册IIS监听

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

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

 

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

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

CSDN_Dev_Image_2004-1-21049104.png

添加如下代码:

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组件封装为一个.NETassembly,这样就可以在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的信息,

CSDN_Dev_Image_2004-1-21049106.png

CSDN_Dev_Image_2004-1-21049108.png

 

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

CSDN_Dev_Image_2004-1-210491010.png

 

3.添加vbdll_proxy.dll的引用

CSDN_Dev_Image_2004-1-210491012.png

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服务,相比起来第二种方法简单一些。

 

Com组件提供Web Services(一)

Com组件提供Web Service(一)追风(VisualSW)Internet 正在向下一代 Web 站点快速演进,今天的 Web 站点仅能为浏览器提供用户界面,而下一代可编程 Web 站点直接将...
  • VisualSW
  • VisualSW
  • 2004年01月09日 09:56
  • 1497

.Net下开发COM+组件

一、问题的提出1、最终用户的每次请求,都将读取Mapping文件--可以通过缓存解决; 2、子系统需要不断的写入Mapping文件--也可以先写入内存然后批量写入文件解决; 二、分析解决问题由于分别有...
  • yellow1234
  • yellow1234
  • 2007年11月02日 18:30
  • 340

SuperMap iServer REST资源(Restlet)扩展机制简介

作者:MR iServer体系结构及扩展点iServer体系结构:    iServer 服务框架是一个三层结构的体系,他们分别是 GIS 服务提供者,GIS 服务组件层和服务接口层。这种三层结构首先...
  • supermapsupport
  • supermapsupport
  • 2017年03月27日 16:10
  • 815

COM组件技术在Linux C++下的使用例子

COM的接口 看了Window下的COM组件知识后,就想在Linux下 模仿写一个Com相关的例子,这几天刚好有时间,就写了一个小例子,现在把它分享出来,希望各位能提出宝贵的意见...
  • u011641755
  • u011641755
  • 2016年08月28日 23:48
  • 1843

解决关于iis 中使用 word COM+ 组件的问题 ,应该基本上 都是 权限授权的问题

因为这类问题基本上都是授权问题,现在先解释一下这几个登陆标识:The interactive user 交互式用户 、The launching user 、this user 、the system...
  • wzhangjinghai
  • wzhangjinghai
  • 2017年12月11日 15:19
  • 108

C#调用COM组件后退出Excel进程

我在使用WinForm程序调用Excel的COM组件的时候,也遇到了Excel进程退出的问题。这个问题很多人已经遇到,而且解决办法也吵得很热。 现在总结一下: 第一种方法是调用相关的组件释放方法,...
  • sundacheng1989
  • sundacheng1989
  • 2012年12月18日 14:39
  • 4220

com组件开发嵌入式IE浏览器监控程序

随着网络的发展和普及,对网络的监控日益成为网络安全的必然要求,也是管理和维护网络的一个有效手段。当前已经有多种应用比较广泛的网络监控和过滤程序,如美萍网管、we-blocker等,它们都可以实现基于网...
  • qsdnet
  • qsdnet
  • 2007年03月25日 13:25
  • 2141

SVN hooks+Jira WebService实现控制日志信息提交总结

一、SVN hooks相关知识    SVN hooks即SVN钩子脚本是利用后台的管理命令和所需要使用的hooks提供的参数。来进行一些组合,满足的需求! 钩子脚本在每个repos的hooks目录下...
  • u012046931
  • u012046931
  • 2013年12月19日 10:01
  • 1804

COM组件入门(一)

最近需要用到COM组件的知识,看了看COM编程指南,感觉还不错,把我的学习心得记录下来。这是我写...
  • davidsu33
  • davidsu33
  • 2014年08月13日 17:08
  • 1279

我总结的几种简单的调用Com组件的方法

 1.假如我们创建的Com组件的工程名叫TestCom,在其中添加了一个接口叫MyCom,接口名会自动命名为IMyCom,在其中添加两个方法,分别为: C++代码   ...
  • u011555996
  • u011555996
  • 2017年07月25日 15:55
  • 832
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Com组件提供Web Services(二)
举报原因:
原因补充:

(最多只允许输入30个字)