0

我正在升级一个控制台应用程序,它是读取 Outlook 公用文件夹。当我手动运行时它工作正常。但在通过 IBM Tivoli Workload Scheduler 运行时抛出异常。

所以试图给收件箱文件夹名称而不是公用文件夹名称。然后它在调度程序中也可以正常工作。所以只有我在尝试单独阅读公用文件夹时遇到错误

IMAPISession::OpenMsgStore 中的错误:MAPI_E_FAILONEPROVIDER ulVersion:0 错误:尝试登录 Microsoft Exchange 失败。组件:Microsoft Exchange 信息存储 ulLowLevelError:1144 ulContext:1298

var session = new RDOSession();
session.Logon(string.Empty, string.Empty, false, true, null, null);
session.Stores.FindExchangePublicFoldersStore();
var publicFolder = session.GetFolderFromPath(folderPath);

公共文件夹:

\\公共文件夹 - example@domain.com\所有公共文件夹\XXX 文件夹\YYY/对象和数据\ZZZ\

  • 不工作

收件箱文件夹:

\\example@domain.com\收件箱

  • 在职的

编辑:添加日志并找出 Exchange 连接模式更改

手动运行 ExchangeConnectionMode:olCachedConnectedFull

调度程序运行 ExchangeConnectionMode:olOnline

注意:我们使用Redemption.dll - 5.10

更新: 旧服务器使用 Redemption.dll - 5.2 和 Outlook 2003 与 Exchange Server 2010。它也适用于 TWS。新服务器使用 Redemption.dll - 5.10 和 Outlook 2016 与 Exchange Server 2010。但不适用于 TWS。

4

2 回答 2

0

很可能公用文件夹存储未缓存,因此当您在服务(调度程序)下登录时,存储提供者没有打开存储的凭据。

于 2019-05-17T15:30:21.520 回答
0

对于这个问题修复,我们需要做两件事:

  1. 点击交易平台作业中的交互 选项
  2. 购买最新 Redemption.dll的可分发版本并使用它
于 2019-06-27T14:04:28.297 回答