XMLA debug, excel output
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:
<priority value="DEBUG" />
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 :
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.
I have the same error,
Have you found the solution for this issue?
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.
For another way to log your XMLA messages, see
Great recommendation. Thank you, Tom.
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"?>
<Version xmlns="http://schemas.microsoft.com/analysisservices/2003/engine/2" Sequence="2"/>
* 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).
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:
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
BINARY STUFF HERE (in Excel request)
==== Response ====
HTTP/1.1 404 Not Found
Content-Type: text/html; charset=iso-8859-1
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<title>Error 404 NOT_FOUND</title>
<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/>
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 ?
Is there any progress on correcting errors? And will it?
Any update on this issue? I am getting similar in my end.