...
<GATEWAY_HOME>/data/services
directory you will need to create a parent and child directory exampleexampleui/0.0.1
. As a convention the names of these directories duplicate the values in the attributes of the root element of the contained service.xml.Create the two files with the content shown below and place them in the directories indicated. The links also provide the files for your convenience.
Code Block |
---|
<service role="EXAMPLEUI" name="exampleui" version="0.0.1"> <policies> <policy role="webappsec"/> <policy role="authentication" name="Anonymous"/> <policy role="rewrite"/> <policy role="authorization"/> </policies> <routes> <route path="/example"> </route> <route path="/example/**"> </route> </routes> <dispatch classname="org.apache.hadoop.gateway.dispatch.PassAllHeadersDispatch"/> </service> |
Code Block |
---|
<rules> <rule dir="IN" name="EXAMPLEUI/exampleui/inbound/root" pattern="*://*:*/**/example/"> <rewrite template="{$serviceUrl[EXAMPLEUI]}/"/> </rule> <rule dir="IN" name="EXAMPLEUI/exampleui/inbound/path" pattern="*://*:*/**/example/{**}"> <rewrite template="{$serviceUrl[EXAMPLEUI]}/{**}"/> </rule> </rules> |
Once that is complete, the topology file must be updated to activate this new service in the runtime. In this case the sandbox.xml topology file is used but you may have another topology file such as default.xml. Edit which ever topology file you prefer and add the… markup shown below. If you aren’t using sandbox.xml be careful to replace sandbox with the name of your topology file through these examples.
<GATEWAY_HOME>/conf/topologies/sandbox.xml
Code Block |
---|
<topology> ... <service> <role>EXAMPLEUI</role> <url>http://localhost:3000</url> </service> </topology> |
With all of these changes made you must restart your Knox gateway server. Often times this isn’t necessary but adding a new service definition under [<GATEWAY_HOME>/data/services requires restart.
...