Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


Re: MSXML 3 Replaced By MSXML6 - Help

From: "Don Miller" <nospam@------.--->
To: 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/ 




transparent
Print
Mail
Like It
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