Hi,
I was looking for a way to publish files (xaction, cda, wcdf, wcde) to the server without having to access it through a ssh or ftp (I mean without 3rd part tools) and I endup finding the "RepositoryFilePublisher" as somethigs that could work... I read up the source from:
http://grepcode.com/file/repository.pentaho.org$artifactory$pentaho@pentaho$pentaho-bi-platform-web-servlet@4.4-SNAPSHOT@org$pentaho$platform$web$servlet$RepositoryFilePublisher.java
And as far as I notice it alredy works for PME... My guess is... PME post a xmi file plus some fields:
So... I plot at my machine a webserver and try to make a simple form to send a "file" (cda) with the fields filled... like:
The publish process works fine with PME (with passwords etc...) so the info are currect... but when I submit I got:
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
java.lang.NullPointerException org.pentaho.platform.web.servlet.RepositoryFilePublisher.doPublish(RepositoryFilePublisher.java:133) org.pentaho.platform.web.servlet.RepositoryFilePublisher.doGet(RepositoryFilePublisher.java:107) org.pentaho.platform.web.servlet.RepositoryFilePublisher.doPost(RepositoryFilePublisher.java:76) javax.servlet.http.HttpServlet.service(HttpServlet.java:637) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.pentaho.platform.web.http.filters.PentahoWebContextFilter.doFilter(PentahoWebContextFilter.java:92) org.pentaho.platform.web.http.filters.PentahoRequestContextFilter.doFilter(PentahoRequestContextFilter.java:84) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378) org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109) org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.pentaho.platform.web.http.security.SecurityStartupFilter.doFilter(SecurityStartupFilter.java:103) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.pentaho.platform.web.http.security.RequestParameterAuthenticationFilter.doFilter(RequestParameterAuthenticationFilter.java:169) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:174) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:278) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.pentaho.platform.web.http.security.HttpSessionReuseDetectionFilter.doFilter(HttpSessionReuseDetectionFilter.java:134) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:175) org.springframework.security.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:99) org.pentaho.platform.web.http.filters.SystemStatusFilter.doFilter(SystemStatusFilter.java:60) org.pentaho.platform.web.http.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:113) note The full stack trace of the root cause is available in the Apache Tomcat/6.0.29 logs.
Apache Tomcat/6.0.29
So... I missing somethings... but... what? I see no file type validation and there is no error at catalina.out
I was looking for a way to publish files (xaction, cda, wcdf, wcde) to the server without having to access it through a ssh or ftp (I mean without 3rd part tools) and I endup finding the "RepositoryFilePublisher" as somethigs that could work... I read up the source from:
http://grepcode.com/file/repository.pentaho.org$artifactory$pentaho@pentaho$pentaho-bi-platform-web-servlet@4.4-SNAPSHOT@org$pentaho$platform$web$servlet$RepositoryFilePublisher.java
And as far as I notice it alredy works for PME... My guess is... PME post a xmi file plus some fields:
Code:
String publishPath = request.getParameter("publishPath"); //$NON-NLS-1$![]()
86 String publishKey = request.getParameter("publishKey");//$NON-NLS-1$
87 String jndiName = request.getParameter("jndiName");//$NON-NLS-1$
88 String jdbcDriver = request.getParameter("jdbcDriver");//$NON-NLS-1$
89 String jdbcUrl = request.getParameter("jdbcUrl");//$NON-NLS-1$
90 String jdbcUserId = request.getParameter("jdbcUserId");//$NON-NLS-1$
91 String jdbcPassword = request.getParameter("jdbcPassword");//$NON-NLS-1$
92 boolean overwrite = Boolean.valueOf(request.getParameter("overwrite")).booleanValue(); //$NON-NLS-1$
93 boolean mkdirs = Boolean.valueOf(request.getParameter("mkdirs")).booleanValue(); //$NON-NLS-1$
Code:
<form action="http://MY_URL/pentaho/RepositoryFilePublisher?userid=MYUSER&password=MYPASS" method="post" enctype="multipart/form-data">
Publish Path: <input type="text" name="publishPath" value="MY_FOLDER" />
Publish pass: <input type="text" name="publishKey" value="MY_PUBLISH_PASS" /><BR>
Userid: <input type="text" name="userid" value="MY_USERID" />
Password: <input type="text" name="password" value="MY_USER_PASSWORD"/><BR>
JNDI: <input type="text" name="jndiName" value="JNDINAME"/>
JDBC Driver: <input type="text" name="jdbcDriver" value="org.postgresql.Driver"/><BR>
JDBC URL: <input type="text" name="jdbcUrl" value="jdbc:postgresql://MYIP/MYDB"/>
JDBC User: <input type="text" name="jdbcUserId" value="DBUSER"/><BR>
JDBC Pass: <input type="text" name="jdbcPassword" value="DBPASS"/><BR>
Overwrite: <input type="checkbox" name="overwrite" />
Mkdir: <input type="checkbox" name="mkdirs" /><BR>
<input type="file" name="fileItems" /><BR>
<input type="submit"/>
</form>
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
java.lang.NullPointerException org.pentaho.platform.web.servlet.RepositoryFilePublisher.doPublish(RepositoryFilePublisher.java:133) org.pentaho.platform.web.servlet.RepositoryFilePublisher.doGet(RepositoryFilePublisher.java:107) org.pentaho.platform.web.servlet.RepositoryFilePublisher.doPost(RepositoryFilePublisher.java:76) javax.servlet.http.HttpServlet.service(HttpServlet.java:637) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.pentaho.platform.web.http.filters.PentahoWebContextFilter.doFilter(PentahoWebContextFilter.java:92) org.pentaho.platform.web.http.filters.PentahoRequestContextFilter.doFilter(PentahoRequestContextFilter.java:84) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378) org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109) org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.pentaho.platform.web.http.security.SecurityStartupFilter.doFilter(SecurityStartupFilter.java:103) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.pentaho.platform.web.http.security.RequestParameterAuthenticationFilter.doFilter(RequestParameterAuthenticationFilter.java:169) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:174) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:278) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.pentaho.platform.web.http.security.HttpSessionReuseDetectionFilter.doFilter(HttpSessionReuseDetectionFilter.java:134) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390) org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:175) org.springframework.security.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:99) org.pentaho.platform.web.http.filters.SystemStatusFilter.doFilter(SystemStatusFilter.java:60) org.pentaho.platform.web.http.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:113) note The full stack trace of the root cause is available in the Apache Tomcat/6.0.29 logs.
Apache Tomcat/6.0.29
So... I missing somethings... but... what? I see no file type validation and there is no error at catalina.out