日期:2014-05-17  浏览次数:20773 次

web services能调用COM组件的方法吗
如果使用winform 程序
这样做是OK的

Dim objWizard As Object
Set objWizard1 = CreateObject("BillExpImp.ClsBill")
objWizard1.ImpBill propstring, "C:\2.xls", 4, , , , 1

但是当把这写代码放在web services的方法里执行(会把2.xls的内容导入第三方系统,BillExpImp.dll是第三方系统提供的COM组件),没有报错,但是没有导入任何数据。

web services调用COM组件的方法要进行其他转换或者有其他方法可以做到吗? 

------解决方案--------------------
可以调用第三方组件,但是在服务器上执行,操作的c:\2.xls文件也是服务器上的不是本地的
本地的xls文件,你需要读成byte数组的形势传给webservice,webservice根据byte数组来生成xls文件,再导入到第三方系统
------解决方案--------------------
web services中调用本地的com组件肯定是可以的~~~
------解决方案--------------------
我以前做过类似的,建议这样做,创建一个windows servcie程序,windows servcie host一个wcfservice,在这里来调用com组件。 然后webservice使用wcf proxy client, 通过wcf 来调用wcf servcie。这样用没问题的。
------解决方案--------------------
WebService 是可以直接调用串口的,其用法和Winform里的是一样的。还是使用SerialPort。