#1 2018-08-24 20:11:53

bpeikes
Member
Registered: 2016-10-29
Posts: 63

Using CSV datasource via URL

Trying to create a report based on a service we've created that returns csv. I've set up a datasource as follows:
Name: TestCSV
Quotes: "
Separator: ,
Database cache: -1
Connector: URL Connector
URL:
http://USER:PWD@HOST:PORT/ServiceAPI/BulkData/?date=20180812&entity_id=1

I then create a Dynamic List report
Name: TestCSV
Datasource: TestCSV
Query Wrapper:
SELECT date, entity_id, account
FROM ($!{TMP_TABLENAME})

Then I try to test it, so I double click the report and try to select columns and I get the error below. Not sure why host = null

net.datenwerke.gxtdto.client.servercommunication.exceptions.NonFatalException: The report could not be executed: java.lang.IllegalArgumentException: protocol = http host = null<br>    at net.datenwerke.rs.base.server.table.TableReportUtilityServiceImpl.getReturnedColumns(TableReportUtilityServiceImpl.java:218)<br>    at com.google.inject.persist.jpa.JpaLocalTxnInterceptor.invoke(JpaLocalTxnInterceptor.java:66)<br>    at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:109)<br>    at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)<br>    at sun.reflect.GeneratedMethodAccessor173.invoke(Unknown Source)<br>    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br>    at java.lang.reflect.Method.invoke(Method.java:498)<br>    at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:587)<br>    at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:333)<br>    at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:109)<br>    at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)<br>    at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:303)<br>    at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:109)<br>    at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)<br>    at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:373)<br>    at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)<br>    at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)<br>    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)<br>    at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:109)<br>    at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)<br>    at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)<br>    at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)<br>    at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)<br>    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)<br>    at com.google.inject.persist.PersistFilter.doFilter(PersistFilter.java:89)<br>    at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)<br>    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)<br>    at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)<br>    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)<br>    at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)<br>    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)<br>    at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)<br>    at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)<br>    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)<br>    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)<br>    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)<br>    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94)<br>    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)<br>    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)<br>    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)<br>    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)<br>    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)<br>    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:509)<br>    at org.apache.coyote.ajp.AbstractAjpProcessor.process(AbstractAjpProcessor.java:877)<br>    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)<br>    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2508)<br>    at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2497)<br>    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)<br>    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)<br>    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)<br>    at java.lang.Thread.run(Thread.java:745)<br>Caused by: net.datenwerke.rs.core.service.reportmanager.exceptions.ReportExecutorException: The report could not be executed: java.lang.IllegalArgumentException: protocol = http host = null<br>    at net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:218)<br>    at net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:119)<br>    at net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:106)<br>    at net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:101)<br>    at net.datenwerke.rs.base.service.reportengines.table.TableReportUtilsImpl.getReturnedColumns(TableReportUtilsImpl.java:180)<br>    at net.datenwerke.rs.base.service.reportengines.table.TableReportUtilsImpl.getReturnedPlainColumns(TableReportUtilsImpl.java:144)<br>    at net.datenwerke.rs.base.server.table.TableReportUtilityServiceImpl.getReturnedColumns(TableReportUtilityServiceImpl.java:214)<br>    ... 50 more<br>Caused by: com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalArgumentException: protocol = http host = null<br>    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2199)<br>    at com.google.common.cache.LocalCache.get(LocalCache.java:3932)<br>    at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3936)<br>    at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4806)<br>    at net.datenwerke.rs.base.service.datasources.transformers.csv.Csv2XTransformer.transform(Csv2XTransformer.java:102)<br>    at net.datenwerke.rs.base.service.datasources.transformers.DatasourceTransformationServiceImpl.transform(DatasourceTransformationServiceImpl.java:29)<br>    at net.datenwerke.rs.core.service.reportmanager.engine.ReportEngine.transformDatasource(ReportEngine.java:240)<br>    at net.datenwerke.rs.base.service.reportengines.table.TableReportEngine.doExecuteNormal(TableReportEngine.java:172)<br>    at net.datenwerke.rs.base.service.reportengines.table.TableReportEngine.doExecuteNormal(TableReportEngine.java:151)<br>    at net.datenwerke.rs.base.service.reportengines.table.TableReportEngine.doExecute(TableReportEngine.java:88)<br>    at net.datenwerke.rs.core.service.reportmanager.engine.ReportEngine.execute(ReportEngine.java:148)<br>    at net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:186)<br>    ... 56 more<br>Caused by: java.lang.IllegalArgumentException: protocol = http host = null<br>    at sun.net.spi.DefaultProxySelector.select(DefaultProxySelector.java:176)<br>    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1132)<br>    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1032)<br>    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:966)<br>    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1546)<br>    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1474)<br>    at net.datenwerke.rs.base.service.datasources.connectors.UrlDatasourceConnector.getDataStream(UrlDatasourceConnector.java:47)<br>    at net.datenwerke.rs.base.service.datasources.definitions.FormatBasedDatasourceDefinition.getDataStream(FormatBasedDatasourceDefinition.java:46)<br>    at net.datenwerke.rs.base.service.datasources.transformers.csv.Csv2XTransformer.createTempTable(Csv2XTransformer.java:120)<br>    at net.datenwerke.rs.base.service.datasources.transformers.csv.Csv2XTransformer.access$0(Csv2XTransformer.java:111)<br>    at net.datenwerke.rs.base.service.datasources.transformers.csv.Csv2XTransformer$1.load(Csv2XTransformer.java:78)<br>    at net.datenwerke.rs.base.service.datasources.transformers.csv.Csv2XTransformer$1.load(Csv2XTransformer.java:1)<br>    at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3522)<br>    at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2315)<br>    at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2278)<br>    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2193)<br>    ... 67 more<br>

Offline

#2 2018-08-27 08:57:50

eduardo
Administrator
Registered: 2016-11-01
Posts: 822
Website

Re: Using CSV datasource via URL

Hi bpeikes,

can you please check again if you correctly saved the CSV datasource, i.e. is the complete URL correctly saved?
In my tests everything seems to work as expected.
Maybe you forgot to save the datasource after editing the URL, I ask just to make sure.

What is the exact reportserver version (rsversion.properties) ?

Regards,
Eduardo

Offline

Board footer

Powered by FluxBB