Search code examples
javaweb-servicesopentext

Getting error while calling user validation on a clustered OpenText CS/AS Server Environment


I have a clustered OpenText Content Server 10.5 Update 2015-09 installation along with a clustered Archive Server operating with Microsoft Cluster on Windows 2012R2.

The cluster mode is active/passive.

The configuration is the following:

MS Server Cluster: responding on an address ending with .99

  • Node 1: OTCS application ON responding on a vip address ending with .47
  • Node 2: OTCS application OFF

MS Server Cluster: responding on an address ending with .98

  • Node 1: OTAS application ON responding on a vip address ending with .48
  • Node 2: OTAS application OFF

I have an application that calls OT Java Web Services configured to point directly to the cluster address, not to the single servers.

The step I followed are:

  1. Authentication against OTDS mounted on the AS server first, exploting the client built using otdsws/services/Authentication wsdl. This returns an OTDSSO token for the user.
  2. User validation against CS using ValidateUser method and the OTDSSO as parameter, built by the cws/Authentication.svc wsdl

The problem is: when the application starts it can correctly communicate with the CS server using WS but when the cluster switches on the other node the url build in order to call the ValidateUser method corresponds to the MS cluster vip (.99) instead of OTCS application vip (.47).

As long as these applications are on different nodes I get the following error:

Could not access server. No connection could be made because the target machine actively refused it 172.30.136.99:2099 at OpenText.Livelink.Service.Core.ExceptionUtil.handleException(Exception ex) at OpenText.Livelink.Service.Core.Authentication.ValidateUser(String capToken) at OpenText.Livelink.Service.Core.Authentication_WCF.ValidateUser(ValidateUserRequest request) at SyncInvokeValidateUser(Object , Object[] , Object[] )
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs) at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc) at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet) OpenText.Livelink.Service.Core.ServiceException

I performed the same test using SoapUI getting the same error. I'm wondering why the call is routed to the cluster application vip instead of the OTCS application vip.

Update 2015-12-15

Also verified the security parameters configuration settings as suggested by @Matthew Barben, but with no success. It seems that every IP is allowed to call the OTCS system by default, in fact reading from the help page:

Content Server Client Hosts

The Content Server Client Hosts field contains the IP addresses of servers from which requests are to be accepted. By default, the field is blank, and all client connections are accepted.


Solution

  • Check the web.xml (Tomcat side) or web.config (IIS side) file for the deployed CWS web service. On the very first lines check the livelink.host value and modify it to reflect your system configuration

    ?xml version="1.0" encoding="utf-8"?> <configuration>   <appSettings>
        <add key="livelink.host" value="yourContentServerHost.yourdomain.com" />
        <add key="livelink.port" value="2099" />
    

    This parameter handles the connection between the web service and CS

    Restart web services and test your custom app.