Hi. I have a problem that I am trying to troubleshoot on a client's
production (*sigh*) servers. On one server, we will call web2 all works
well. On another server, we will call web1, the client receives and error.
Through debugging, I have isolated this client-side code:
// send SOAP request
var oHTTPPost = new ActiveXObject(XML_HTTP_OBJ);
oHTTPPost.Open("POST", sURL, false);
oHTTPPost.setRequestHeader("Content-type", "text/xml");
oHTTPPost.setRequestHeader("SOAPAction", sNamespace + sMethod);
oHTTPPost.send(xmlDoc.xml); <-------------NOTE THIS BIG MEANIE line of
code.
// get SOAP response
var oResult = oHTTPPost.responseXML.documentElement;
if (null == oResult) throw("SOAP error: no responseXML");
var oBody = oResult.selectSingleNode("soap:Body");
if (null == oBody) throw("SOAP error: no soap:Body");
On web1, the oResult is null. On web4, oResult is lovely. And not null. I
can access this in the debugger and find that after the big meanie line of
code is executed oHTTPPost.status = 500 and oHTTPPost.statusText = "Internal
Server Error"
Not good.
I can tell that the method in the asmx file on the server which is supposed
to be called is not. (I put logging into the Application Event log. No logs
occurred. Logging definitely works fine.)
I know next to nothing about SOAP. How do I find out what port the listener
is one and what the listener IS? Presumably if I am making a request, then
something has to be listening to respond. I am not sure these are even
pertinent questions, but there is something about how the request is being
handled on the two servers.
Any pointers on what I can pursue to isolate these differences?
Thanks for any tips. I am stumped.
Thanks.
Stephanie