 |
建站必读 |
 |
|
|
 |
|
 |
|
| |
| 当前位置:首页 -> 建站必读 -> .NET技术 |
|
透视和调整你的企业和商务系统(Ⅳ:WebService、dotNET) |
小气的神 2001-10-15
到上一篇为止,我们已经完成了在第一篇(Analyzing、Requirement)所说的三个过程中的第二步了,这一篇开始我们可以用dotNET的WebService方式来重新考虑以前的Authors WebService,技术上我倾向于MS的建议,那就是在实现和设计Web Services时将ASP.NET的WebService作为首选。所以这一篇我们将主要考察ASP.NET的WebService.
这要从第二篇的分析开始,原来当我用SOAP Toolkit生成了WebService后,我就在Dereksvr机器上用VS.NET的Add Web Reference...输入http://henrysvr/Authors/Authors.wsdl,VS.NET也是可以发现这个WebService,但是由于ADODB.Recordset的问题,它无法生成Proxy类,当时我以为SOAP Toolkit生成的WSDL并不完全兼容很快放弃了继续向下实验了。几天之后我又做了另外一种尝试:我用SOAP Toolkit重新生成了WebService的WSDL文件,这次我没有把返回ADODB.Recordset的函数放到里面,也就是全部都是在第二篇说的标志类型,然后我又在VS.NET中重复了上述的步骤,这一次OK了,VS.NET成功的生成了Proxy类,我生成了一个小例子测试,结果是成功的。那么结论是:对于第二类返回特殊类型的(也就是第二篇中用CTM的类型)我们要另外处理,对于第一种类型的我们只要用MS SOAP Toolkit生成WSDL文件,然后在IIS中设置好,就可以成为一个WebService,在消费这种WebService上我们不用特殊处理。不仅VS.NET可以直接使用,其他支持WebService规范的也是可以使用的(只能说估计。Java?Delphi?抱歉我没有试过)下面是我测试成功的例子的拷图,感觉还不错,连中文也不用什么特殊处理。
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim obj As henrysvr.Authors
Dim retString As String
Dim SendStr As String
SendStr = echoTxt.Text
obj = New henrysvr.Authors()
retString = obj.Echo(SendStr)
MessageBox.Show(retString)
End Sub

好了,剩下的又是ADODB.Recordset的问题,如果处理这个COM对象呢?之前我们已经用了一种方法,dotNET作为Client,这次我换一种方式,生成一个ASP.NET方式的WebService,然后引用bus_Authors组件,对那些返回记录集的函数在这个WebService中做一个封装。比如:
<WebMethod()> Public Function Version() As String
Dim obj As bus_Authors.Authors
obj = New bus_Authors.Authors()
Version = obj.Version
End Function
<WebMethod()> Public Function GetAuthors() As DataSet
Dim obj As bus_Authors.Authors
Dim rst As ADODB.Recordset
Dim myDataAdapter As OleDb.OleDbDataAdapter
Dim retDataset As DataSet
obj = New bus_Authors.Authors()
rst = New ADODB.Recordset()
myDataAdapter = New OleDb.OleDbDataAdapter()
retDataset = New DataSet()
rst = obj.GetAuthors()
myDataAdapter.Fill(retDataset, rst, "GetAuthors")
GetAuthors = retDataset
End Function
看的出来,就是简单的调用Biz组件,然后将ADODB.Recordset转换成DataSet。
有关引用Bus_Authors,你可以在目前的这部机器上安装 |
| |
|
| |
本站关键词: |
|
|
|
|
 |
|
 |
|