Try OpenEdge Now
skip to main content
Administration Guide
Overview of PAS for OpenEdge administration : Transport URLs : Modifying the WEB transport URL
 

Modifying the WEB transport URL

The WEB transport handles requests and responses that use standard HTTP verbs. This includes interaction with clients such as WebSpeed and OpenHTTP.
If you want to change the default /web URL, you can add additional handlers and map them to different URLs, or you can change the mappings of the default handlers.
The WEB transport, which supports streaming HTTP applications, supports two default URL handlers:
*The OpenEdge.Web.CompatibilityHandler provides compatibility with WebSpeed SpeedScript and CGI Wrapper applications. This is the default handler used in an instance in a development environment.
*The OpenEdge.Web.DefaultWebHandler handler returns 405 Method Not Allowed errors for requests that are not mapped to the handler. This is the default handler used in an instance in a production environment
You can add additional handlers in the instance's openedge.properties file and map them to specific URLs. For example:
defaultHandler=OpenEdge.Web.CompatibilityHandler
handler1=SportsHandler:/mycustomer
handler2=Sportshandler:/mycustomer/{custid}
In addition, you can change the URL mappings of the default handlers by editing the configuration files described in the following sections.

WEB-INF/web.xml

The WEB transport is defined as a servlet in the OEABL application's WEB-INF/web.xml file. Look for the section headed by <servlet-name>OEWebServlet</servlet-name>.
After the servlet definition, you will see a <context-param> and a <servlet-mapping> section, where you can change the default WEB URL. The example below shows in bold where the WEB URL is defined.
<!-- The context parameter and URL mapping must be consistent if
you are looking to modify the URL space -->
<context-param>
<param-name>OEWebURL</param-name>
<param-value>/web</param-value>

</context-param>
<servlet-mapping>
<servlet-name>OEWebServlet</servlet-name>
<url-pattern>/web/*</url-pattern>

</servlet-mapping>
If you modify the default URL, make sure that both parm-value (referenced by the servlet) and url-pattern (referenced by the Tomcat server) have the same URL path.

WEB-INF/oeablsecurity-*.xml

If you changed the WEB URL path in the web.xml file, you must also change it in the security configuration file that you are using.
If you are using anonymous security (oeablSecurity-anonymous.xml), then you need to change modify the default intercept URL definition that is shown below.
<intercept-url pattern="/web/**"
access="hasAnyRole('ROLE_ANONYMOUS')"/>
If you are using one of the other security files, you must change the intercept URL shown above and the HTTP definition shown below.
<http pattern="/web/**"

auto-config="true"
use-expressions="true"
create-session="stateless"
disable-url-rewriting="true"
authentication-manager-ref="oeablApplicationAuth"
realm="OpenEdge" >
Note that the URL patterns specified in the security files must match the URLs specified in the web.xml file.