Enable the “Export” Endpoint of the Web Container

This section explains how to enable the endpoint https://denodo-server.acme.com:9090/export.

With Virtual DataPort you can publish data services (SOAP and REST web services). Our recommendation is to deploy them on the web container embedded in Denodo because they are easier to manage. However, you can export a web service to a war file, which you can deploy on a Java web container (IBM WebSphere, Oracle WebLogic…). When you export a web service to a war file, it is available in the directory <DENODO_HOME>/resources/apache-tomcat/webapps/export/. In addition, if you enable the endpoint “export”, it will be available in the URL https://denodo-server.acme.com:9090/export.

By default, this endpoint is disabled. You can enable it and protect it with password but the password mechanism is not integrated with Virtual DataPort.

To enable it, follow these steps:

  1. Stop all the components of this installation.

Important

The goal is to stop the web container of Denodo. It is important to stop them all so the Denodo web container is stopped as well. If for example, you stop Virtual DataPort but leave the Data Catalog started, the web container will not shut down and the following changes will not take effect.

  1. Edit the file <DENODO_HOME>/resources/apache-tomcat/conf/tomcat-users.xml and add the following:

    <role rolename="export_endpoint"/>
    <user username="export_endpoint" password="PASSWORD_FOR_EXPORT_ENDPOINT" roles="export_endpoint" />
    

    The file should end up looking like this:

    <tomcat-users>
        <role rolename="export_endpoint"/>
        <user username="export_endpoint" password="PASSWORD_FOR_EXPORT_ENDPOINT" roles="export_endpoint" />
    </tomcat-users>
    

    In the attributes username and password you can put the user name and password you want. These are the credentials the users will have to provide for this endpoint.

    You can add as many entries “<user>” as needed. In all of them, the value of the attribute “roles” has to be “export_endpoint”.

  2. Edit the file <DENODO_HOME>/resources/apache-tomcat/webapps/export/WEB-INF/web.xml. Search for this block of XML.

    <servlet-mapping>
        <servlet-name>listing</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
    

    Add the following block below </servlet-mapping>:

    <security-constraint>
        <web-resource-collection>
            <url-pattern>/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>export_endpoint</role-name>
        </auth-constraint>
    </security-constraint>
    <security-role>
        <role-name>export_endpoint</role-name>
    </security-role>
    <login-config>
        <auth-method>DIGEST</auth-method>
    </login-config>
    
  3. Restart the components of this installation.

  4. Log into Virtual DataPort with an administrator account and execute this:

    -- You do not need to restart for this command to take effect
    
    SET 'com.denodo.webcontainer.activateExportContext' = 'true';
    

After this, the users that want to connect to this endpoint will have to provide the user and password you entered in tomcat-users.xml.

If later you want to disable this endpoint, execute this:

-- You do not need to restart for this command to take effect

SET 'com.denodo.webcontainer.activateExportContext' = NULL;