Jump to content

How to set up a new Analysis XML/A Connection


anewby

Recommended Posts

 I just posted a problem for Analysis Views using Mondrian Connections.  As a workaround, I'm trying to get an Analysis View built using an XML/A connection, even though everything is running on the same server.

-------- Java 1.5, JBoss 4.2.3, JasperServer 3.0 --------

I know my basic infrastructure is good, because I have successfully run the supplied sample Foodmart and SugarCRM Analysis XML/A Views.  However, I can't find what I need in the documentation.

Where I'm struggling is the XML/A connection definition.  I understand how the XML/A source is defined and linked to a Mondrian Connection.  I also understand that the Catalog name defined for the XML/A source is also used in the XML/A Connection definition to link the two.  However, I don't understand what I should be using for the Data Source entry in the XML/A connection definition.

If I look at the supplied samples (say Foodmart XML/A Connection), the Data Source shows : "Provider=Mondrian;DataSource=Foodmart;"  However, I have no idea what this Data Source refers to since there is no Data Source defined as "Foodmart" in the supplied sample configurations.  The only things called "Foodmart" are a Mondrian Connection and the Catalog entry of the XML/A source and connection.

Since I already identify the Catalog, when setting up the XML/A connection, I assume that this Data Source references the name of a Mondrian Connection referenced by a Mondrian XML/A Source (possibly allowing multiple Mondrian XML/A sources to belong to the same catalog?).  However, if I set up a new set of XML/A Connection and Source as follows, I get this:

XML/A Connection

Catalog: PTPipeline

Data Source: Provider=Mondrian;DataSource=PTPipeline; 

 

 Mondrian XML/A Source

Catalog: PTPipeline

Copnnection Reference: /analysis/connections/PTPipeline

 

com.jaspersoft.jasperserver.api.JSException: com.tonbeller.jpivot.olap.model.OlapException: Mondrian Error:Internal error: no data source is configured with name 'Provider=Mondrian;DataSource=PTPipeline;

 

What am I doing wrong?

 

Thanks in advance,

Adrian

 

 

Link to comment
Share on other sites

  • 2 weeks later...
  • Replies 7
  • Created
  • Last Reply

Top Posters In This Topic

com.jaspersoft.jasperserver.api.JSException: com.tonbeller.jpivot.olap.model.OlapException: Mondrian Error:Internal error: no data source is configured with name 'Provider=Mondrian;DataSource=PTPipeline; '

at com.jaspersoft.jasperserver.war.control.OlapModelController.getOlapSession(OlapModelController.java:431)

at com.jaspersoft.jasperserver.war.control.OlapModelController.viewOlap(OlapModelController.java:190)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at org.springframework.web.servlet.mvc.multiaction.MultiActionController.invokeNamedMethod(MultiActionController.java:434)

at org.springframework.web.servlet.mvc.multiaction.MultiActionController.handleRequestInternal(MultiActionController.java:372)

at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)

at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:45)

at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:820)

at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:755)

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:396)

at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:350)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at com.tonbeller.wcf.controller.RequestFilter$MyHandler.normalRequest(RequestFilter.java:140)

at com.tonbeller.wcf.controller.RequestSynchronizer.handleRequest(RequestSynchronizer.java:127)

at com.tonbeller.wcf.controller.RequestFilter.doFilter(RequestFilter.java:267)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at com.jaspersoft.jasperserver.war.common.UploadMultipartFilter.doFilter(UploadMultipartFilter.java:86)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)

at org.acegisecurity.ui.switchuser.SwitchUserProcessingFilter.doFilter(SwitchUserProcessingFilter.java:335)

at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)

at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)

at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)

at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)

at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)

at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)

at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)

at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)

at com.jaspersoft.jasperserver.api.metadata.user.service.impl.MetadataAuthenticationProcessingFilter.doFilter(MetadataAuthenticationProcessingFilter.java:141)

at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)

at com.jaspersoft.jasperserver.war.util.RequestParameterAuthenticationFilter.doFilter(RequestParameterAuthenticationFilter.java:97)

at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)

at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:181)

at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)

