Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


Re: IIS7 ASP Response object incompatible with MSXML transformNodeToObject

From: "Anthony Jones" <Ant@------------.--->
To: NULL
Date: 8/13/2008 5:31:00 PM

"Anthony Jones" <Ant@y...> wrote in message
news:%23pjwOeX%23IHA.2060@T......
> 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"">" & _
>    "<xsl:output 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?
>

Here is an update on this problem.

MSXML 3.0 SP10 (msxml3.dll 8.100.1043.0) and MSXML 6.0 SP2 (msxml6.dll
6.20.1076.0)

I've only found these on Server 2008 although I haven't checked an XP SP3
machine or  Vista SP1.

Both of these now call the Commit method on the IStream interface passed to
the transformNodeToObject method.  Previous versions did not do this.  The
Response object of ASP does not implement this method and throws an error
when asked to do so.

The work round is to create a Wrapping Implementation of IStream and absorb
the Commit call.

:(


-- 
Anthony Jones - MVP ASP/ASP.NET




transparent
Print
Mail
Digg
delicious
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent