When hostname name contains geoportal base path string e.g. http://geoportal.domain:8080/geoportal, the method 'getRootContextPath(HttpServletRequest)' from webhelp/index.jsp page throws exception saying that it can't open url to cxhelp.xml file.
It's caused by substring() called in com.esri.gpt.framework.context.RequestContext.resolveBaseContextPath(HttpServletRequest) - it cuts vital part of URI, e.g.
1. getRequestURL() = http://geoportal.domain:8080/geoportal/webhelp/index.jsp
2. getContextPath() = /geoportal
call to 1.substring(0, 2+length(2)) returns URI http://geoportal/webhelp/en/geoportal/cxhelp.xml which obviously isn't correct.
The simplest patch attached appends trailing '/' to ctxPath variable.
Regards
resolveBaseContextPath(HttpServletRequest) patched