Bug 199381 base_url not used for SOAP Request
Scenario: using the BIRT viewer behind a reverse proxy which change the request URL It is possible to specify a baseurl in the property file "viewer.properties" which is used in the generated jsp-files. So in you can change teh JSP files to the nedded (extern) URL. Anyhow the SOAP request are generated using the request URL (and therefore the reports are not displayed when the birtviewer is installed behind a reverse proxy). To change this Problem the class BirtSoapMessageDispatcherServlet.java have to be patched: In the Method doPost the soapURL is generated by the followig statement String soapURL = request.getRequestURL( ).toString( ); For solving this problem you have to replace this statements with the following String soapURL = request.getRequestURL( ).toString( ); if (ParameterAccessor.getBaseURL() != null) { soapURL = ParameterAccessor.getBaseURL() + request.getContextPath() + request.getServletPath(); } If a BaseURL parameter exists it is used to generate the URL. I hope you add this to the next release. BIRT ist a great tool!!!! Mit freundlichen Gruen / best regards Dr. Arndt Schonberg
viewer/org.eclipse.birt.report.viewer/birt/WEB-INF/classes/org/eclipse/birt/report/servlet/BirtSoapMessageDispatcherServlet.java
.getException( ) );
			}
			else
			{
				__doGet( context );
			}
		}
		catch ( BirtException e )
		{
			__handleNonSoapException( request, response, e );
		}
	}
	/**
	 * Handle HTTP POST method.
	 * 
	 * @param request
	 *            incoming http request
	 * @param response
	 *            http response
	 * @exception ServletException
	 * @exception IOException
	 * @return
	 */
	public void doPost( HttpServletRequest request, HttpServletResponse response )
			throws ServletException, IOException
	{
		if ( !__authenticate( request, response ) )
		{
			return;
		}