vb6.0 访问webservices

Option Explicit
Private Const Method = "helloworld"
Private Const SoapAction = _
"http://127.0.0.1/helloworld/HelloWorld"
Private Const END_POINT_URL = _
"http://127.0.0.1/helloworld/Service.asmx?WSDL"
Private Const CALC_NS = "http://127.0.0.1/helloworld/"
Private Function Execute() As String
    
    Dim Serializer As SoapSerializer30
    Dim Reader As SoapReader30
    Dim ResultElm As IXMLDOMElement
    Dim FaultElm As IXMLDOMElement
    Dim Connector As SoapConnector30
    
    Set Connector = New HttpConnector30
    On Error GoTo ErrHandle
    Connector.Property("EndPointURL") = END_POINT_URL
    Connector.Connect
    
    ' binding/operation/soapoperation
    Connector.Property("SoapAction") = SoapAction
    Connector.BeginMessage
    
    Set Serializer = New SoapSerializer30
    Serializer.Init Connector.InputStream
    
    'Serializer.StartEnvelope "SOAP","http://schemas.xmlsoap.org/soap/envelope/",""
    'Serializer.soapAttribute "xsi","","http://www.w3.org/2001/XMLSchema-instance","xmlns"
    'Serializer.soapAttribute "xsd","http://www.w3.org/2001/XMLSchema","xmlns"
    
    Serializer.StartEnvelope
    Serializer.StartBody
    Serializer.StartElement Method,CALC_NS
    Serializer.EndElement
    Serializer.EndBody
    Serializer.EndEnvelope
    
    Connector.EndMessage
        
    Set Reader = New SoapReader30
    Reader.Load Connector.OutputStream
    
    If Not Reader.Fault Is nothing Then
        MsgBox Reader.FaultString.Text,vbExclamation
    Else
        Execute = Reader.RpcResult.xml
    End If
    Exit Function
ErrHandle:
    MsgBox Err.Description,vbExclamation,"错误"

End Function

Private Sub Command1_Click()
MsgBox Execute()
End Sub


相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...