Final update>>>
Update: I moved the target to the production server/URL and it works fine(calling from new server, target on production). So I reversed(calling from production server and target on new server) and it works too. So it would appear that there is an issue with an ASP script using MSXML2.ServerXMLHTTP to comm with another ASP script on the same server, atleast in server 2008/IIS7. Works fine with Server 2003/IIS6. Strange step backwards it would seem to me, oh well. Perhaps this post here will help someone else.
First update>>>
Well, done some more and just read this:
...calls to ServerXMLHTTP must not send requests
to the same virtual server on which the calling script is executing,
correct? IOW, the script http://www.myserver.com/xmlhttpcaller.asp must not
reference any other ASP script on www.myserver.com when calling XMLHTTP.
Doing so can deadlock the script engine.
Even calling an XML source on a different virtual but same physical server
can cause issues, depending on app pools, isolation settings, threading
models of COM objects being used, etc. ...
If this is accurate it would seem that this may be the underlying issue with the problem I am having. If so, I find it curious it has never been a problem on the current production server but if so I will make appropriate changes. Anyone comment specifically on this info above?
original post>>>
I've read hours online about this but have very little to show for it. Basic gist of what's happening: ASP page trying to XML to another ASP page in the same dir. Following code sits for 30 seconds and times out. It actually gets to the target page at the *end* of the 30 seconds(test email with time-stamp being sent from there) but no response returned. Get method does resolve the querystring but switch to using post and no data at the target page. No response from the target page gets back to initiating page. As stated, this works fine on the current server running Server 2003. I've gone through roles, proxycfg(direct access as with the current server), it's a page calling a page in the same directory. In the IIS manager I have set the ISAPI restrictions to allowed for c:\windows\system32\msxml3.dll. I have started WinHttpAutoProxySvc. Perhaps a specific feature I need to install or a service to run or...?
error:
msxml3.dll error '80072ee2'
The operation timed out
/testXML_2.asp , line 26
line 26 is the xml.send line
Simple code being tested to get the xml working on the new server(testXML_2.asp):
IF UCASE(Request.ServerVariables("HTTPS")) = "ON" THEN
vWork2 = cfgURLBaseSecure & cfgURLDir
ELSE
vWork2 = cfgURLBase & cfgURLDir
END IF
vXMLAdr = vWork2 & "/testXML.asp"
vXMLStr = "?EC=E1234567890"
SET xml = Server.CreateObject("MSXML2.ServerXMLHTTP")
vWork = vXMLAdr & vXMLStr
xml.open "GET", vWork, FALSE
xml.send
'xml.open "POST", vXMLAdr, FALSE
'xml.send vXMLStr
IF xml.status = 200 THEN
vReturn = xml.responseText
ELSE
vReturn = "FAIL"
END IF
Target page code(testXML.asp):
vWork2 = Request.QueryString("EC")
'vWork3 = Request.form("EC")
vWork = "testXML - Time: " & now() & " querystring: " & vWork2 & " form: " & vWork3
CALL SendErrorEmail("testXML - new",vWork,"")
Response.Write "Got There and Back"
Response.end
The reason the one ASP page is using the XML object to contact another is the main use of the target is AJAX with other pages but sometimes the system needs to perform the same function thus this method of interacting with the AJAX page via the system vs a user via a browser and I would prefer to keep the code in one place. Perhaps there is an alternate I should be considering but the above scenario has been in production just fine for years now.
Any help?
Thanks in advance,
Ken