PRB: ServerXMLHTTP Object Adds Content-Type Header with XML Data (282102)
The information in this article applies to:
This article was previously published under Q282102 SYMPTOMS
When posting XML data to a Web server by passing a DOMDocument object to the send method of a ServerXMLHTTP object, a content-type header of "text/xml" is automatically added. If you set the request header before sending XML data, the content-type header sent to the Web server is "Text/xml, text/xml" instead of "Text/xml," which may cause problems.
CAUSE
The following is an example of Microsoft JScript code that could cause the problem to occur:
var xmlhttp = new ActiveXObject("MSXML2.ServerXMLHTTP");
var doc = new ActiveXObject("MSXML2.DOMDocument");
xmlhttp.open("POST", "http://localhost/acceptpost.asp", false);
//set the content-type as Text/xml
xmlhttp.setRequestHeader("Content-Type", "Text/xml");
doc.async=false;
doc.loadXML("<?xml version='1.0'?><Stock>myStock</Stock>");
xmlhttp.send(doc);
The ServerXMLHTTP object first inspects the data and, when it finds that the data is XML, it adds the "text/xml" content-type header.
If the data is not XML, this content-type header is not added. The following code is an example of this scenario:
var xmlhttp = new ActiveXObject("MSXML2.ServerXMLHTTP");
xmlhttp.open("POST", "http://localhost/acceptpost.asp", false);
xmlhttp.send("<?xml version='1.0'?><Stock>myStock</Stock>");
STATUSMicrosoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.
Modification Type: | Major | Last Reviewed: | 10/16/2002 |
---|
Keywords: | kbBug kbDSupport kbMSXMLnosweep kbprb KB282102 |
---|
|