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 a
clearcase/" 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