2

JAVA Domino API を介して Lotus から Exchange に予定表の招待状を送信しようとしています。ある Lotus アカウントから別の Lotus アカウントに招待状を送信すると、成功します。しかし、同じものを一部の Exchange メール アカウントに送信すると、Exchange はそれを招待状として表示しません。

これに使用しているコードは次のとおりです。

package com.test;

import java.util.Date;
import java.util.Vector;

import lotus.domino.Database;
import lotus.domino.DateTime;
import lotus.domino.Document;
import lotus.domino.NotesFactory;
import lotus.domino.Session;
import lotus.entity.Meeting;

import com.data.Strings;

public class CalenderTest {

    public static void main(String[] args){

        Vector<String> sendTo = new Vector<String>();
        sendTo.add("xxxx.xx.com");

        Meeting m =  new Meeting();
        m.setDate("04-04-2013");
        m.setTime("06:06:06");
        m.setHours("4");
        m.setChair("xxxx.xx.com");
        m.setSubject("Testing Calendar");
        m.setLocation("TestLocation");
        m.setBody("TestBody");
        m.setSendTo(sendTo);

        try
        {
            Session s = NotesFactory.createSessionWithIOR(Strings.IOR, "xxxxxxx", "xxxxx");
            Database db = s.getDatabase(s.getServerName(), "xxxx");

            Document doc1 = db.createDocument(); 
            doc1.appendItemValue("Form","Notice"); 
            doc1.appendItemValue("NoticeType","I");
            doc1.appendItemValue("_ViewIcon","133.0"); 
            doc1.appendItemValue("AppointmentType","3"); 
            Session stmp = db.getParent(); 
            String[] date = m.getDate().split("-");
            String[] time = m.getTime().split(":");
            Date exdate = new Date();
            exdate.setDate(Integer.parseInt(date[0]));
            exdate.setHours(Integer.parseInt(time[0]));
            exdate.setMinutes(Integer.parseInt(time[1]));
            exdate.setMonth(Integer.parseInt(date[1])-1);
            exdate.setSeconds(Integer.parseInt(time[2]));
            exdate.setYear(Integer.parseInt(date[2])-1900);
            System.out.println(exdate.toString());
            DateTime currTime =  stmp.createDateTime(exdate); 
            doc1.appendItemValue("StartDateTime",currTime) ; 
            doc1.appendItemValue("CalendarDateTime",currTime); 
            doc1.appendItemValue("StartDate",currTime) ; 
            doc1.appendItemValue("StartTime",currTime) ; 
            currTime.adjustHour(Integer.parseInt(m.getHours()), true); 
            doc1.appendItemValue("EndDateTime",currTime) ; 
            doc1.appendItemValue("EndDate",currTime) ; 
            doc1.appendItemValue("EndTime",currTime) ; 
            doc1.appendItemValue("$NoPurge",currTime) ; 
            doc1.appendItemValue("Subject",m.getSubject());  
            doc1.appendItemValue("Location",m.getLocation()); 
            doc1.appendItemValue("Body",m.getBody()); 
            doc1.appendItemValue("From",s.getUserName());
            doc1.appendItemValue("Chair",m.getChair());
            doc1.appendItemValue("RequiredAttendees",m.getSendTo());
            doc1.appendItemValue("OPTIONALATTENDEES",m.getCopyTo());
            doc1.computeWithForm(true, false);
            doc1.save(true, false, false);
            doc1.send(m.getSendTo());
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
}

誰でも提案できますか?

4

2 に答える 2

3

1 つの可能性は、 .icsファイルを送信することです。

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
BEGIN:VEVENT
UID:uid1@example.com
DTSTAMP:19970714T170000Z
ORGANIZER;CN=John Doe:MAILTO:john.doe@example.com
DTSTART:19970714T170000Z
DTEND:19970715T035959Z
SUMMARY:Bastille Day Party
END:VEVENT
END:VCALENDAR

http://en.wikipedia.org/wiki/ICalendar

関連する質問は次のとおりです。

Lotus Notes から icalendar を使用して Microsoft Exchange に会議出席依頼を送信できない

于 2013-02-06T13:11:51.447 に答える