US and Worldwide: +1 (866) 660-7555
Page 1 of 2 12 LastLast
Results 1 to 10 of 11

Thread: XMLA debug, excel output

  1. #1
    Join Date
    Apr 2008
    Posts
    4

    Default XMLA debug, excel output

    Hi,
    After upgrading to 3.0.2, i have problem displaying XMLA output for debugging purposes. Using Jboss 3.0.5, I have put this into log4j.xml:
    <category name="mondrian">
    <priority value="DEBUG" />
    </category>
    I get MDX and SQL output, but no xmla - can anyone tell me the appropriate setting here?

    The reason i want xmla output is because i try to connect excel 2007 to a mondrian server (standalone, not pentaho). According to one thread here, it should be possible also without the simba driver. Connecting works fine from Jasperreports and other applications. I get this error when trying to connect from excel via the ssas driver :
    "The xsd:schema element at line 9, column 312 (namespace http://www.w3.org/2001/XMLSchema) cannot appear under Envelope/Body/ExecuteResponse/return/root"

  2. #2
    Join Date
    Nov 1999
    Posts
    449

    Default

    Hi,

    can you post which ssas driver are you using. Is this the MS OLE DB Provider for Analysis Sevices 9.0?
    And which URL are you using?
    May be I can try to reproduce this.

    Thanks,
    Jens

  3. #3
    Join Date
    Dec 2005
    Posts
    6

    Default

    Hi All,

    I have the same error,

    Have you found the solution for this issue?

    Thanks
    Gergo

  4. #4
    Join Date
    Oct 2007
    Posts
    255

    Default asdf

    I don't know about the problems you're having right now, but I do have a recommendation for seeing the XMLA.

    I would recommend you get Wireshark installed. You can intercept all packets sent to the server & view the entire HTTP packet, though all you really need is the body of the packet to get the SOAP wrapper & XMLA content.

    -Brian

  5. #5

    Default Logging XMLA

    For another way to log your XMLA messages, see

    http://forums.pentaho.org/showthread.php?t=58822

    Tom

  6. #6
    Join Date
    Oct 2007
    Posts
    255

    Default asdf

    Great recommendation. Thank you, Tom.

    -Brian

  7. #7
    Join Date
    Apr 2008
    Posts
    4

    Default

    Thank you all for the replies. I have gone way out of my league, and studied mondrian source code. I am using Excel 2007 and mondrian 3.0.3 running on jboss/localhost (provider confirmed working from xmla driver in jasperreports). These are preliminary research results (may be affected by my severely limited understanding of java, soap and xmla).
    :

    * The reason mondrian does not produce debug output is that LOGGER is declared final. I have no idea what this means, but removing "final" from the constructor (?) in xmlservlet.java and configuring log4j.xml accordingly, makes mondrian output soap and xmla requests and responses.

    * ADOMD.NET (i assume this is what is identified as ole db provider for olap services 8.0) sends binary garbage to mondrian instead of soap/xmla. According to a thread at this forum, it has to do with encryption and security.

    * msolap9 (ole DB provider for analysis services 9.0) does actually communicate with mondrian using soap/xmla. But:

    * When pressing "Test connection" in excel, excel generates an empty execute statement, rather than a DISCOVER statement (as i had expected). This is what excel sends:

    <?xml version="1.0" encoding="UTF-8"?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Header>
    <BeginSession xmlns="urn:schemas-microsoft-com:xml-analysis"/>
    <Version xmlns="http://schemas.microsoft.com/analysisservices/2003/engine/2" Sequence="2"/>
    </soap:Header>
    <soap:Body>
    <Execute xmlns="urn:schemas-microsoft-com:xml-analysis">
    <Command>
    <Statement xmlns="urn:schemas-microsoft-com:xml-analysis"/>
    </Command>
    <Properties><PropertyList><LocaleIdentifier>1044</LocaleIdentifier></PropertyList></Properties>
    </Execute>
    </soap:Body></soap:Envelope>

    * to deal with the request, mondrian runs XmlaHandler.writeEmptyDatasetXmlSchema . This method returns an empty Executeresponse to excel, except it contains an element "<xmlschema ..>" under the Root element, which is not allowed according to xmla schema definition (ref msdn). This is what causes the error message in the original post.

    * Commenting out the entire body from writeEmptyDatasetXmlSchema eliminates the original error, mondrian now outputs an empty root element, but:

    * Excel now complains about an unknown error (file pcxmlaclient.cpp line 564, function PCXMLAClient::Beginsession)

    * Mondrian should have returned a session ID in the soap header (<soap:header><Session SessionId="somestring"></soap:header>. This needs to be appended to DefaultXmlaServlet.marshallSoapMessage (at line 494), but i have no clue how to get access to the actuall sessionid. Just adding the line in soap header without a correct sessionid yields another error message.

    Rumors has it that the taxpayers want me back counting students and staff, so i think i'll leave it there for now. I believe a working OS solution for excel integration would be a great bonus for mondrian, and the efforts not prohibiting, but it would have to be done by an actual java programmer (ie, not me).

  8. #8
    Join Date
    Nov 2007
    Posts
    2

    Default

    with mondrian 3.0.4 and Excel 2003 + OLE DB provider for AS 9.0

    I Got same error as you

    I commented then this line in XmlaHandler class:
    writer.verbatim(EMPTY_MD_DATA_SET_XML_SCHEMA);

    I have now this error in Excel:
    Internal error: An expected error occured (file 'pcxmlaclient.cpp', line 563, function 'PCXMLAClient::BeginSession').

    when I look at the packets, I see:

    ==== Request ====
    POST /xmla/msolap.asp HTTP/1.1
    User-Agent: Light DCube
    Host: 127.0.0.1:8888
    Content-Length: 143
    Connection: Keep-Alive
    Cache-Control: no-cache

    BINARY STUFF HERE (in Excel request)

    ==== Response ====
    HTTP/1.1 404 Not Found
    Content-Type: text/html; charset=iso-8859-1
    Content-Length: 1401
    Server: Jetty(6.1.9)

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
    <title>Error 404 NOT_FOUND</title>
    </head>
    <body><h2>HTTP ERROR: 404</h2><pre>NOT_FOUND</pre>
    <p>RequestURI=/xmla/msolap.asp</p><p><i><small><a href="http://jetty.mortbay.org/">Powered by Jetty://</a></small></i></p><br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>
    <br/>

    </body>
    </html>

    ==============

    so the OLE DB provider for AS 9.0 is looking for /xmla/msolap.asp which of course is not available on my server.

    and this can not be changed in the request as it seems hard coded !

    did someone investigate this ? or faced same issue as me ?

  9. #9
    Join Date
    Apr 2011
    Posts
    1

    Default

    Is there any progress on correcting errors? And will it?

  10. #10
    Join Date
    Feb 2012
    Posts
    2

    Default

    Hi,

    Any update on this issue? I am getting similar in my end.

    Thanks,
    Uday

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •