Altova Mailing List Archives>Archive Index >microsoft.public.xml Archive Home >Recent entries >Thread Prev - Re: MSXML 3 Replaced By MSXML6 - Help >Thread Next - Re: MSXML 3 Replaced By MSXML6 - Help Re: MSXML 3 Replaced By MSXML6 - HelpTo: NULL Date: 2/13/2009 7:51:00 AM Thanks for the quick reply. You've helped me a lot back in 2007 and I'm in the soup now (and my once meager facility with XML, SOAP, SQL Server RS, has all left me). Basically what I did was use Classic ASP to communicate via SOAP with Reporting Services (not an easy thing to do at the time). Anyway, you're right about the error message. If it couldn't find MSXML 3.0 it should have had the error "Server.CreateObject Failed". I confirmed this when I replaced the code to use 6.0 and the same error occurred. I'm wondering why a SQL Server SP3 upgrade would have anything to do with this, unless they changed their SOAP response format or permissions or ??????? Any thoughts would be welcome. Thanks. The part of the code I used is below, getNodeText is called first, theResponse is from a SOAP request (e.g. xmlobject.responseBody). I do have error checking and reporting but this seems to bypass all of this (ASP actually catches the error as a Microsoft VBScript runtime error). Function getNodeObject(theResponse, xslPattern) 'if using 6.0 HAVE to use XPath instead of XSLPatterns 'and would HAVE to include namespaces and prefixes in the xpath 'for nodes associated with namespaces Dim xmldoc set xmldoc = Server.CreateObject("MSXML2.DOMDocument.3.0") xmldoc.load(theResponse) set getNodeObject = xmldoc.documentElement.selectSingleNode(xslPattern) set xmldoc = nothing End Function Function getNodeText(theResponse, xslPattern) Dim node set node = getNodeObject(theResponse, xslPattern) if NOT (node is nothing) then getNodeText = node.text set node = nothing else getNodeText = errorMsg end if End Function "Martin Honnen" <mahotrash@y...> wrote in message news:%23JVMj2djJHA.4976@T...... > Don Miller wrote: >> For many reasons (that were discussed here in 2007 including using >> XSLPatterns versus XPath), I have chosen to use MSXML 3.0 instead of 6.0 >> when I am interacting with SQL Server Reporting Services SOAP (the Prog >> ID I use is MSXML2.DOMDocument.3.0 to parse and MSXML2.ServerXMLHTTP.6.0 >> to send the request) >> >> Everything was fine up until I upgraded my SQL Server 2005 yesterday, and >> I inadvertently chose an option to install MSXML 6.0 during the upgrade. >> It seems that my 3.0 code doesn't work anymore and I get the error >> "Object required: 'xmldoc.documentElement'" where I use (Classic ASP) set >> xmldoc = Server.CreateObject("MSXML2.DOMDocument.3.0") . >> >> I thought that my 3.0 would still be there along with 6.0. > > MSXML 4, 5, 6 all install side by side to MSXML 3. Only MSXML 3 might > replace older version like 2.6. So installation of MSXML 6 can't change or > even remove your MSXML 3 installation. > The error must have different reasons. Can you give a clear description of > the error? Does > set xmldoc = Server.CreateObject("MSXML2.DOMDocument.3.0") > really not work any more? > But why would you get an error > Object required: 'xmldoc.documentElement' > for that line, that does not make sense, it rather sounds as if the XML > you are trying to parse is not well-formed and therefore the xmldoc object > does not have a documentElement. > > > > > > -- > > Martin Honnen --- MVP XML > http://JavaScript.FAQTs.com/ | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
