VB中调用WebService上的函数的方法

    Dim XMLDOM          As MSXML2.DOMDocument
    Dim XMLDOMBack      As MSXML2.DOMDocument
    Dim soapClient      As MSSOAPLib.soapClient
    Dim xmlNodeList     As MSXML2.IXMLDOMNodeList
   
    Dim strSendXML      As String
    Dim strWSURL        As String
    Dim strWSDLURL      As String
     Dim ErrDesc         As String
    Dim strSuccessFlag As String
   
    Set soapClient = New MSSOAPLib.soapClient
    Set XMLDOM = New MSXML2.DOMDocument
    Set XMLDOMBack = New MSXML2.DOMDocument

    strWSURL = FlowERURL
    strWSDLURL = strWSURL & "?WSDL"

    ''' create input xml stream for GetApproverLevelInfo
    strSendXML = ""
    strSendXML = strSendXML & ""
    While Not rsCCCopies.EOF
        strSendXML = strSendXML & "" & Trim$(rsCCCopies.Fields("usrname").Value) & ""
        rsCCCopies.MoveNext
    Wend
    strSendXML = strSendXML & ""

    XMLDOM.loadXML (strSendXML)
    soapClient.mssoapinit strWSDLURL, "FlowERAPI", "FlowERAPISoap"
    soapClient.ConnectorProperty("Timeout") = 1000000000
   
    ''' Call WebService Api GetEmployeeInfo
    XMLDOMBack.loadXML (soapClient.GetApproverLevelInfo(XMLDOM.xml))
    strSuccessFlag = Trim$(XMLDOMBack.selectSingleNode("FlowER/SuccessFlag").Text)
    ErrDesc = Trim$(XMLDOMBack.selectSingleNode("FlowER/ReturnInfo").Text)

    If LCase(strSuccessFlag) = "true" Then
   
        ''' success, get leader list of all user
        Set xmlNodeList = XMLDOMBack.selectNodes("FlowER/ReturnInfo/ApproverList")
               
        For intI = 1 To xmlNodeList.length
           
            ''' create input xml stream for GetEmployeeInfo
            strSendXML = ""
            strSendXML = strSendXML & ""
            strSendXML = strSendXML & "" & Trim(xmlNodeList.nextNode.selectSingleNode("Approver/Emp_No").Text) & ""
            strSendXML = strSendXML & ""
                       
            ''' Call WebService Api GetEmployeeInfo
            XMLDOM.loadXML (strSendXML)
            XMLDOMBack.loadXML (soapClient.GetEmployeeInfo(XMLDOM.xml))
           
            strSuccessFlag = Trim$(XMLDOMBack.selectSingleNode("FlowER/SuccessFlag").Text)
            ErrDesc = Trim$(XMLDOMBack.selectSingleNode("FlowER/ReturnInfo").Text)
           
            If LCase(strSuccessFlag) = "true" Then
                strCCCopies = strCCCopies & Trim$(XMLDOMBack.selectSingleNode("FlowER/ReturnInfo/Mail_Account").Text) & ";"
            Else
           
                ''' error
                MsgBox "GetEmployeeInfo error!" & vbCrLf & "Error Desc: " & ErrDesc & " !", _
                    vbInformation, "Information Message :"
                Exit Function
            End If
        Next intI
    Else
   
        ''' error
        MsgBox "GetApproverLevelInfo error!" & vbCrLf & "Error Desc: " & ErrDesc & " !", _
            vbInformation, "Information Message :"
        Exit Function
    End If

    ''''release object area
    Set XMLDOM = Nothing
    Set soapClient = Nothing
    Set XMLDOMBack = Nothing

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11411056/viewspace-733852/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/11411056/viewspace-733852/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值