A
Anthony Jones
People,
Anyone else got an IIS7 server out there that they can test this little ASP
file:-
<%
Set xml = Server.CreateObject("MSXML2.DOMDocument.3.0")
xml.loadXML "<root />"
Set xsl = Server.CreateObject("MSXML2.DOMDocument.3.0")
xsl.loadXML "<xsl:stylesheet
xmlns:xsl=""http://www.w3.org/1999/XSL/Transform"" version=""1.0"">" & _
"<xslutput method=""xml"" encoding=""UTF-8"" />" & _
"<xsl:template match=""root""><ok /></xsl:template>" & _
"</xsl:stylesheet>"
Response.ContentType = "text/xml"
Response.CharSet = "UTF-8"
xml.documentElement.transformNodeToObject xsl, Response
%>
The above works fine on IIS6 and below. On IIS7 however it fails with
0x80004001 Not Implemented on the transformNodeToObject.
It seems something has changed in either MSXML or ASP that breaks this code.
Varitions attempted:-
Use MSXML6: Still Fails
Set Response.CodePage = 65001: Still fails
Set encoding in output element to "Windows-1252": Still fails
Set method to html: Still fails
Pass a different object that implements IStream: Succeeds.
Has Response stop implementing IStream use DOMDocument.Save and pass in the
Response object. That succeeds also so Response still implements IStream.
I note the MSXML3.dll is SP10 on the 2008 server whereas my MSXML3.dll on
the 2003 server is SP9.
Can't find any info on changes though.
Does anyone have any light to shed or can confirm the problem?
Anyone else got an IIS7 server out there that they can test this little ASP
file:-
<%
Set xml = Server.CreateObject("MSXML2.DOMDocument.3.0")
xml.loadXML "<root />"
Set xsl = Server.CreateObject("MSXML2.DOMDocument.3.0")
xsl.loadXML "<xsl:stylesheet
xmlns:xsl=""http://www.w3.org/1999/XSL/Transform"" version=""1.0"">" & _
"<xslutput method=""xml"" encoding=""UTF-8"" />" & _
"<xsl:template match=""root""><ok /></xsl:template>" & _
"</xsl:stylesheet>"
Response.ContentType = "text/xml"
Response.CharSet = "UTF-8"
xml.documentElement.transformNodeToObject xsl, Response
%>
The above works fine on IIS6 and below. On IIS7 however it fails with
0x80004001 Not Implemented on the transformNodeToObject.
It seems something has changed in either MSXML or ASP that breaks this code.
Varitions attempted:-
Use MSXML6: Still Fails
Set Response.CodePage = 65001: Still fails
Set encoding in output element to "Windows-1252": Still fails
Set method to html: Still fails
Pass a different object that implements IStream: Succeeds.
Has Response stop implementing IStream use DOMDocument.Save and pass in the
Response object. That succeeds also so Response still implements IStream.
I note the MSXML3.dll is SP10 on the 2008 server whereas my MSXML3.dll on
the 2003 server is SP9.
Can't find any info on changes though.
Does anyone have any light to shed or can confirm the problem?