org.opennms.web.api.Util.calculateUrlBase( request ) is used throughout the OpenNMS web UI to compute the base URL. Unfortunately it's not used consistently. Sometimes when it's used it's assumed that the returned value has a trailing backslash. For example it is used in the ActionDiscoveryServlet like this:
In other cases a backslash is added, as in NodeLabelChangeServlet:
response.sendRedirect(Util.calculateUrlBase(request) + "/element/node.jsp?node=" + nodeIdString);
This causes some URLs in the web UI to have a double backslash, that causes a 404 because
of the extra backslash:
I've attached a patch that compiles, but hasn't been tested yet...