Exchange server Exchange 2013 EWS API创建日历项
我刚升级到Exchange 2013。我可以代表其他Exchange用户连接并发送电子邮件。但我无法代表其他用户插入日历事件。我正在使用Coldfusion 9和EWS API 我得到了错误; 系统试图使用未定义的值,该值通常表示代码或某些系统代码中存在编程错误 它指向那条线; 附件开始=#CreateDateTime(2014,05,05,09,00,00)# 我可以为测试目的硬编码日期/时间吗 我试过了;附件开始日期='2014/05/05 09:00:00' 但我也犯了同样的错误Exchange server Exchange 2013 EWS API创建日历项,exchange-server,exchangewebservices,Exchange Server,Exchangewebservices,我刚升级到Exchange 2013。我可以代表其他Exchange用户连接并发送电子邮件。但我无法代表其他用户插入日历事件。我正在使用Coldfusion 9和EWS API 我得到了错误; 系统试图使用未定义的值,该值通常表示代码或某些系统代码中存在编程错误 它指向那条线; 附件开始=#CreateDateTime(2014,05,05,09,00,00)# 我可以为测试目的硬编码日期/时间吗 我试过了;附件开始日期='2014/05/05 09:00:00' 但我也犯了同样的错误 <
<cfobject type="Java" class="microsoft.exchange.webservices.data.ExchangeService" name="service">
<cfset service.init()>
<cfobject type="Java" class="microsoft.exchange.webservices.data.ExchangeVersion" name="version">
<cfset service.init(version.Exchange2010)>
<cfobject type="Java" class="microsoft.exchange.webservices.data.WebCredentials" name="credentials">
<cfset credentials.init("v@t.com","password")>
<cfset service.setCredentials(credentials) />
<cfobject type="Java" class="java.net.URI" name="uri">
<cfset uri.init("https://exch999.serverdata.net/EWS/Exchange.asmx?wsdl")>
<cfset service.setUrl(uri) />
以下代码作为解决方案进行了编辑
<cfoutput>
<cfobject type="Java" class="microsoft.exchange.webservices.data.Appointment" name="appointment">
<cfset appointment.init( service )>
<cfobject type="Java" class="microsoft.exchange.webservices.data.MessageBody" name="MessageBody">
<!--- <cfset MessageBody.init( service )> --->
<cfscript>
appointment.setStart(#createDateTime(Year(Arguments.EventStartDateTime), Month(Arguments.EventStartDateTime),Day(Arguments.EventStartDateTime), evaluate(Hour(Arguments.EventStartDateTime) - val(attributes.AdminTimeZone)), Minute(Arguments.EventStartDateTime), 0)#);
appointment.setEnd(#createDateTime(Year(Arguments.EventEndDateTime), Month(Arguments.EventEndDateTime),Day(Arguments.EventEndDateTime), evaluate(Hour(Arguments.EventEndDateTime) - val(attributes.AdminTimeZone)), Minute(Arguments.EventEndDateTime), 0)#);
/*appointment.StartTimeZone(TimeZoneInfo.Local);
appointment.EndTimeZone(TimeZoneInfo.Local);*/
appointment.setSubject("#Arguments.EventName#");
appointment.setBody(MessageBody.getMessageBodyFromText("#Arguments.EventDescription#"));
/*appointment.IsReminderSet(false);*/
appointment.Save();
</cfscript>
</cfoutput>
约会.setStart(#createDateTime(年(参数.EventStartDateTime)、月(参数.EventStartDateTime)、日(参数.EventStartDateTime)、评估(小时(参数.EventStartDateTime)-val(属性.AdminTimeZone))、分钟(参数.EventStartDateTime)、0)#;
约会.setEnd(#createDateTime(年(参数.EventEndDateTime)、月(参数.EventEndDateTime)、日(参数.EventEndDateTime)、评估(小时(参数.EventEndDateTime)-val(属性.AdminTimeZone))、分钟(参数.EventEndDateTime)、0)#;
/*预约:StartTimeZone(TimeZoneInfo.Local);
约会。结束时区(TimeZoneInfo.Local)*/
appointment.setSubject(“#Arguments.EventName#”);
appointment.setBody(MessageBody.getMessageBodyFromText(“#Arguments.EventDescription#”);
/*任命。IsReminderSet(错误)*/
Save();
错误是否是由于“2014,05”中的多余空格造成的?如果你把它改成,它能修复吗?事实上,错误就在应该修复的地方。现在我得到了错误;必须先加载或分配此属性,然后才能读取其值。在设置/获取之前尝试读取某个内容时,会引发此错误。这个错误是在哪一行抛出的?