Using SOAP from inside ASP,maybe helpful for you

来源: 作者: 2007-11-22 出处:pcdog.com

.net  access  xml  
    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>&nbsp;</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 SENS99vIVVE!
Set nodesURL=myXML.documentElement.selectNodes("//URL")
Set nodesName=myXML.documentElement.selectNodes("//Name")

REM -- uncomment the following lines if we want to access 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>

 

上一篇:SOAP净化有线协议(一):SOAP基础知识 
下一篇:Web 服务互操作性和 SOAP