You may want to publish a REST provider on a node other than the GUI node. You may have this requirement in both single node and multiple nodes (clustered) environment. To achieve this, Adeptia Suite equips you with a feature to define a custom port and then publish the provider on that port. Doing this, you can have different web service providers running on different nodes.
The following section explains how to add a custom port and publish a provider on that port.
Defining custom port in jetty.xml and wsapi.xml files
Changes in jetty.xml file
- Go to ...<AdeptiaInstallfolder>/AdeptiaServer/ServerKernel/etc/jetty location.
- Open jetty.xml file.
Define a custom port by adding and updating the following section:
<Call name="addConnector"> <Arg> <New id="HttpsConnectorB" class="org.eclipse.jetty.server.ServerConnector"> <Arg name="server"><Ref refid="Server" /></Arg> <Arg name="sslContextFactory"><Ref refid="sslContextFactory2" /></Arg> <Arg name="factories"> <Array type="org.eclipse.jetty.server.ConnectionFactory"> <Item> <New class="org.eclipse.jetty.server.HttpConnectionFactory"> <Arg name="config"><Ref refid="httpConfig" /></Arg> </New> </Item> <Item> <New class="org.eclipse.jetty.http2.server.HTTP2CServerConnectionFactory"> <Arg name="config"><Ref refid="httpConfig" /></Arg> </New> </Item> </Array> </Arg> <Set name="name">HttpsConnectorB</Set> <Set name="port"><SystemProperty name="abpm.webserver.https.port" default="8443"/></Set> <Set name="idleTimeout"><Property name="solr.jetty.http.idleTimeout" default="120000"/></Set> <Set name="soLingerTime"><Property name="solr.jetty.http.soLingerTime" default="-1"/></Set> <Set name="acceptorPriorityDelta"><Property name="solr.jetty.http.acceptorPriorityDelta" default="0"/></Set> <Set name="acceptQueueSize"><Property name="solr.jetty.http.acceptQueueSize" default="0"/></Set> <Set name="reuseAddress">false</Set> </New> </Arg> </Call>
In the code block, update the following parameters:
Update the value of New id for the id parameter in following block code:
<New id="HttpsConnectorB" class="org.eclipse.jetty.server.ServerConnector">By default, the value of New id is "HttpsConnectorB".
Mention the same New id value in the following block code:
<Set name="name">HttpsConnectorB</Set>Set the port number in following block code:
<Set name="port"><SystemProperty name="abpm.webserver.https.port" default="8443"/></Set>
- Save the file.
Changes in wsapi.xml file
- Mention new id for the id parameter in following block code
<New id="HttpsConnectorB" class="org.eclipse.jetty.server.ServerConnector">
Bydefault, it is " HttpsConnectorB".
b) Mention the id (which is mentioned in the first step) in the following block code:-
<Set name="name">HttpsConnectorB</Set>
c) Mention port number in following block code:-
<Set name="port"><SystemProperty name="abpm.webserver.https.port" default="8443"/></Set>
4. Save to file
5. Go to ...<AdeptiaSuiteInstallfolder>/AdeptiaServer\ServerKernel\etc\jetty\contexts location.
6. Open the wsapi.xml file.
7. Define a custom port by adding and updating the following section:
<Set name="virtualHosts">
<Array type="String">
<Item>@HttpConnectorA</Item>
</Array>
</Set>
Mention id (which is defined in the jetty.xml file) in the following block code:-
<Item>@HttpConnectorA</Item>
8. Save the file
Once you have done the changes in both jetty.xml and wsapi.xml files, restart the Server.
The port will be visible in the Select Port drop-down list while creating or editing the REST Provider.
Select the port number other than the default port (ServerGUI port) while creating or editing a provider. You can publish only one port at a time.
Click Yes, Publish it to confirm.
Once published, a confirmation message is displayed.