none
Error: "HTTP Error 500.0 - Internal Server Error" - Windows Server 2008, IIS7, SSAS 2008, msmdpump.dll

    Question

  • Hello,

    We are migrating from Windows Server 2003 / IIS6 to Windows Server 2008 (32-bit) / IIS7 and I am having trouble getting our OLAP HTTP access re-established.  I had this working fine under IIS6 but am now getting the error "HTTP Error 500.0 - Internal Server Error" when attempting to access msmdpump.dll via a browser.

    Our existing Win2003 server emits a blob of useful XML when you access the dll via a browser, the new Win2008 server just issues a HTTP 500 error.  Obviously when I get around this error we'll be using standard OLAP clients like Excel and Report Builder etc.

    I have followed these instructions:
    http://bloggingabout.net/blogs/mglaser/archive/2008/08/15/configuring-http-access-to-sql-server-2008-analysis-services-on-microsoft-windows-server-2008.aspx

    The Windows Event Logs contain no errors relating to the failed attempts.  I temporarily configured Failed Request Tracing and got a couple of traces of the error occurring.  The most pertinent thing I could find in the FRT was:

     

    ModuleName IsapiModule
    Notification 128
    HttpStatus 500
    HttpReason Internal Server Error
    HttpSubStatus 0
    ErrorCode 2147942406
    ConfigExceptionInfo  
    Notification EXECUTE_REQUEST_HANDLER
    ErrorCode The handle is invalid. (0x80070006)

     

    But I'm still not sure what is going on or what I can do to address it.

    Help!

    Michael

    Friday, October 08, 2010 12:56 AM

Answers

  • I figured out what I missed!

    The server didn't have any OLAP drivers on it.  I installed the Microsoft OLE DB Provider Analysis Services 10.0 then everything started working perfectly.

    Stupid oversight on my part, but this has to qualify as one of the least informative error messages I've ever encountered.

    The penny didn't drop until I ran some Process Explorer traces to monitor what IIS was doing, and noted that it was making some calls to some OLE DB related registry keys.

    • Marked as answer by michael12345 Tuesday, October 19, 2010 9:19 AM
    Tuesday, October 19, 2010 9:17 AM

All replies

  • I have been able to setup HTTP access on both analysis services 2005 and 2008 using windows server 2003 and think it shouldnt be different on windows server 2008. One thing you need to know is that internet explorer will always give HTTP 500 error and you need to use firefox. With  

    http://servername/olap/msmdpump.dll
     on firefox you will get a message similar to the one below which shows your set up is ok. 

     

    Please let me know if you need more information

     

    <soap:Envelope>
    −
    <soap:Body>
    −
    <soap:Fault>
    <faultcode>XMLAnalysisError.0xc10e0002</faultcode>
    <faultstring>Parser: The syntax for 'GET' is incorrect.</faultstring>
    −
    <detail>
    <Error ErrorCode="3238920194" Description="Parser: The syntax for 'GET' is incorrect." Source="Unknown" HelpFile=""/>
    </detail>
    </soap:Fault>
    </soap:Body>
    </soap:Envelope>

     

    Regards 'Dotun

    Friday, October 08, 2010 8:57 AM
  • Hi Dotun,

    Thanks for your reply.

    I have also been able to set this up under Windows Server 2003 but I think an important difference is that we've upgraded to Win Server 2008 which includes IIS7.  We've encountered a few other issues relating to IIS7 so I wouldn't be surprised if this issue does also.

    I'm familar with the blob of XML you pasted in your reply, it is the response I'm looking for but I'm getting HTTP error 500.

    I don't think that the use of IE vs. FireFox should determine the error emitted by the server, I know IE has a habit of obscuring error info with it's "Show Friendly Error Messages" setting - which I've switched off.

    I've done a packet trace and confirmed the server is sending HTTP error 500 to the client.

    I've done Failed Request Tracing (FRT) on the server and confirmed that it's is reporting and logging HTTP error 500 in response to the request.

    I have also just tested this on FireFox as you suggest but it also is reporting error 500.  I'm pretty sure I have a server-side issue here and I'm stumped.  The most useful thing I seem to have found is "The handle is invalid. (0x80070006)" being reported during the Failed Request Tracing.

    I note that a lot of people moving to Win2008 IIS7 are making reference to the 64-bit version.  We are on 32-bit Win Server 2008, so I assumed I could just copy the msmdpump.dll file from our old Win 2003 server into the new Win2008 server.

    Any other thoughts? 

    Regards,

    Michael

    Monday, October 11, 2010 1:32 AM
  • Hi Michael,

    It seems HTTP setup for MS SSAS 2008 on Windows 2008 using IIS7 requires a slightly different approach based on your findings. Unfortunately, I don't have a Windows 2008 environment to try out this setup and can only provide some few tips based on my experience with Windows 2003.

    1. In my case I created a virtual folder local path D:\OLAP and granted script source access, Read, write, directory browsing access. Furthermore, I granted Execute Scripts and Executables .

    2. I enabled anonymous access and granted access to IUSR_MACHINENAME on the ISS setup.

    3. Grant access to IUSR_MACHINENAME on the cube as well.

    Hope this helps

    Regards,  'Dotun

    Monday, October 11, 2010 3:27 PM
  • I figured out what I missed!

    The server didn't have any OLAP drivers on it.  I installed the Microsoft OLE DB Provider Analysis Services 10.0 then everything started working perfectly.

    Stupid oversight on my part, but this has to qualify as one of the least informative error messages I've ever encountered.

    The penny didn't drop until I ran some Process Explorer traces to monitor what IIS was doing, and noted that it was making some calls to some OLE DB related registry keys.

    • Marked as answer by michael12345 Tuesday, October 19, 2010 9:19 AM
    Tuesday, October 19, 2010 9:17 AM
  • Nice to know this has been resolved.

    Regards 'Dotun

    Tuesday, October 19, 2010 10:10 AM
  • Just a quick update on this msmdpump.dll issue, it's 3 years later and in the process after making some adjustments to our configuration, we tried to test it using IE expecting to get the XML error message blob previously referenced, and it started just spitting out 500 errors again.  The failed request tracing logs reported the following:

    ModuleName IsapiModule
    Notification 128
    HttpStatus 500
    HttpReason Internal Server Error
    HttpSubStatus 0
    ErrorCode 0
    ConfigExceptionInfo
    Notification EXECUTE_REQUEST_HANDLER
    ErrorCode The operation completed successfully. (0x0)

    Confusing huh?  A 500 error, but the message is "The operation completed successfully. (0x0)"  We tried to open a connection using Report Builder 2.0 as we did previously, and it worked!

    After some internet searching, I found a reference to this type of error being raised when an http request is sent using an unsupported verb. IE was sending a GET request as you'd expect.

    Using Fiddler2, I could confirm that Report Builder 2.0 uses POST verbs to call msmdpump.dll and gets a nice 200 status in response.  I could also repeat this by capturing the raw request and sending it back to msmdpump.dll manually with Fiddler2.  So now it appears the 500 error in IE is totally benign.

    I can't explain the apparent change in behaviour apart from perhaps windows updates that have been applied to the server in the interim.

    Just another example of this dll being difficult to configure, unpredictable and vague in its error handling.  Anyone out there trying to mysterious diagnose 500 errors may also want to try POST instead of GET or just test with Report Builder or Excel or similar.

    Wednesday, April 24, 2013 9:10 AM