如何强制j-interop针对localhost使用ncalrpc?及DCOM认证错误解决
同一机器上OPC DA服务器异步轮询的DCOM认证问题
我们的应用程序无法以异步模式轮询运行在同一机器上的OPC DA服务器,Windows事件查看器的系统日志报错如下:
The server-side authentication level policy does not allow the user DESKTOP-AAAAA\Admin SID (S-1-5-21-239355189-745547292-2783995333-1001) from address 192.168.0.5 to activate DCOM server. Please raise the activation authentication level at least to RPC_C_AUTHN_LEVEL_PKT_INTEGRITY in client application.
相关背景信息:
- 此问题源于Microsoft DCOM强化机制,我们的应用已使用最高认证级别(高于
RPC_C_AUTHN_LEVEL_PKT_INTEGRITY),且DCOM配置符合OPC DA服务器提供商(Matricon Simulation)的建议。 - 从错误信息可推断,j-interop(或调用链中其他组件)误用了机器的网卡IP(192.168.0.5,为WiFi适配器动态IP),尽管我们已将JiSession目标主机设为127.0.0.1。
- 查看j-interop源码发现,它仅支持
ncacn_ip_tcpRPC端点,未针对localhost使用ncalrpc,这可能是问题根源。
现提出两个问题:
- 是否有人尝试过强制j-interop针对127.0.0.1(即localhost)使用
ncalrpc? - 是否有人解决过此类认证级别检查错误?
内容的提问来源于stack exchange,提问作者devaskim
相关产品推荐
相关产品推荐

