我有一个集群 OpenText Content Server 10.5 Update 2015-09 安装以及一个集群存档服务器,该服务器在 Windows 2012R2 上与 Microsoft 集群一起运行。
集群模式是主动/被动。
配置如下:
MS 服务器集群:响应以 .99 结尾的地址
- 节点 1:OTCS 应用程序打开响应以 .47 结尾的 vip 地址
- 节点 2:OTCS 应用程序关闭
MS 服务器集群:响应以 .98 结尾的地址
- 节点 1:OTAS 应用程序开启响应以 .48 结尾的 vip 地址
- 节点 2:OTAS 应用程序关闭
我有一个调用 OT Java Web 服务的应用程序,它被配置为直接指向集群地址,而不是单个服务器。
我遵循的步骤是:
- 首先对挂载在 AS 服务器上的 OTDS 进行身份验证,使用构建的客户端
otdsws/services/Authentication wsdl
. 这将为用户返回一个 OTDSSO 令牌。 - 使用 ValidateUser 方法和 OTDSSO 作为参数对 CS 进行用户验证,由
cws/Authentication.svc wsdl
问题是:当应用程序启动时,它可以使用 WS 与 CS 服务器正确通信,但是当集群打开另一个节点时,为了调用 ValidateUser 方法而构建的 url 对应于 MS 集群 vip (.99) 而不是 OTCS应用程序贵宾 (.47)。
只要这些应用程序位于不同的节点上,我就会收到以下错误:
无法访问服务器。无法建立连接,因为目标机器在 OpenText.Livelink.Service.Core.ExceptionUtil.handleException(Exception ex) 处的 OpenText.Livelink.Service.Core.Authentication.ValidateUser(String capToken) 处主动拒绝了它 172.30.136.99:2099 OpenText.Livelink.Service.Core.Authentication_WCF.ValidateUser(ValidateUserRequest request) at SyncInvokeValidateUser(Object , Object[] , Object[] )
在 System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(对象实例,Object[] 输入,Object[]& 输出)在 System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5( MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc) 在 System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet) OpenText.Livelink.Service.Core.ServiceException
我使用 SoapUI 执行了相同的测试,得到了相同的错误。我想知道为什么呼叫被路由到集群应用程序vip而不是OTCS应用程序vip。
2015-12-15 更新
还按照@Matthew Barben 的建议验证了安全参数配置设置,但没有成功。貌似默认允许每个IP调用OTCS系统,其实是从帮助页面看的:
内容服务器客户端主机
Content Server Client Hosts 字段包含要接受来自其请求的服务器的 IP 地址。默认情况下,该字段为空白,并且接受所有客户端连接。