OK, here is my alternative answer, this time the page that you request sends an XML string to another page, which loads it into an XML document and extracts data from the XML.
[EDIT] The technique you have used to send XML in your original post works fine, see the final version (post3.asp /receive3.asp) shown below.
In post2.asp / receive2.asp I have encoded the XML as a form field named XML, then loaded that field into the XML object at the receiving end. This works fine for relatively small XML files.
In this example, you have to request the post2.asp page:
post2.asp
<%
Response.write "Posting XML data to another page<br/>"
'// URL to which to send XML data
URL="http://localhost:8096/pages/test/receive2.asp"
'// The XML string to be sent
Dim Information: Information = "<Send><UserName>Colt</UserName><PassWord>Taylor</PassWord><Data>100</Data></Send>"
dim XMLHttp : SET XMLHttp = Server.CreateObject("MSXML2.ServerXMLHttp")
xmlhttp.Open "POST", url, false
xmlhttp.setRequestHeader "Content-type", "application/x-www-form-urlencoded"
'// URLEncode the XML into a form data string and send it
xmlhttp.send "xml=" & server.URLEncode( Information )
'// Get the response that is send by receive2.asp
dim sResponse: sResponse = xmlhttp.ResponseText
'// Show the response
Response.write "Response received from the called page:<hr/><span style='color:blue'>" & sResponse & "</span><hr/>"
%>
Receive2.asp
<%
'// Get the xml string from the request
xml = Request.form("xml")
'// Write the received XML as a displayable html string
response.write "[" & replace(replace(xml, "<", "<"), ">", ">") & "]<br/>"
'// Create the XML object to load the string
Dim objXml
Set objXml = Server.CreateObject("MSXML2.DOMDOCUMENT.3.0")
'// Try to load the xml string
if objXML.LoadXML(xml) THEN
'// Get the data from the xml
strQuery = "//UserName"
Set oNode = objXML.selectSingleNode(strQuery)
strUserName = oNode.Text
'// Success message
response.write "success - user = " & strUserName & "<br/>"
ELSE
'// Failed message
Response.Write "Failed to load XML file, reason: " & objXML.parseError.reason & "<br/>"
END IF
%>
This is the result you get when opening the post2.asp page
Posting XML data to another page
Response received from the called page:
_______________________________________________________
[<Send><UserName>Colt</UserName><PassWord>Taylor</PassWord><Data>100</Data></Send>]
success - user = Colt
_______________________________________________________
Here is the final version, this time using the XML content type. You have to open the page post3.asp:
Post3.asp
<%
'// URL to which to send XML data
URL="http://localhost:8096/pages/test/receive3.asp"
Response.Write "Sending XML data to " & URL & "<br/>"
information = "<Send><UserName>Colt</UserName><PassWord>Taylor</PassWord><Data>100</Data></Send>"
Set xmlhttp = server.Createobject("MSXML2.ServerXMLHTTP")
xmlhttp.Open "POST", url, false
xmlhttp.setRequestHeader "Content-Type", "text/xml"
xmlhttp.send information
'// Report the response from the called page
response.write "Response received:<hr/><span style='color:blue'>" & xmlhttp.ResponseText & "</span><hr/>"
%>
Receive3.asp
<%
Dim objXmlRequest
Set objXmlRequest = Server.CreateObject("MSXML2.DOMDOCUMENT.3.0")
IF objXmlRequest.Load (Request) THEN
'GET THE REQUEST FROM CLIENT
strQuery = "//UserName"
Set oNode = objXmlRequest.selectSingleNode(strQuery)
strActionName = oNode.Text
response.write "success! user name is " & strActionName
ELSE
Response.Write "Failed to load XML file, reason: " & objXmlRequest.parseError.reason
END IF
%>
and the result is:
Sending XML data to http://localhost:8096/pages/test/receive3.asp
Response received:
success! user name is Colt