at com.jaspersoft.jasperserver.war.UserPreferencesFilter.doFilter(UserPreferencesFilter.java:165)

at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)

at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217)

at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)

at com.jaspersoft.jasperserver.war.UserPreferencesFilter.doFilter(UserPreferencesFilter.java:165)

at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)

at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:191)

at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)

at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)

at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:90)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at com.jaspersoft.jasperserver.war.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:70)

at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)

at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)

at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)

at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)

at java.lang.Thread.run(Thread.java:613)

Caused by: com.tonbeller.jpivot.olap.model.OlapException: Mondrian Error:Internal error: no data source is configured with name 'Provider=Mondrian;DataSource=PTPipeline; '

at com.tonbeller.jpivot.xmla.XMLA_SOAP.errorCheck(XMLA_SOAP.java:1531)

at com.tonbeller.jpivot.xmla.XMLA_SOAP.discover(XMLA_SOAP.java:1480)

at com.tonbeller.jpivot.xmla.XMLA_SOAP.discoverDim(XMLA_SOAP.java:348)

at com.tonbeller.jpivot.xmla.XMLA_Model.initCubeMetaData(XMLA_Model.java:743)

at com.tonbeller.jpivot.xmla.XMLA_Model.initialize(XMLA_Model.java:179)

at com.tonbeller.jpivot.olap.model.OlapModelDecorator.initialize(OlapModelDecorator.java:132)

at com.tonbeller.jpivot.tags.OlapModelProxy$MyState.initialize(OlapModelProxy.java:77)

at com.tonbeller.jpivot.tags.PageStateManager.initializeAndShow(PageStateManager.java:42)

at com.tonbeller.jpivot.tags.OlapModelProxy.initializeAndShow(OlapModelProxy.java:179)

at com.jaspersoft.jasperserver.api.metadata.olap.service.impl.OlapConnectionServiceImpl.initializeAndShow(OlapConnectionServiceImpl.java:346)

at com.jaspersoft.jasperserver.war.control.OlapModelController.getOlapSession(OlapModelController.java:428)

... 73 more

 

com.tonbeller.jpivot.olap.model.OlapException: Mondrian Error:Internal error: no data source is configured with name 'Provider=Mondrian;DataSource=PTPipeline; '

 

com.tonbeller.jpivot.olap.model.OlapException: Mondrian Error:Internal error: no data source is configured with name 'Provider=Mondrian;DataSource=PTPipeline; '

at com.tonbeller.jpivot.xmla.XMLA_SOAP.errorCheck(XMLA_SOAP.java:1531)

at com.tonbeller.jpivot.xmla.XMLA_SOAP.discover(XMLA_SOAP.java:1480)

at com.tonbeller.jpivot.xmla.XMLA_SOAP.discoverDim(XMLA_SOAP.java:348)

at com.tonbeller.jpivot.xmla.XMLA_Model.initCubeMetaData(XMLA_Model.java:743)

at com.tonbeller.jpivot.xmla.XMLA_Model.initialize(XMLA_Model.java:179)

at com.tonbeller.jpivot.olap.model.OlapModelDecorator.initialize(OlapModelDecorator.java:132)

at com.tonbeller.jpivot.tags.OlapModelProxy$MyState.initialize(OlapModelProxy.java:77)

at com.tonbeller.jpivot.tags.PageStateManager.initializeAndShow(PageStateManager.java:42)

at com.tonbeller.jpivot.tags.OlapModelProxy.initializeAndShow(OlapModelProxy.java:179)

at com.jaspersoft.jasperserver.api.metadata.olap.service.impl.OlapConnectionServiceImpl.initializeAndShow(OlapConnectionServiceImpl.java:346)

at com.jaspersoft.jasperserver.war.control.OlapModelController.getOlapSession(OlapModelController.java:428)

at com.jaspersoft.jasperserver.war.control.OlapModelController.viewOlap(OlapModelController.java:190)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at org.springframework.web.servlet.mvc.multiaction.MultiActionController.invokeNamedMethod(MultiActionController.java:434)

at org.springframework.web.servlet.mvc.multiaction.MultiActionController.handleRequestInternal(MultiActionController.java:372)

at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)

at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:45)

