【问题标题】:can't get recurrence end date using EWS java api无法使用 EWS java api 获取重复结束日期
【发布时间】:2012-12-11 23:05:59
【问题描述】:

我想使用 EWS java api 获取重复结束日期。

EWS java api 支持方法称为 Recurrence.getEndDate()。

但它不适用于我的项目。

递归类有 4 个得到method(getStartDate, getEndDate, getNumberOfOccurences, getClass)

我可以获得开始日期和课程,但其他人无法获得。

请任何人帮助我。

以下代码在我的项目中重复出现。谢谢:)

PropertySet propSet = new PropertySet(TaskSchema.Recurrence);

Task task = Task.bind(service,new ItemId(task_id),propSet);

Recurrence rec = task.getRecurrence();

rec.getEndDate();

rec.getNumberOfOccurrences();

【问题讨论】:

    标签: exchangewebservices recurrence


    【解决方案1】:

    我最近遇到了这个问题,发现这是因为 EWS Java API 中的一个错误。

    修复

    要修复该错误,您需要对 EWS Java API 1.2 中的两个地方的源代码进行更改(更改在 cmets 中):

    EndDateRecurrenceRange.java(第 63 行)

    protected void setupRecurrence(Recurrence recurrence) throws Exception {
        super.setupRecurrence(recurrence);
        this.endDate = recurrence.getEndDate(); // remove this line
        recurrence.setEndDate(this.endDate); // add this line
    }
    

    NumberedRecurrenceRange.java(第 61 行)

    protected void setupRecurrence(Recurrence recurrence) throws Exception {
        super.setupRecurrence(recurrence);
        this.numberOfOccurrences = recurrence.getNumberOfOccurrences(); // remove this line
        recurrence.setNumberOfOccurrences(this.numberOfOccurrences); // add this line
    }
    

    解释

    RecurrencePropertyDefinition 是从 EWS XML 响应中解析重复出现的类。在解析 XML 响应时,RecurrenceRange 类(如上面列出的类)用于设置重复字段,指定重复何时结束(例如结束日期、出现次数、无结束)。这是通过调用setupRecurrence() 来完成的。

    不幸的是,在上面提到的两个地方,开发人员错误地将RecurrenceRange 字段设置为 Recurrence 字段,而不是相反。因此,返回的Recurrence 对象中的endDatenumberOfOccurrences 字段永远不会设置,因此始终为null

    【讨论】:

    猜你喜欢
    • 2015-07-03
    • 1970-01-01
    • 2019-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-11
    • 2019-04-23
    • 1970-01-01
    相关资源
    最近更新 更多