Enable the “Export” Endpoint of the Web Container¶
This section explains how to enable the endpoint
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:9443/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:
Stop all the components of this installation.
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.
Edit the file
<DENODO_HOME>/resources/apache-tomcat/conf/tomcat-users.xmland 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
passwordyou 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”.
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
<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>
Restart the components of this installation.
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
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;