at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:820)

at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:755)

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:396)

at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:350)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at com.tonbeller.wcf.controller.RequestFilter$MyHandler.normalRequest(RequestFilter.java:140)

at com.tonbeller.wcf.controller.RequestSynchronizer.handleRequest(RequestSynchronizer.java:127)

at com.tonbeller.wcf.controller.RequestFilter.doFilter(RequestFilter.java:267)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at com.jaspersoft.jasperserver.war.common.UploadMultipartFilter.doFilter(UploadMultipartFilter.java:86)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)

at org.acegisecurity.ui.switchuser.SwitchUserProcessingFilter.doFilter(SwitchUserProcessingFilter.java:335)

at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)

at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)

at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)

at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)

at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)

at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)

at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)

at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)

at com.jaspersoft.jasperserver.api.metadata.user.service.impl.MetadataAuthenticationProcessingFilter.doFilter(MetadataAuthenticationProcessingFilter.java:141)

at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)

at com.jaspersoft.jasperserver.war.util.RequestParameterAuthenticationFilter.doFilter(RequestParameterAuthenticationFilter.java:97)

at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)

at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:181)

at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)

at com.jaspersoft.jasperserver.war.UserPreferencesFilter.doFilter(UserPreferencesFilter.java:165)

at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)

at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217)

at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)

at com.jaspersoft.jasperserver.war.UserPreferencesFilter.doFilter(UserPreferencesFilter.java:165)

at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)

at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:191)

at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)

at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)

at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:90)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at com.jaspersoft.jasperserver.war.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:70)

at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)

at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)

at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)

at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)

at java.lang.Thread.run(Thread.java:613)

 

Link to comment
Share on other sites

  • 1 month later...
  • 3 weeks later...
  • 2 months later...

Hello,

I think this is a problem of the jasperserver data base called 'jasperserver'. Obviously, examples work well, but when you try to customized your own solutions, problems arise.

jasperserver is recording every object in a data base with the same name, and in the process, every object is recorded in a different table. So, when you create a new XMLA connection, one o those table is not filled and you get the the problem of data source.

In first instance, you need to identify all tables thar are related to the problem. The tables are:

- jiresource and jifileresource (Stores files and other resources like the schema definition and so on).

- jiolapclientconnection, jixmlaconnection and jimondrianconnection (these tables deal with olap, xmla and mondrian connections).

- jimondrianxmladefinition (This is the table that presents the problem). In this table you have to insert your relation to the available resources. So, you have to insert a new record with the appropiate ID, the name of your catalog and the id of the mondrian connection. This solves your problem. Initially, the table contains:

MYSQL>select * from jimondrianxmladefinition;
+----+----------+--------------------+
| id | catalog  | mondrianConnection |
+----+----------+--------------------+
| 56 | Foodmart |                  7 |
| 57 | SugarCRM |                 11 |
+----+----------+--------------------+

 

if your catalog is called "mytest" and your ID mondrian connection is 67 you can insert a record and get this result:

 

select * from jimondrianxmladefinition;
+----+----------+--------------------+
| id | catalog  | mondrianConnection |
+----+----------+--------------------+
| 56 | Foodmart |                  7 |
| 57 | SugarCRM |                 11 |
| 58 | mytest |                 67 |
+----+----------+--------------------+

I hope that Jasper people can fix this issue soon

Best regards!

 

Link to comment
Share on other sites

  • 1 month later...

anewby,

 

What you were doing seemed fine. The Catalog in the Mondrian XML/A Definition should be what is known as the DataSource in the XML/A Connection DataSource string. Was the URL for the XML Connection fine, like http://localhost:8080/jasperserver/xmla ?

 

You can turn on debugging to see what catalogs are available.In WEB-INF/log4j.properties, set:

 

log4j.logger.com.jaspersoft.jasperserver.war.xmla.XmlaServletImpl=debug

 

On server startup you will see lines in WEB-INF/logs/jasperserver.log like:

 

loading DataSource name=Provider="mondrian";DataSource="Foodmart";, info=Provider="mondrian";DataSource="Foodmart";, url=<server URL>

 

Sherman

Jaspersoft

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...