给你写一个示例:web Services代码(VS2005):Imports System.Web Imports System.Web.Services Imports System.Web.Services.Protocols Imports System.Data Imports System.Data.Odbc Imports System.Configuration.ConfigurationManager Imports System.Xml Imports ADODB<WebService(Namespace:="http://tempuri.org/")> _ <WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _ <Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ Public Class TEST Inherits System.Web.Services.WebService '读取config中的连接字符串 Public Function cnString() As String Return ConnectionStrings("connToPgSql").ToString() End Function 'ADO记录集转换为XML <WebMethod()> _ Public Function RecordsetToXmlTest(ByVal uid As String,ByVal pwd As String) As XmlDataDocument Dim sql As String = "select uid,username,pwd from taobao.users " 'where uid='" & Uid & "' and pwd='" & Pwd & "'" Dim cn As New Connection Dim rs As New Recordset Dim st As New Stream Dim xd As New XmlDataDocument cn.ConnectionString = cnString.ToString cn.Open() rs.Open(sql, cn, CursorTypeEnum.adOpenForwardOnly, LockTypeEnum.adLockReadOnly, 1) rs.Save(st, PersistFormatEnum.adPersistXML) st.Flush() '当在派生类中重写时,将清除该流的所有缓冲区,并使得所有缓冲数据被写入到基础设备 st.Position = 0 '当在派生类中重写时,获取或设置当前流中的位置 xd.LoadXml(st.ReadText(st.Size)) Return xd st = Nothing rs = Nothing cn = Nothing xd = Nothing End Function '字符串 <WebMethod()> _ Public Function StrTest(ByVal s As String) As String Dim t As String = DateTime.Today.ToString("yyyy-MM-dd") t = s & "你好!今天是: " & t Return t End FunctionEnd Class vb代码:引用:microsoft soap type library microsoft xml, v6.0 microsoft activex data objexts 2.x library
Private Sub Command1_Click() 'Rs返回记录集
Dim oHTTP As XMLHTTP Dim oXmlDoc As DOMDocument Dim rs As ADODB.Recordset Dim strWebserviceURL As String, strRequest As String
Set oHTTP = New XMLHTTP oHTTP.Open "POST", strWebserviceURL, False oHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" oHTTP.send (strRequest)
Set oXmlDoc = New DOMDocument oXmlDoc.Load oHTTP.responseXML If oXmlDoc.parseError Then Exit Sub End If 'oXmlDoc.Save (App.Path & "\rs.xml") '以下是还原记录集,你也可以直接处理xml,
Set rs = New ADODB.Recordset rs.Open oXmlDoc
While Not rs.EOF Debug.Print rs("uid") & rs("username") & rs("pwd") rs.MoveNext Wend
Set oHTTP = Nothing Set oXmlDoc = Nothing Set rs = Nothing
End SubPrivate Sub Command2_Click() '返回字串 Dim oSC As New SoapClient oSC.ClientProperty("ServerHTTPRequest") = True oSC.mssoapinit ("http://localhost/BWR/TEST.asmx?WSDL") Text1 = oSC.StrTest("admin")
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Data
Imports System.Data.Odbc
Imports System.Configuration.ConfigurationManager
Imports System.Xml
Imports ADODB<WebService(Namespace:="http://tempuri.org/")> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Public Class TEST
Inherits System.Web.Services.WebService '读取config中的连接字符串
Public Function cnString() As String
Return ConnectionStrings("connToPgSql").ToString()
End Function 'ADO记录集转换为XML
<WebMethod()> _
Public Function RecordsetToXmlTest(ByVal uid As String,ByVal pwd As String) As XmlDataDocument Dim sql As String = "select uid,username,pwd from taobao.users " 'where uid='" & Uid & "' and pwd='" & Pwd & "'"
Dim cn As New Connection
Dim rs As New Recordset
Dim st As New Stream
Dim xd As New XmlDataDocument cn.ConnectionString = cnString.ToString
cn.Open() rs.Open(sql, cn, CursorTypeEnum.adOpenForwardOnly, LockTypeEnum.adLockReadOnly, 1)
rs.Save(st, PersistFormatEnum.adPersistXML)
st.Flush() '当在派生类中重写时,将清除该流的所有缓冲区,并使得所有缓冲数据被写入到基础设备
st.Position = 0 '当在派生类中重写时,获取或设置当前流中的位置
xd.LoadXml(st.ReadText(st.Size)) Return xd st = Nothing
rs = Nothing
cn = Nothing
xd = Nothing End Function '字符串
<WebMethod()> _
Public Function StrTest(ByVal s As String) As String
Dim t As String = DateTime.Today.ToString("yyyy-MM-dd")
t = s & "你好!今天是: " & t
Return t
End FunctionEnd Class
vb代码:引用:microsoft soap type library
microsoft xml, v6.0
microsoft activex data objexts 2.x library
Private Sub Command1_Click() 'Rs返回记录集
Dim oHTTP As XMLHTTP
Dim oXmlDoc As DOMDocument
Dim rs As ADODB.Recordset
Dim strWebserviceURL As String, strRequest As String
strWebserviceURL = "http://localhost/BWR/TEST.asmx/RecordsetToXmlTest"
strRequest = "uid=admin&pwd=123456" '多个参数要用&分隔
Set oHTTP = New XMLHTTP
oHTTP.Open "POST", strWebserviceURL, False
oHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
oHTTP.send (strRequest)
Set oXmlDoc = New DOMDocument
oXmlDoc.Load oHTTP.responseXML
If oXmlDoc.parseError Then
Exit Sub
End If
'oXmlDoc.Save (App.Path & "\rs.xml") '以下是还原记录集,你也可以直接处理xml,
Set rs = New ADODB.Recordset
rs.Open oXmlDoc
While Not rs.EOF
Debug.Print rs("uid") & rs("username") & rs("pwd")
rs.MoveNext
Wend
Set oHTTP = Nothing
Set oXmlDoc = Nothing
Set rs = Nothing
End SubPrivate Sub Command2_Click() '返回字串 Dim oSC As New SoapClient
oSC.ClientProperty("ServerHTTPRequest") = True
oSC.mssoapinit ("http://localhost/BWR/TEST.asmx?WSDL")
Text1 = oSC.StrTest("admin")
Set oSC = Nothing
End Sub