Using SOAP from inside ASP,maybe helpful for you!

发表于:2007-06-30来源:作者:点击数: 标签:
default.asp ------------------------------------------------------------------------ %@ Language= VB Script % %Option Explicit% !-- #include file=i_ soa pcall.asp -- HTML HEAD META NAME=GENERATOR Content=Microsoft Visual Studio 6.0 /HEAD BO
default.asp
------------------------------------------------------------------------
<%@ Language=VBScript %>
<%Option Explicit%>
<!-- #include file="i_soapcall.asp" -->
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY>
<%
Dim     ASPNETResources    
If len( Application("ASPNETResourceList") )>0 then    ‘’we have our latest resources

    REM -- check to see if they expired
    If DateDiff("h",Now(),Application("ASPNETResourcesUpdated")) > Application("ASPNETExpires") Then    
        REM -- we need to update the latest resurces
        ASPNETResources = GetASPNetResources()
        Application.Lock
        Application("ASPNETResourcesUpdated")=Now()
        Application("ASPNETResourceList")=ASPNETResources
        Application.UnLock
    End if ‘’datediff...

Else    ‘’for some reason the application level variable is empty, fill it.
    ASPNETResources = GetASPNetResources()
    Application.Lock
    Application("ASPNETResourcesUpdated")=Now()
    Application("ASPNETResourceList")=ASPNETResources
    Application.UnLock

End if ‘’len(..

Response.Write     Application("ASPNETResourceList")

%>
<P> </P>

</BODY>
</HTML>

global.asa
------------------------------------------------------------------------
<SCRIPT LANGUAGE=VBScript RUNAT=Server>

Sub Application_OnStart
    Dim ASPNETResources

    ASPNETResources = GetASPNetResources()    
    Application("ASPNETExpires") = 12    ‘’set the content to expire in 12 hours.
    If Len(ASPNETResources) >0 then    ‘’populate the application level variables
        Application.Lock
        
        Application("ASPNETResourcesUpdated")=Now()
        Application("ASPNETResourceList")=ASPNETResources
        Application.UnLock
    End if

End Sub
</script>
<!-- #include file="i_soapcall.asp" -->

i_soapcall.asp
-----------------------------------------------------------------------
<script language="vbscript" runat="server">
Function GetASPNetResources()    
    Dim returnString
    Dim myXML
    Dim SoapRequest
    Dim SoapURL

    Set SoapRequest = Server.CreateObject("MSXML2.XMLHTTP")
    Set myXML =Server.CreateObject("MSXML.DOMDocument")

    myXML.Async=False
    SoapURL = "http://64.85.12.73/WebSvc/whatsnew123apx_ds.asmx/GetNew123aspXResources?"
    SoapRequest.Open "GET",SoapURL , False
    SoapRequest.Send()

    if Not myXML.load(SoapRequest.responseXML) then ‘’an Error loading XML
        returnString = ""
    Else    ‘’parse the XML

        Dim nodesURL
        Dim nodesName
        Dim nodesDateUpdated
        Dim nodesDomain
        Dim NumOfNodes
        Dim ResourceList
        Dim i

        REM -- The XML Nodes are CASE SENSITIVVE!
        Set nodesURL=myXML.documentElement.selectNodes("//URL")
        Set nodesName=myXML.documentElement.selectNodes("//Name")

        REM -- uncomment the following lines if we want to aclearcase/" target="_blank" >ccess the DataUpdated and the Domain Nodes
        REM --Set nodesDateUpdated = myXML.documentElement.selectNodes("//DateUpdated")
        REM --Set nodesDomain = myXML.documentElement.selectNodes("//Domain")

        REM -- the number of nodes in the list
        NumOfNodes = nodesURL.Length
        ResourceList = "<font face=verdana size=2>Latest ASP.NET Resources</font><ul>"

        For i = 0 to NumOfNodes -1
            ResourceList = ResourceList & "<li><a href=" & nodesURL(i).text & "><font face=verdana size=2>" &  nodesName(i).text & "</font></a></li>"
        next

        ResourceList =ResourceList & "</ul>"
        
        returnString = ResourceList
    
        Set nodesURL = Nothing
        Set nodesName = Nothing
    End If
    
    Set SoapRequest = Nothing
    Set myXML = Nothing
    
    
    GetASPNetResources = returnString
End Function
</script>

原文转自:http://www.ltesting.net