我有一个集群 OpenText Content Server 10.5 Update 2015-09 安装以及一个在 Windows 2012R2 上使用 Microsoft Cluster 运行的集群存档服务器。
集群模式是主动/被动。
配置如下:
MS 服务器集群:响应以 .99 结尾的地址
- 节点 1:OTCS 应用程序 ON 响应以 .47 结尾的 vip 地址
- 节点 2:OTCS 应用关闭
MS 服务器集群:响应以 .98 结尾的地址
- 节点 1:OTAS 应用程序 ON 响应以 .48 结尾的 vip 地址
- 节点 2:OTAS 应用关闭
我有一个调用 OT Java Web 服务的应用程序配置为直接指向集群地址,而不是单个服务器。
我遵循的步骤是:
- 首先对安装在 AS 服务器上的 OTDS 进行身份验证,利用使用
otdsws/services/Authentication wsdl
构建的客户端。这会为用户返回一个 OTDSSO token 。 - 使用 ValidateUser 方法和 OTDSSO 作为参数对 CS 进行用户验证,由
cws/Authentication.svc wsdl
构建
问题是: 当应用程序启动时,它可以使用 WS 与 CS 服务器正确通信,但是当集群切换到另一个节点时,为了调用 ValidateUser 方法而构建的 url 对应于 MS 集群 vip (.99) 而不是 OTCS 应用程序 vip (. 47).
只要这些应用程序在不同的节点上,我就会收到以下错误:
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
我使用 SoapUI 执行了同样的测试,得到了同样的错误。 我想知道为什么调用被路由到集群应用程序 vip 而不是 OTCS 应用程序 vip。
2015-12-15 更新
还按照@Matthew Barben 的建议验证了安全参数配置设置,但没有成功。 似乎默认允许每个IP调用OTCS系统,实际上从帮助页面读取:
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.
最佳答案
检查已部署的 CWS Web 服务的 web.xml
(Tomcat 端)或 web.config
(IIS 端)文件。在第一行检查 livelink.host
值并修改它以反射(reflect)您的系统配置
?xml version="1.0" encoding="utf-8"?> <configuration> <appSettings>
<add key="livelink.host" value="yourContentServerHost.yourdomain.com" />
<add key="livelink.port" value="2099" />
这个参数处理web服务和CS之间的连接
重新启动网络服务并测试您的自定义应用。
关于java - 在集群 OpenText CS/AS 服务器环境上调用用户验证时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34224887/