Comments (5)
We don't officially support IBM. Judging by that exception, you are the first person to try it. But there are a lot of similarities among XMLA providers, so it typically isn't a lot of work to get one working.
If you are comfortable writing java code, add an extra entry to the BackendFlavor enum and see if you get further.
Julian
from olap4j.
OK, I added it and passed the exception. Now I got IOException.
When I debug code, 3 discover soap messages are sent and the results received successfully.
Next, this soap message is sent and an IOException is thrown (java.io.IOException: Server returned HTTP response code: 500 for URL: http://CubeXMLAServerIPHere:PortHere/IBMXmlAnalysis).
I tried this query in IBM's mdx command utility with xmla mode, it runs there without error.
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<Execute xmlns="urn:schemas-microsoft-com:xml-analysis">
<Command>
<Statement>
<![CDATA[
SELECT { [Measures].[Products] } ON COLUMNS, { [Time].[2004], [Time].[2005] , [Time].[2006] , [Time].[2007] } ON ROWS FROM [SalesCube] WHERE ( [Retailers].[Region].[Americas] )]]>
</Statement>
</Command>
<Properties>
<PropertyList>
<Catalog>Cubing Services</Catalog>
<DataSourceInfo>Local IBM InfoSphere Warehouse Cubing Services Server</DataSourceInfo>
<Format>Multidimensional</Format>
<AxisFormat>TupleFormat</AxisFormat>
</PropertyList>
</Properties>
</Execute>
</soapenv:Body>
</soapenv:Envelope>
EXCEPTION LINE ---------------------------------------------------------------------------------------------------------
XmlaOlap4jHttpProxy.getResponse(XmlaOlap4jServerInfos, String) line: 130
...
// Get the response, again assuming default encoding.
InputStream is = urlConnection.getInputStream(); <-- java.io.IOException: Server returned HTTP response code: 500 for URL: http://CubeXMLAServerIPHere:PortHere/IBMXmlAnalysis
...
from olap4j.
The problem is on the server. 500 means "internal error". Maybe there is more information in the server's log file.
Take a look at whether the HTTP request that the driver is sending is similar to the HTTP request that you are sending manually. If they were identical it's unlikely the server would give a 500. So, what is it about the driver's request that the server doesn't like?
Julian
from olap4j.
Yes, trace file gives the correct problem. It complains about that EOF reached without SELECT or WITH.
The solution is that execute method content should not be embedded within CDATA as below:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<Execute xmlns="urn:schemas-microsoft-com:xml-analysis">
<Command>
<Statement>
SELECT {[Measures].[Products]} ON COLUMNS, {[Time].[2004],[Time].[2005],[Time].[2006],[Time].[2007]} ON ROWS FROM [SalesCube] WHERE ([Retailers].[Region].[Americas])
</Statement>
</Command>
<Properties>
<PropertyList>
<Catalog>Cubing Services</Catalog>
<DataSourceInfo>Local IBM InfoSphere Warehouse Cubing Services Server</DataSourceInfo>
<Format>Multidimensional</Format>
<AxisFormat>TupleFormat</AxisFormat>
</PropertyList>
</Properties>
</Execute>
</soapenv:Body>
</soapenv:Envelope>
I need such a fix for IBM BackendFlavor. In this case, CDATA's unparsed text ability will be lost and we may need to send some characters as escaped in query string like below (it would be better if escaping is done in olap4j):
> ------> >
& -----> &
Thank you.
from olap4j.
Thanks. It sounds pretty clear what we need to do.
from olap4j.
Related Issues (20)
- How to configure pool connection with apache DBCP 2? HOT 1
- Query Scope Named Sets fail validation HOT 3
- how to generate "WITH SET" and "WITH MEMBER"by olap4j HOT 1
- [Help] Method executeQuery() inside OlapStatement does not throw an exception when SOAP response XML contains error under Messages section
- I want get Measures Grouping information for my cube ,but i can't find the method! HOT 2
- Bugs of ol4j.mdx.parser HOT 1
- How do I issue an MDX writeback query
- API docs offline HOT 1
- What is the status of this project? HOT 3
- Running select in Sybase/SAP Hana fails due to incorrect Dialect HOT 1
- Olap4J transform package
- The first query is slow
- Using olap4j in Android Studio
- Expand All Option
- Apache Xerces dependency 2.11.0 has security vulnerability so replace it with 2.12.0
- failed to build with ant
- TESTPROXYCOOKIE should really just be PROXYCOOKIE
- 401 error when using DAX query
- Identify query has a non visual clause
- how to use olap4j with HikariDataSource
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from olap4j.